bw-maven-plugin/src/main/java/fr/fastconnect/factory/tibco/bw/maven/packaging/ApplicationManagement.java
protected <T extends ServiceType> Properties getBindings(T service) {
		SortedProperties result = new SortedProperties();

		String serviceKey = getElementKey(service) + "[" + service.getName() + "]";

		Bindings bindings = service.getBindings();
		if (bindings != null) {			
			for (Binding binding : bindings.getBinding()) {
				String processKey = serviceKey + "/bindings/binding[" + binding.getName() + "]";
				String key;

				// machine
				key = processKey + "/machine";
				result.setProperty(key, binding.getMachine());

				// product
				if (binding.getProduct() != null) {
					key = processKey + "/product/type";
					result.setProperty(key, binding.getProduct().getType());
					key = processKey + "/product/version";
					result.setProperty(key, binding.getProduct().getVersion());
					key = processKey + "/product/location";
					result.setProperty(key, binding.getProduct().getLocation());
				}
				
				// container
				key = processKey + "/container";
				result.setProperty(key, binding.getContainer());
				
				// description
				key = processKey + "/description";
				result.setProperty(key, binding.getDescription());
				
				// contact
				key = processKey + "/contact";
				result.setProperty(key, binding.getContact());

				// setting
				Setting setting = binding.getSetting();
				if (setting != null) {
					key = processKey + "/setting/startOnBoot";
					result.setProperty(key,  setting.isStartOnBoot());
					key = processKey + "/setting/enableVerbose";
					result.setProperty(key, setting.isEnableVerbose());
					key = processKey + "/setting/maxLogFileSize";
					result.setProperty(key, setting.getMaxLogFileSize());
					key = processKey + "/setting/maxLogFileCount";
					result.setProperty(key, setting.getMaxLogFileCount());
					key = processKey + "/setting/threadCount";
					result.setProperty(key, setting.getThreadCount());
					NTService ntService = setting.getNTService();
					if (ntService != null) {
						key = processKey + "/setting/NTService/runAsNT";
						result.setProperty(key, ntService.isRunAsNT());
						key = processKey + "/setting/NTService/startupType";
						result.setProperty(key,  ntService.getStartupType());
						key = processKey + "/setting/NTService/loginAs";
						result.setProperty(key, ntService.getLoginAs());
						key = processKey + "/setting/NTService/password";
						result.setProperty(key, ntService.getPassword());
					}
					Java java = setting.getJava();
					if (java != null) {
						key = processKey + "/setting/java/prepandClassPath";
						result.setProperty(key, java.getPrepandClassPath());	
						key = processKey + "/setting/java/appendClassPath";
						result.setProperty(key, java.getAppendClassPath());	
						key = processKey + "/setting/java/initHeapSize";
						result.setProperty(key, java.getInitHeapSize());	
						key = processKey + "/setting/java/maxHeapSize";
						result.setProperty(key, java.getMaxHeapSize());	
						key = processKey + "/setting/java/threadStackSize";
						result.setProperty(key, java.getThreadStackSize());	
					}
				}

				// ftWeight
				key = processKey + "/ftWeight";
				result.setProperty(key, binding.getFtWeight());

				// shutdown
				Shutdown shutdown = binding.getShutdown();
				if (shutdown != null) {
					key = processKey + "/shutdown/checkpoint";
					result.setProperty(key, shutdown.isCheckpoint());
					key = processKey + "/shutdown/timeout";
					result.setProperty(key, shutdown.getTimeout());
				}
				
				// plugins
				// not supported (too complex)
				
				// NVPairs
				if (binding.getNVPairs() != null) {
					for (JAXBElement<? extends NVPairType> nvPair : binding.getNVPairs().getNVPair()) {
						key = processKey + "/variables/variable[" + nvPair.getValue().getName() + "]";
						result.setProperty(key, nvPair.getValue().getValue());
					}
				}
			}
		}
		
		return result;
	}
