package org.talend.esb.mep.requestcallback.beans; import java.util.Properties; import javax.xml.namespace.QName; import org.springframework.beans.factory.FactoryBean; public class JmsUriFactory extends JmsUriConfigurator implements FactoryBean<Properties> { public static final String CALLBACK_SERVICE_NAME_PROP = "callback.service.name"; public static final String CALLBACK_ENDPOINT_NAME_PROP = "callback.endpoint.name"; public static final String CALLBACK_ENDPOINT_ADDRESS_PROP = "callback.endpoint.address"; @Override public Properties getObject() throws Exception { return createProperties(); } @Override public Class<?> getObjectType() { return Properties.class; } @Override public boolean isSingleton() { return false; } private Properties createProperties() { final Properties result = new Properties(); final QName serviceName = getServiceName(); if (serviceName != null) { result.put(CALLBACK_SERVICE_NAME_PROP, serviceName); } final QName endpointName = getEndpointName(); if (endpointName != null) { result.put(CALLBACK_ENDPOINT_NAME_PROP, endpointName); } final String jmsAddress = getJmsAddress(); if (jmsAddress != null) { result.put(CALLBACK_ENDPOINT_ADDRESS_PROP, jmsAddress); } return result; } }