From e8f57dbdb95a958c6b3a9df78147760a3e18d5fc Mon Sep 17 00:00:00 2001 From: David Ward Date: Thu, 28 Jul 2011 14:35:26 -0400 Subject: [PATCH] SWITCHYARD-365: targetNamespace is being ignored by NamedModel.getQName() --- .../component/bean/ClientProxyBean.java | 23 ++- .../bean/SwitchYardCDIServiceDiscovery.java | 23 ++- .../config/model/BeanSwitchYardScanner.java | 8 +- .../bean/deploy/BeanComponentActivator.java | 7 +- .../bean/deploy/BeanDeploymentMetaData.java | 19 ++- .../bean/deploy/CDIBeanServiceDescriptor.java | 37 ++--- .../bean/deploy/ServiceDescriptor.java | 7 +- .../bean/internal/SimpleCDIDeployment.java | 11 +- .../jaxbautoregister/switchyard-config-01.xml | 4 +- .../jaxbautoregister/switchyard-config-02.xml | 4 +- bpm/pom.xml | 14 ++ .../component/bpm/config/model/v1/bpm-v1.xsd | 2 +- .../config/model/BpmModelTests-Complete.xml | 2 +- camel/camel-core/pom.xml | 14 ++ .../component/camel/InboundHandler.java | 24 ++- .../component/camel/RouteFactory.java | 28 +++- .../component/camel/SwitchYardProducer.java | 12 +- .../camel/SwitchYardRouteDefinition.java | 151 ++++++++++++++++++ .../component/camel/SwitchyardComponent.java | 3 +- .../component/camel/SwitchyardEndpoint.java | 11 +- .../camel/config/model/OperationSelector.java | 19 +++ .../camel/config/model/RouteScanner.java | 12 +- .../model/v1/V1CamelImplementationModel.java | 13 +- .../config/model/v1/V1OperationSelector.java | 35 ++-- .../camel/deploy/CamelActivator.java | 8 +- .../camel/deploy/ComponentNameComposer.java | 10 +- .../camel/config/model/v1/camel-v1.xsd | 1 + .../camel/config/model/RouteFactoryTest.java | 8 +- .../camel/deploy/CamelActivatorTest.java | 2 +- .../component/camel/deploy/CamelJMSTest.java | 2 +- .../v1/switchyard-direct-binding-beans.xml | 4 +- .../file/v1/switchyard-file-binding-beans.xml | 2 +- ...switchyard-file-binding-consumer-beans.xml | 2 +- ...switchyard-file-binding-producer-beans.xml | 2 +- .../mock/v1/switchyard-mock-binding-beans.xml | 4 +- .../seda/v1/switchyard-seda-binding-beans.xml | 4 +- .../v1/switchyard-timer-binding-beans.xml | 2 +- .../v1/switchyard-camel-binding-beans.xml | 2 +- .../model/v1/switchyard-camel-ref-beans.xml | 2 +- .../v1/switchyard-direct-binding-beans.xml | 2 +- .../v1/switchyard-implementation-beans.xml | 2 +- .../v1/switchyard-implementation-java.xml | 2 +- .../switchyard-activator-impl-error.xml | 9 +- .../switchyard-activator-impl-java-dsl.xml | 12 +- .../deploy/switchyard-activator-impl.xml | 19 +-- .../camel/deploy/switchyard-activator-ref.xml | 6 +- .../deploy/switchyard-activator-test.xml | 4 +- .../camel/deploy/switchyard-jms-test.xml | 4 +- .../switchyard-configs/cdireg-switchyard.xml | 8 +- .../model/v1/switchyard-clojure-impl-file.xml | 2 +- .../model/v1/switchyard-clojure-impl.xml | 2 +- .../deploy/switchyard-clojure-scriptFile.xml | 5 +- .../clojure/deploy/switchyard-clojure.xml | 9 +- .../hornetq/deploy/HornetQActivator.java | 2 +- .../config/model/v1/hornetq-all-binding.xml | 4 +- .../config/model/v1/hornetq-valid-binding.xml | 4 +- .../model/v1/hornetq-valid-implementation.xml | 4 +- .../switchyard-reference-binding-test.xml | 4 +- .../switchyard-service-binding-test.xml | 4 +- .../config/model/RulesSwitchYardScanner.java | 14 +- .../rules/config/model/v1/rules-v1.xsd | 2 +- .../config/model/RulesModelTests-Complete.xml | 2 +- .../soap/config/model/v1/soap-v1.xsd | 8 +- .../component/soap/SOAPGatewayTest.java | 6 +- soap/src/test/resources/DoclitSwitchyard.xml | 2 +- soap/src/test/resources/HelloSwitchYard.xml | 2 +- tests/pom.xml | 14 ++ .../component/model/ModelMergeTest.java | 1 - .../model/expected_merged_switchyard.xml | 14 +- .../component/model/switchyard_1.xml | 5 +- .../component/model/switchyard_2.xml | 12 +- .../soap.bindingReference/switchyard.xml | 7 +- 72 files changed, 504 insertions(+), 231 deletions(-) create mode 100644 camel/camel-core/src/main/java/org/switchyard/component/camel/SwitchYardRouteDefinition.java diff --git a/bean/src/main/java/org/switchyard/component/bean/ClientProxyBean.java b/bean/src/main/java/org/switchyard/component/bean/ClientProxyBean.java index 33c32b5e7..d4453cd91 100644 --- a/bean/src/main/java/org/switchyard/component/bean/ClientProxyBean.java +++ b/bean/src/main/java/org/switchyard/component/bean/ClientProxyBean.java @@ -36,14 +36,13 @@ import javax.enterprise.inject.spi.Bean; import javax.enterprise.inject.spi.InjectionPoint; import javax.enterprise.util.AnnotationLiteral; -import javax.xml.namespace.QName; import org.switchyard.Exchange; import org.switchyard.ExchangeHandler; import org.switchyard.ExchangeState; import org.switchyard.ServiceReference; -import org.switchyard.component.bean.deploy.BeanDeploymentMetaData; import org.switchyard.SynchronousInOutHandler; +import org.switchyard.component.bean.deploy.BeanDeploymentMetaData; import org.switchyard.metadata.BaseExchangeContract; import org.switchyard.metadata.InvocationContract; import org.switchyard.metadata.ServiceOperation; @@ -60,9 +59,9 @@ public class ClientProxyBean implements Bean { /** - * The target Service {@link QName}. + * The target Service. */ - private QName _serviceQName; + private String _serviceName; /** * Target service reference. @@ -89,13 +88,13 @@ public class ClientProxyBean implements Bean { /** * Public constructor. * - * @param serviceQName The name of the ESB Service being proxied to. + * @param serviceName The name of the ESB Service being proxied to. * @param proxyInterface The proxy Interface. * @param qualifiers The CDI bean qualifiers. Copied from the injection point. * @param beanDeploymentMetaData Deployment metadata. */ - public ClientProxyBean(QName serviceQName, Class proxyInterface, Set qualifiers, BeanDeploymentMetaData beanDeploymentMetaData) { - this._serviceQName = serviceQName; + public ClientProxyBean(String serviceName, Class proxyInterface, Set qualifiers, BeanDeploymentMetaData beanDeploymentMetaData) { + this._serviceName = serviceName; this._serviceInterface = proxyInterface; if (qualifiers != null) { @@ -118,8 +117,8 @@ public ClientProxyBean(QName serviceQName, Class proxyInterface, Set invokerInterface) { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if (_service == null) { - throw new BeanComponentException("A service reference to service '" + _serviceQName + "' is not bound into " + throw new BeanComponentException("A service reference to service '" + _serviceName + "' is not bound into " + "this client proxy instance. A reference configuration to the service may be required in the application configuration."); } @@ -308,7 +307,7 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl } throw (Throwable) exceptionObj; } else { - throw new BeanComponentException("Bean Component invocation failure. Service '" + _serviceQName + "', operation '" + method.getName() + "'.").setFaultExchange(exchangeOut); + throw new BeanComponentException("Bean Component invocation failure. Service '" + _serviceName + "', operation '" + method.getName() + "'.").setFaultExchange(exchangeOut); } } } else { @@ -330,7 +329,7 @@ private Exchange createExchange(ServiceReference service, Method method, Exchang ServiceOperation serviceOperation = service.getInterface().getOperation(operationName); if (serviceOperation == null) { - throw new BeanComponentException("Bean Component invocation failure. Operation '" + operationName + "' is not defined on Service '" + _serviceQName + "'."); + throw new BeanComponentException("Bean Component invocation failure. Operation '" + operationName + "' is not defined on Service '" + _serviceName + "'."); } BaseExchangeContract exchangeContext = new BaseExchangeContract(serviceOperation); diff --git a/bean/src/main/java/org/switchyard/component/bean/SwitchYardCDIServiceDiscovery.java b/bean/src/main/java/org/switchyard/component/bean/SwitchYardCDIServiceDiscovery.java index 12f02338b..7db81d31d 100644 --- a/bean/src/main/java/org/switchyard/component/bean/SwitchYardCDIServiceDiscovery.java +++ b/bean/src/main/java/org/switchyard/component/bean/SwitchYardCDIServiceDiscovery.java @@ -36,9 +36,9 @@ import javax.enterprise.inject.spi.Extension; import javax.enterprise.inject.spi.InjectionPoint; import javax.enterprise.inject.spi.ProcessBean; -import javax.xml.namespace.QName; import org.apache.log4j.Logger; +import org.switchyard.common.type.Classes; import org.switchyard.component.bean.deploy.BeanDeploymentMetaData; import org.switchyard.component.bean.deploy.BeanDeploymentMetaDataCDIBean; import org.switchyard.component.bean.deploy.CDIBean; @@ -75,7 +75,7 @@ public class SwitchYardCDIServiceDiscovery implements Extension { public void beforeBeanDiscovery(@Observes BeforeBeanDiscovery beforeEvent, BeanManager beanManager) { _beanDeploymentMetaData = new BeanDeploymentMetaData(); _beanDeploymentMetaData.setBeanManager(beanManager); - _beanDeploymentMetaData.setDeploymentClassLoader(Thread.currentThread().getContextClassLoader()); + _beanDeploymentMetaData.setDeploymentClassLoader(Classes.getTCCL()); } /** @@ -122,7 +122,7 @@ public void processBean(@Observes ProcessBean processBean, BeanManager beanManag */ public void afterBeanDiscovery(@Observes AfterBeanDiscovery afterEvent) { for (ClientProxyBean proxyBean : _createdProxyBeans) { - _logger.debug("Adding ClientProxyBean for bean Service " + proxyBean.getServiceQName() + ". Service Interface type is " + proxyBean.getServiceInterface().getName()); + _logger.debug("Adding ClientProxyBean for bean Service " + proxyBean.getServiceName() + ". Service Interface type is " + proxyBean.getServiceInterface().getName()); afterEvent.addBean(proxyBean); _beanDeploymentMetaData.addClientProxy(proxyBean); } @@ -132,27 +132,27 @@ public void afterBeanDiscovery(@Observes AfterBeanDiscovery afterEvent) { } private void addInjectableClientProxyBean(Field injectionPointField, Reference serviceReference, Set qualifiers, BeanManager beanManager) { - QName serviceQName; + final String serviceName; if (serviceReference.value().length() > 0) { - serviceQName = QName.valueOf(serviceReference.value()); + serviceName = serviceReference.value(); } else { - serviceQName = toServiceQName(injectionPointField.getType()); + serviceName = injectionPointField.getType().getSimpleName(); } - addClientProxyBean(serviceQName, injectionPointField.getType(), qualifiers); + addClientProxyBean(serviceName, injectionPointField.getType(), qualifiers); } - private void addClientProxyBean(QName serviceQName, Class beanClass, Set qualifiers) { + private void addClientProxyBean(String serviceName, Class beanClass, Set qualifiers) { // Check do we already have a proxy for this service interface... for (ClientProxyBean clientProxyBean : _createdProxyBeans) { - if (serviceQName.equals(clientProxyBean.getServiceQName()) && beanClass == clientProxyBean.getBeanClass()) { + if (serviceName.equals(clientProxyBean.getServiceName()) && beanClass == clientProxyBean.getBeanClass()) { // ignore... we already have a proxy ... return; } } - ClientProxyBean clientProxyBean = new ClientProxyBean(serviceQName, beanClass, qualifiers, _beanDeploymentMetaData); + ClientProxyBean clientProxyBean = new ClientProxyBean(serviceName, beanClass, qualifiers, _beanDeploymentMetaData); _createdProxyBeans.add(clientProxyBean); } @@ -161,7 +161,4 @@ private boolean isServiceBean(Bean bean) { return (Modifier.isPublic(beanClass.getModifiers()) && beanClass.isAnnotationPresent(Service.class)); } - private QName toServiceQName(Class serviceType) { - return new QName(serviceType.getSimpleName()); - } } diff --git a/bean/src/main/java/org/switchyard/component/bean/config/model/BeanSwitchYardScanner.java b/bean/src/main/java/org/switchyard/component/bean/config/model/BeanSwitchYardScanner.java index ded6f8774..16ccfa8c9 100644 --- a/bean/src/main/java/org/switchyard/component/bean/config/model/BeanSwitchYardScanner.java +++ b/bean/src/main/java/org/switchyard/component/bean/config/model/BeanSwitchYardScanner.java @@ -87,6 +87,10 @@ public ScannerOutput scan(ScannerInput input) continue; } + BeanComponentImplementationModel beanModel = new V1BeanComponentImplementationModel(); + beanModel.setClazz(serviceClass.getName()); + componentModel.setImplementation(beanModel); + Class iface = service.value(); ComponentServiceModel serviceModel = new V1ComponentServiceModel(); JavaComponentServiceInterfaceModel csiModel = new V1JavaComponentServiceInterfaceModel(); @@ -116,10 +120,6 @@ public ScannerOutput scan(ScannerInput input) compositeModel.addComponent(componentModel); componentModel.setName(name); compositeModel.addComponent(componentModel); - - BeanComponentImplementationModel beanModel = new V1BeanComponentImplementationModel(); - beanModel.setClazz(serviceClass.getName()); - componentModel.setImplementation(beanModel); } return new ScannerOutput().setModel(switchyardModel); diff --git a/bean/src/main/java/org/switchyard/component/bean/deploy/BeanComponentActivator.java b/bean/src/main/java/org/switchyard/component/bean/deploy/BeanComponentActivator.java index 84f6cde68..7a8053207 100644 --- a/bean/src/main/java/org/switchyard/component/bean/deploy/BeanComponentActivator.java +++ b/bean/src/main/java/org/switchyard/component/bean/deploy/BeanComponentActivator.java @@ -32,7 +32,6 @@ import org.switchyard.config.model.composite.ComponentServiceModel; import org.switchyard.deploy.BaseActivator; import org.switchyard.exception.SwitchYardException; - import org.switchyard.metadata.ServiceInterface; /** @@ -65,7 +64,7 @@ public ExchangeHandler init(QName name, Model config) { } else if (config instanceof ComponentServiceModel) { // lookup the handler for the initialized service for (ServiceDescriptor descriptor : _beanDeploymentMetaData.getServiceDescriptors()) { - if (descriptor.getServiceName().equals(name)) { + if (descriptor.getServiceName().equals(name.getLocalPart())) { return descriptor.getHandler(); } } @@ -86,7 +85,7 @@ public void lookupBeanMetaData() { * @param name The Service Name. * @return The ServiceInterface instance. */ - public ServiceInterface buildServiceInterface(QName name) { + public ServiceInterface buildServiceInterface(String name) { for (ServiceDescriptor descriptor : _beanDeploymentMetaData.getServiceDescriptors()) { if (descriptor.getServiceName().equals(name)) { return descriptor.getInterface(); @@ -103,7 +102,7 @@ public ServiceInterface buildServiceInterface(QName name) { public void start(ServiceReference service) { // Initialise any client proxies to the started service... for (ClientProxyBean proxyBean : _beanDeploymentMetaData.getClientProxies()) { - if (proxyBean.getServiceQName().equals(service.getName())) { + if (proxyBean.getServiceName().equals(service.getName().getLocalPart())) { proxyBean.setService(service); } } diff --git a/bean/src/main/java/org/switchyard/component/bean/deploy/BeanDeploymentMetaData.java b/bean/src/main/java/org/switchyard/component/bean/deploy/BeanDeploymentMetaData.java index 7731c3895..ef88a0cf0 100644 --- a/bean/src/main/java/org/switchyard/component/bean/deploy/BeanDeploymentMetaData.java +++ b/bean/src/main/java/org/switchyard/component/bean/deploy/BeanDeploymentMetaData.java @@ -19,9 +19,10 @@ package org.switchyard.component.bean.deploy; -import org.switchyard.component.bean.ClientProxyBean; -import org.switchyard.exception.SwitchYardException; - +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; import javax.enterprise.inject.spi.Bean; import javax.enterprise.inject.spi.BeanManager; @@ -29,10 +30,9 @@ import javax.naming.InitialContext; import javax.naming.NameNotFoundException; import javax.naming.NamingException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Set; + +import org.switchyard.component.bean.ClientProxyBean; +import org.switchyard.exception.SwitchYardException; /** * Bean Deployment Meta Data. @@ -49,6 +49,11 @@ public class BeanDeploymentMetaData { private List _clientProxies = new ArrayList(); private List _deploymentBeans = new ArrayList(); + /** + * Default no-arg constructor. + */ + public BeanDeploymentMetaData() {} + /** * Set the deployment CDI BeanManager. * @param beanManager The bean manager. diff --git a/bean/src/main/java/org/switchyard/component/bean/deploy/CDIBeanServiceDescriptor.java b/bean/src/main/java/org/switchyard/component/bean/deploy/CDIBeanServiceDescriptor.java index cd07ff997..ddec8febd 100644 --- a/bean/src/main/java/org/switchyard/component/bean/deploy/CDIBeanServiceDescriptor.java +++ b/bean/src/main/java/org/switchyard/component/bean/deploy/CDIBeanServiceDescriptor.java @@ -16,23 +16,20 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ - package org.switchyard.component.bean.deploy; +import javax.enterprise.context.spi.CreationalContext; +import javax.enterprise.inject.spi.BeanManager; + import org.switchyard.ExchangeHandler; +import org.switchyard.common.lang.Strings; import org.switchyard.component.bean.BeanServiceMetadata; import org.switchyard.component.bean.Service; import org.switchyard.component.bean.ServiceProxyHandler; import org.switchyard.exception.SwitchYardException; - import org.switchyard.metadata.ServiceInterface; import org.switchyard.metadata.java.JavaService; -import javax.enterprise.context.spi.CreationalContext; -import javax.enterprise.inject.spi.Bean; -import javax.enterprise.inject.spi.BeanManager; -import javax.xml.namespace.QName; - /** * SwitchYard CDI bean Service Descriptor. * @@ -40,10 +37,10 @@ */ public class CDIBeanServiceDescriptor implements ServiceDescriptor { - private CDIBean _cdiBean; - private QName _serviceName; - private BeanServiceMetadata _serviceMetadata; - private BeanDeploymentMetaData _beanDeploymentMetaData; + private final CDIBean _cdiBean; + private final BeanDeploymentMetaData _beanDeploymentMetaData; + private final String _serviceName; + private final BeanServiceMetadata _serviceMetadata; /** * Public constructor. @@ -51,12 +48,11 @@ public class CDIBeanServiceDescriptor implements ServiceDescriptor { * @param beanDeploymentMetaData bean deployment info */ public CDIBeanServiceDescriptor(CDIBean cdiBean, BeanDeploymentMetaData beanDeploymentMetaData) { - Class serviceInterface = getServiceInterface(cdiBean.getBean()); - this._cdiBean = cdiBean; - this._serviceName = new QName(serviceInterface.getSimpleName()); - this._serviceMetadata = new BeanServiceMetadata(serviceInterface); this._beanDeploymentMetaData = beanDeploymentMetaData; + final Class beanClass = cdiBean.getBean().getBeanClass(); + this._serviceName = getServiceName(beanClass); + this._serviceMetadata = new BeanServiceMetadata(getServiceInterface(beanClass)); } /** @@ -68,7 +64,7 @@ public CDIBean getCDIBean() { } @Override - public QName getServiceName() { + public String getServiceName() { return _serviceName; } @@ -101,8 +97,13 @@ public ServiceInterface getInterface() { return JavaService.fromClass(_serviceMetadata.getServiceClass()); } - private Class getServiceInterface(Bean bean) { - return getServiceInterface(bean.getBeanClass()); + private String getServiceName(Class beanClass) { + Service service = beanClass.getAnnotation(Service.class); + String name = Strings.trimToNull(service.name()); + if (name == null) { + name = getServiceInterface(beanClass).getSimpleName(); + } + return name; } /** diff --git a/bean/src/main/java/org/switchyard/component/bean/deploy/ServiceDescriptor.java b/bean/src/main/java/org/switchyard/component/bean/deploy/ServiceDescriptor.java index 61978488a..578fa95d6 100644 --- a/bean/src/main/java/org/switchyard/component/bean/deploy/ServiceDescriptor.java +++ b/bean/src/main/java/org/switchyard/component/bean/deploy/ServiceDescriptor.java @@ -19,12 +19,11 @@ package org.switchyard.component.bean.deploy; +import java.io.Serializable; + import org.switchyard.ExchangeHandler; import org.switchyard.metadata.ServiceInterface; -import javax.xml.namespace.QName; -import java.io.Serializable; - /** * Service Descriptor. * @@ -36,7 +35,7 @@ public interface ServiceDescriptor extends Serializable { * Get the Service name. * @return The Service Name. */ - QName getServiceName(); + String getServiceName(); /** * Get the ExchangeHandler. diff --git a/bean/src/main/java/org/switchyard/component/bean/internal/SimpleCDIDeployment.java b/bean/src/main/java/org/switchyard/component/bean/internal/SimpleCDIDeployment.java index c6ee646e7..7a16ec8af 100644 --- a/bean/src/main/java/org/switchyard/component/bean/internal/SimpleCDIDeployment.java +++ b/bean/src/main/java/org/switchyard/component/bean/internal/SimpleCDIDeployment.java @@ -19,11 +19,14 @@ package org.switchyard.component.bean.internal; +import java.util.List; + import javax.xml.namespace.QName; import org.switchyard.ExchangeHandler; import org.switchyard.ServiceDomain; import org.switchyard.ServiceReference; +import org.switchyard.common.xml.XMLHelper; import org.switchyard.component.bean.deploy.BeanComponentActivator; import org.switchyard.component.bean.deploy.BeanDeploymentMetaData; import org.switchyard.component.bean.deploy.CDIBean; @@ -35,9 +38,6 @@ import org.switchyard.transform.TransformerTypes; import org.switchyard.transform.TransformerUtil; - -import java.util.List; - /** * Simple CDI deployment. *

@@ -98,14 +98,15 @@ private void deployServicesAndProxies(BeanDeploymentMetaData beanDeploymentMetaD BeanComponentActivator activator = new BeanComponentActivator(); for (ServiceDescriptor serviceDescriptor : beanDeploymentMetaData.getServiceDescriptors()) { - QName serviceName = serviceDescriptor.getServiceName(); + String serviceName = serviceDescriptor.getServiceName(); ExchangeHandler handler = serviceDescriptor.getHandler(); ServiceInterface serviceInterface; ServiceReference service; activator.lookupBeanMetaData(); serviceInterface = activator.buildServiceInterface(serviceName); - service = domain.registerService(serviceName, handler, serviceInterface); + QName serviceQName = XMLHelper.createQName(domain.getName().getNamespaceURI(), serviceName); + service = domain.registerService(serviceQName, handler, serviceInterface); activator.start(service); deployAutoRegisteredTransformers(serviceInterface); diff --git a/bean/src/test/resources/jaxbautoregister/switchyard-config-01.xml b/bean/src/test/resources/jaxbautoregister/switchyard-config-01.xml index 03628c25c..9b436c0a7 100644 --- a/bean/src/test/resources/jaxbautoregister/switchyard-config-01.xml +++ b/bean/src/test/resources/jaxbautoregister/switchyard-config-01.xml @@ -1,10 +1,10 @@ - + + - diff --git a/bean/src/test/resources/jaxbautoregister/switchyard-config-02.xml b/bean/src/test/resources/jaxbautoregister/switchyard-config-02.xml index 15d35aefe..9ebc21afa 100644 --- a/bean/src/test/resources/jaxbautoregister/switchyard-config-02.xml +++ b/bean/src/test/resources/jaxbautoregister/switchyard-config-02.xml @@ -18,12 +18,12 @@ --> - + + - diff --git a/bpm/pom.xml b/bpm/pom.xml index 25fdfa70c..07d6a7e05 100644 --- a/bpm/pom.xml +++ b/bpm/pom.xml @@ -136,6 +136,20 @@ org.jbpm jbpm-human-task ${jbpm.version} + + + xml-apis + xml-apis + + + xerces + xercesImpl + + + xerces + xmlParserAPIs + + - + - - - + + + diff --git a/clojure/src/test/resources/org/switchyard/component/clojure/config/model/v1/switchyard-clojure-impl-file.xml b/clojure/src/test/resources/org/switchyard/component/clojure/config/model/v1/switchyard-clojure-impl-file.xml index 49861799a..882e81e83 100644 --- a/clojure/src/test/resources/org/switchyard/component/clojure/config/model/v1/switchyard-clojure-impl-file.xml +++ b/clojure/src/test/resources/org/switchyard/component/clojure/config/model/v1/switchyard-clojure-impl-file.xml @@ -17,7 +17,7 @@ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:sd="urn:switchyard-config:switchyard:1.0"> - + diff --git a/clojure/src/test/resources/org/switchyard/component/clojure/config/model/v1/switchyard-clojure-impl.xml b/clojure/src/test/resources/org/switchyard/component/clojure/config/model/v1/switchyard-clojure-impl.xml index 79981a313..19136c655 100644 --- a/clojure/src/test/resources/org/switchyard/component/clojure/config/model/v1/switchyard-clojure-impl.xml +++ b/clojure/src/test/resources/org/switchyard/component/clojure/config/model/v1/switchyard-clojure-impl.xml @@ -17,7 +17,7 @@ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:sd="urn:switchyard-config:switchyard:1.0"> - + diff --git a/clojure/src/test/resources/org/switchyard/component/clojure/deploy/switchyard-clojure-scriptFile.xml b/clojure/src/test/resources/org/switchyard/component/clojure/deploy/switchyard-clojure-scriptFile.xml index 6e1b9861c..b2324b6cc 100644 --- a/clojure/src/test/resources/org/switchyard/component/clojure/deploy/switchyard-clojure-scriptFile.xml +++ b/clojure/src/test/resources/org/switchyard/component/clojure/deploy/switchyard-clojure-scriptFile.xml @@ -17,14 +17,13 @@ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:sd="urn:switchyard-config:switchyard:1.0"> - + + - - diff --git a/clojure/src/test/resources/org/switchyard/component/clojure/deploy/switchyard-clojure.xml b/clojure/src/test/resources/org/switchyard/component/clojure/deploy/switchyard-clojure.xml index 3730b5dd8..2de4c5bb8 100644 --- a/clojure/src/test/resources/org/switchyard/component/clojure/deploy/switchyard-clojure.xml +++ b/clojure/src/test/resources/org/switchyard/component/clojure/deploy/switchyard-clojure.xml @@ -17,13 +17,9 @@ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:sd="urn:switchyard-config:switchyard:1.0"> - + - - - - + + + diff --git a/hornetq/src/main/java/org/switchyard/component/hornetq/deploy/HornetQActivator.java b/hornetq/src/main/java/org/switchyard/component/hornetq/deploy/HornetQActivator.java index 91d730f53..aeea38984 100644 --- a/hornetq/src/main/java/org/switchyard/component/hornetq/deploy/HornetQActivator.java +++ b/hornetq/src/main/java/org/switchyard/component/hornetq/deploy/HornetQActivator.java @@ -250,7 +250,7 @@ public void stop(final ServiceReference serviceReference) { } } } - final Set outboundHandlers = _refBindings.get(serviceReference); + final Set outboundHandlers = _refBindings.get(serviceReference.getName()); if (outboundHandlers != null) { for (OutboundHandler outboundHandler : outboundHandlers) { outboundHandler.stop(); diff --git a/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-all-binding.xml b/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-all-binding.xml index 720467ea9..d5afb846d 100644 --- a/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-all-binding.xml +++ b/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-all-binding.xml @@ -17,7 +17,7 @@ xmlns:hornetq="urn:switchyard-component-hornetq:config:1.0" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" > - + @@ -74,4 +74,4 @@ - \ No newline at end of file + diff --git a/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-valid-binding.xml b/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-valid-binding.xml index 6c3add9b1..136233d77 100644 --- a/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-valid-binding.xml +++ b/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-valid-binding.xml @@ -17,7 +17,7 @@ xmlns:hornetq="urn:switchyard-component-hornetq:config:1.0" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" > - + @@ -63,4 +63,4 @@ - \ No newline at end of file + diff --git a/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-valid-implementation.xml b/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-valid-implementation.xml index 060f619cf..4afe01b87 100644 --- a/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-valid-implementation.xml +++ b/hornetq/src/test/resources/org/switchyard/component/hornetq/config/model/v1/hornetq-valid-implementation.xml @@ -18,7 +18,7 @@ xmlns:bean="urn:switchyard-component-bean:config:1.0" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" > - + @@ -67,4 +67,4 @@ - \ No newline at end of file + diff --git a/hornetq/src/test/resources/org/switchyard/component/hornetq/deploy/switchyard-reference-binding-test.xml b/hornetq/src/test/resources/org/switchyard/component/hornetq/deploy/switchyard-reference-binding-test.xml index 09316a8bb..17e36bcfc 100644 --- a/hornetq/src/test/resources/org/switchyard/component/hornetq/deploy/switchyard-reference-binding-test.xml +++ b/hornetq/src/test/resources/org/switchyard/component/hornetq/deploy/switchyard-reference-binding-test.xml @@ -18,7 +18,7 @@ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:bean="urn:switchyard-component-bean:config:1.0"> - + @@ -29,7 +29,7 @@ - + diff --git a/hornetq/src/test/resources/org/switchyard/component/hornetq/deploy/switchyard-service-binding-test.xml b/hornetq/src/test/resources/org/switchyard/component/hornetq/deploy/switchyard-service-binding-test.xml index 6b756f0b5..b4314e16e 100644 --- a/hornetq/src/test/resources/org/switchyard/component/hornetq/deploy/switchyard-service-binding-test.xml +++ b/hornetq/src/test/resources/org/switchyard/component/hornetq/deploy/switchyard-service-binding-test.xml @@ -18,10 +18,10 @@ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:bean="urn:switchyard-component-bean:config:1.0"> - + - + diff --git a/rules/src/main/java/org/switchyard/component/rules/config/model/RulesSwitchYardScanner.java b/rules/src/main/java/org/switchyard/component/rules/config/model/RulesSwitchYardScanner.java index a5dcd82ab..f4fc5436f 100644 --- a/rules/src/main/java/org/switchyard/component/rules/config/model/RulesSwitchYardScanner.java +++ b/rules/src/main/java/org/switchyard/component/rules/config/model/RulesSwitchYardScanner.java @@ -86,15 +86,8 @@ public ScannerOutput scan(ScannerInput input) throw new IOException(rulesInterface.getName() + INTERFACE_ERR_MSG); } String rulesName = rulesInterface.getSimpleName(); - JavaComponentServiceInterfaceModel csiModel = new V1JavaComponentServiceInterfaceModel(); - csiModel.setInterface(rulesInterface.getName()); - ComponentServiceModel serviceModel = new V1ComponentServiceModel(); - serviceModel.setInterface(csiModel); - serviceModel.setName(rulesName); ComponentModel componentModel = new V1ComponentModel(); componentModel.setName(rulesName); - componentModel.addService(serviceModel); - compositeModel.addComponent(componentModel); RulesComponentImplementationModel rciModel = new V1RulesComponentImplementationModel(); rciModel.setStateful(rules.stateful()); JavaService javaService = JavaService.fromClass(rulesInterface); @@ -121,6 +114,13 @@ public ScannerOutput scan(ScannerInput input) rciModel.addResource(new V1ResourceModel().setLocation(location).setType(type)); } componentModel.setImplementation(rciModel); + ComponentServiceModel serviceModel = new V1ComponentServiceModel(); + JavaComponentServiceInterfaceModel csiModel = new V1JavaComponentServiceInterfaceModel(); + csiModel.setInterface(rulesInterface.getName()); + serviceModel.setInterface(csiModel); + serviceModel.setName(rulesName); + componentModel.addService(serviceModel); + compositeModel.addComponent(componentModel); } return new ScannerOutput().setModel(switchyardModel); } diff --git a/rules/src/main/resources/org/switchyard/component/rules/config/model/v1/rules-v1.xsd b/rules/src/main/resources/org/switchyard/component/rules/config/model/v1/rules-v1.xsd index 331b77a75..3e34e346f 100644 --- a/rules/src/main/resources/org/switchyard/component/rules/config/model/v1/rules-v1.xsd +++ b/rules/src/main/resources/org/switchyard/component/rules/config/model/v1/rules-v1.xsd @@ -35,9 +35,9 @@ MA 02110-1301, USA. - + diff --git a/rules/src/test/resources/org/switchyard/component/rules/config/model/RulesModelTests-Complete.xml b/rules/src/test/resources/org/switchyard/component/rules/config/model/RulesModelTests-Complete.xml index e7fe5c6c5..047536b63 100644 --- a/rules/src/test/resources/org/switchyard/component/rules/config/model/RulesModelTests-Complete.xml +++ b/rules/src/test/resources/org/switchyard/component/rules/config/model/RulesModelTests-Complete.xml @@ -24,9 +24,9 @@ MA 02110-1301, USA. + - diff --git a/soap/src/main/resources/org/switchyard/component/soap/config/model/v1/soap-v1.xsd b/soap/src/main/resources/org/switchyard/component/soap/config/model/v1/soap-v1.xsd index b3550c86e..6518f0d84 100644 --- a/soap/src/main/resources/org/switchyard/component/soap/config/model/v1/soap-v1.xsd +++ b/soap/src/main/resources/org/switchyard/component/soap/config/model/v1/soap-v1.xsd @@ -59,7 +59,7 @@ MA 02110-1301, USA. - + The fully qualified JAVA Class name for custom composition of SwitchYard Message from SOAP. @@ -73,7 +73,7 @@ MA 02110-1301, USA. - + Headers that should be mapped from the request SOAPMessage to the SwitchYard Exchange Context (Scope.IN). @@ -82,7 +82,7 @@ MA 02110-1301, USA. - + The fully qualified JAVA Class name for custom conversion of SwitchYard Message to SOAP. @@ -96,7 +96,7 @@ MA 02110-1301, USA. - + Properties that should be mapped from the SwitchYard Exchange Context (Scope.OUT) to the response SOAPMessage. diff --git a/soap/src/test/java/org/switchyard/component/soap/SOAPGatewayTest.java b/soap/src/test/java/org/switchyard/component/soap/SOAPGatewayTest.java index f8a602c60..eed0eb665 100644 --- a/soap/src/test/java/org/switchyard/component/soap/SOAPGatewayTest.java +++ b/soap/src/test/java/org/switchyard/component/soap/SOAPGatewayTest.java @@ -54,6 +54,7 @@ import org.switchyard.component.soap.config.model.SOAPBindingModel; import org.switchyard.component.soap.util.SOAPUtil; import org.switchyard.config.model.ModelPuller; +import org.switchyard.config.model.Validation; import org.switchyard.config.model.composite.CompositeModel; import org.switchyard.config.model.composite.CompositeServiceModel; import org.switchyard.metadata.BaseService; @@ -144,13 +145,10 @@ public void setUp() throws Exception { SOAPProvider provider = new SOAPProvider(); CompositeModel composite = _puller.pull("/HelloSwitchYard.xml", getClass()); - /* Validation v = composite.validateModel(); if (!v.isValid()) { - System.err.println("CompositeModel not valid: " + v.getMessage()); - v.getCause().printStackTrace(); + throw new Exception("CompositeModel not valid: " + v.getMessage(), v.getCause()); } - */ CompositeServiceModel compositeService = composite.getServices().get(0); _config = (SOAPBindingModel)compositeService.getBindings().get(0); diff --git a/soap/src/test/resources/DoclitSwitchyard.xml b/soap/src/test/resources/DoclitSwitchyard.xml index 642566dda..f4723c577 100644 --- a/soap/src/test/resources/DoclitSwitchyard.xml +++ b/soap/src/test/resources/DoclitSwitchyard.xml @@ -18,7 +18,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --> diff --git a/soap/src/test/resources/HelloSwitchYard.xml b/soap/src/test/resources/HelloSwitchYard.xml index 12fc606d7..436abc5a4 100644 --- a/soap/src/test/resources/HelloSwitchYard.xml +++ b/soap/src/test/resources/HelloSwitchYard.xml @@ -18,7 +18,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --> diff --git a/tests/pom.xml b/tests/pom.xml index 589c4d734..1cbbf663d 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -78,6 +78,20 @@ milyn-smooks-javabean 1.5-SNAPSHOT test + + + xml-apis + xml-apis + + + xerces + xercesImpl + + + xerces + xmlParserAPIs + + diff --git a/tests/src/test/java/org/switchyard/component/model/ModelMergeTest.java b/tests/src/test/java/org/switchyard/component/model/ModelMergeTest.java index 06bd38547..8623959da 100644 --- a/tests/src/test/java/org/switchyard/component/model/ModelMergeTest.java +++ b/tests/src/test/java/org/switchyard/component/model/ModelMergeTest.java @@ -56,7 +56,6 @@ public void test() throws IOException { private void compareToExpected(SwitchYardModel mergedModel) throws IOException { StringWriter stringWriter = new StringWriter(); mergedModel.write(stringWriter); -// System.out.println(stringWriter); _testKit.compareXMLToResource(stringWriter.toString(), "expected_merged_switchyard.xml"); } } diff --git a/tests/src/test/resources/org/switchyard/component/model/expected_merged_switchyard.xml b/tests/src/test/resources/org/switchyard/component/model/expected_merged_switchyard.xml index fc87d8565..64b620042 100644 --- a/tests/src/test/resources/org/switchyard/component/model/expected_merged_switchyard.xml +++ b/tests/src/test/resources/org/switchyard/component/model/expected_merged_switchyard.xml @@ -18,8 +18,8 @@ ~ MA 02110-1301, USA. --> - - + + 18001 @@ -27,19 +27,19 @@ + - + - + - + - + - diff --git a/tests/src/test/resources/org/switchyard/component/model/switchyard_1.xml b/tests/src/test/resources/org/switchyard/component/model/switchyard_1.xml index c3ed6c41f..28f1139fd 100644 --- a/tests/src/test/resources/org/switchyard/component/model/switchyard_1.xml +++ b/tests/src/test/resources/org/switchyard/component/model/switchyard_1.xml @@ -24,13 +24,12 @@ xmlns:bean="urn:switchyard-component-bean:config:1.0" xmlns:soap="urn:switchyard-component-soap:config:1.0" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" - targetNamespace="urn:switchyard-quickstarts:m1app:0.1.0-SNAPSHOT" name="m1app"> - + - 18001 wsdl/OrderService.wsdl + 18001 diff --git a/tests/src/test/resources/org/switchyard/component/model/switchyard_2.xml b/tests/src/test/resources/org/switchyard/component/model/switchyard_2.xml index e1a62bb1e..79a1e58b9 100644 --- a/tests/src/test/resources/org/switchyard/component/model/switchyard_2.xml +++ b/tests/src/test/resources/org/switchyard/component/model/switchyard_2.xml @@ -19,21 +19,21 @@ --> - + + - + - + - + - + - diff --git a/tests/src/test/resources/soap.bindingReference/switchyard.xml b/tests/src/test/resources/soap.bindingReference/switchyard.xml index 00b34c381..36d6d677b 100644 --- a/tests/src/test/resources/soap.bindingReference/switchyard.xml +++ b/tests/src/test/resources/soap.bindingReference/switchyard.xml @@ -23,10 +23,9 @@ MA 02110-1301, USA. xmlns:bean="urn:switchyard-component-bean:config:1.0" xmlns:soap="urn:switchyard-component-soap:config:1.0" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" - targetNamespace="urn:switchyard-quickstarts:bindingReference:1.0-SNAPSHOT" - name="bindingReference"> - - + name="soap.bindingReference"> + + soap.bindingReference/dummyService.wsdl