protected <T extends ServiceType> Properties getBindings(T service) {
		SortedProperties result = new SortedProperties();

		String serviceKey = getElementKey(service) + "[" + service.getName() + "]";

		Bindings bindings = service.getBindings();
		if (bindings != null) {			
			for (Binding binding : bindings.getBinding()) {
				String processKey = serviceKey + "/bindings/binding[" + binding.getName() + "]";
				String key;

				// machine
				key = processKey + "/machine";
				result.setProperty(key, binding.getMachine());

				// product
				if (binding.getProduct() != null) {
					key = processKey + "/product/type";
					result.setProperty(key, binding.getProduct().getType());
					key = processKey + "/product/version";
					result.setProperty(key, binding.getProduct().getVersion());
					key = processKey + "/product/location";
					result.setProperty(key, binding.getProduct().getLocation());
				}
				
				// container
				key = processKey + "/container";
				result.setProperty(key, binding.getContainer());
				
				// description
				key = processKey + "/description";
				result.setProperty(key, binding.getDescription());
				
				// contact
				key = processKey + "/contact";
				result.setProperty(key, binding.getContact());

				// setting
				Setting setting = binding.getSetting();
				if (setting != null) {
					key = processKey + "/setting/startOnBoot";
					result.setProperty(key,  setting.isStartOnBoot());
					key = processKey + "/setting/enableVerbose";
					result.setProperty(key, setting.isEnableVerbose());
					key = processKey + "/setting/maxLogFileSize";
					result.setProperty(key, setting.getMaxLogFileSize());
					key = processKey + "/setting/maxLogFileCount";
					result.setProperty(key, setting.getMaxLogFileCount());
					key = processKey + "/setting/threadCount";
					result.setProperty(key, setting.getThreadCount());
					NTService ntService = setting.getNTService();
					if (ntService != null) {
						key = processKey + "/setting/NTService/runAsNT";
						result.setProperty(key, ntService.isRunAsNT());
						key = processKey + "/setting/NTService/startupType";
						result.setProperty(key,  ntService.getStartupType());
						key = processKey + "/setting/NTService/loginAs";
						result.setProperty(key, ntService.getLoginAs());
						key = processKey + "/setting/NTService/password";
						result.setProperty(key, ntService.getPassword());
					}
					Java java = setting.getJava();
					if (java != null) {
						key = processKey + "/setting/java/prepandClassPath";
						result.setProperty(key, java.getPrepandClassPath());	
						key = processKey + "/setting/java/appendClassPath";
						result.setProperty(key, java.getAppendClassPath());	
						key = processKey + "/setting/java/initHeapSize";
						result.setProperty(key, java.getInitHeapSize());	
						key = processKey + "/setting/java/maxHeapSize";
						result.setProperty(key, java.getMaxHeapSize());	
						key = processKey + "/setting/java/threadStackSize";
						result.setProperty(key, java.getThreadStackSize());	
					}
				}

				// ftWeight
				key = processKey + "/ftWeight";
				result.setProperty(key, binding.getFtWeight());

				// shutdown
				Shutdown shutdown = binding.getShutdown();
				if (shutdown != null) {
					key = processKey + "/shutdown/checkpoint";
					result.setProperty(key, shutdown.isCheckpoint());
					key = processKey + "/shutdown/timeout";
					result.setProperty(key, shutdown.getTimeout());
				}
				
				// plugins
				// not supported (too complex)
				
				// NVPairs
				if (binding.getNVPairs() != null) {
					for (JAXBElement<? extends NVPairType> nvPair : binding.getNVPairs().getNVPair()) {
						key = processKey + "/variables/variable[" + nvPair.getValue().getName() + "]";
						result.setProperty(key, nvPair.getValue().getValue());
					}
				}
			}
		}
		
		return result;
	}
<p>
This method focuses on bindings found in these paths :
"/application/services/bw/bindings/binding"
"/application/services/adapter/bindings/binding"
</p>