Modified: tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java (original) +++ tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java Mon Jul 21 10:37:59 2008 @@ -19,32 +19,176 @@ package org.apache.tuscany.sca.assembly.builder.impl; +import java.util.List; import org.apache.tuscany.sca.assembly.AssemblyFactory; +import org.apache.tuscany.sca.assembly.Binding; +import org.apache.tuscany.sca.assembly.Component; +import org.apache.tuscany.sca.assembly.ComponentService; import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.SCABindingFactory; +import org.apache.tuscany.sca.assembly.CompositeService; +import org.apache.tuscany.sca.assembly.Service; +import org.apache.tuscany.sca.assembly.Implementation; +import org.apache.tuscany.sca.assembly.builder.AutomaticBinding; import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; /** * A composite builder that handles the configuration of composite services. * * @version $Rev$ $Date$ */ -public class CompositeServiceConfigurationBuilderImpl extends BaseConfigurationBuilderImpl implements CompositeBuilder { +public class CompositeServiceConfigurationBuilderImpl implements CompositeBuilder { + private AssemblyFactory assemblyFactory; - public CompositeServiceConfigurationBuilderImpl(AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - InterfaceContractMapper interfaceContractMapper, - SCADefinitions policyDefinitions, - Monitor monitor) { - super(assemblyFactory, scaBindingFactory, interfaceContractMapper, policyDefinitions, monitor); + public CompositeServiceConfigurationBuilderImpl(AssemblyFactory assemblyFactory) { + this.assemblyFactory = assemblyFactory; } public void build(Composite composite) throws CompositeBuilderException { - configureCompositeServices(composite); + + // Process nested composites recursively + configureNestedCompositeServices(composite); + + // Process top level composite services + for (Service service : composite.getServices()) { + CompositeService compositeService = (CompositeService)service; + + // Get the next lower level promoted service + ComponentService promotedService = compositeService.getPromotedService(); + if (promotedService != null) { + + // Set the bindings using the top level bindings to override the lower level bindings + if (!bindingsSpecifiedManually(compositeService.getBindings()) && + bindingsSpecifiedManually(promotedService.getBindings())) { + compositeService.getBindings().clear(); + for (Binding binding : promotedService.getBindings()) { + try { + compositeService.getBindings().add((Binding)binding.clone()); + } catch (CloneNotSupportedException ex) { + // this binding can't be used in the promoted service + } + } + } + if (compositeService.getInterfaceContract() != null && + compositeService.getInterfaceContract().getCallbackInterface() != null) { + if (!(compositeService.getCallback() != null && + bindingsSpecifiedManually(compositeService.getCallback().getBindings())) && + promotedService.getCallback() != null && + bindingsSpecifiedManually(promotedService.getCallback().getBindings())) { + if (compositeService.getCallback() != null) { + compositeService.getCallback().getBindings().clear(); + } else { + compositeService.setCallback(assemblyFactory.createCallback()); + } + for (Binding binding : promotedService.getCallback().getBindings()) { + try { + compositeService.getCallback().getBindings().add((Binding)binding.clone()); + } catch (CloneNotSupportedException ex) { + // this binding can't be used in the promoted service + } + } + } + } + } + } + } + + private void configureNestedCompositeServices(Composite composite) { + + // Process nested composites recursively + for (Component component : composite.getComponents()) { + Implementation implementation = component.getImplementation(); + if (implementation instanceof Composite) { + + // First process nested composites + configureNestedCompositeServices((Composite)implementation); + + // Process the component services declared on components in this composite + for (ComponentService componentService : component.getServices()) { + Service implService = componentService.getService(); + if (implService != null && implService instanceof CompositeService) { + CompositeService compositeService = (CompositeService)implService; + + // Get the next lower level promoted service + ComponentService promotedService = compositeService.getPromotedService(); + if (promotedService != null) { + + // Set the bindings using the top level bindings to override the lower level bindings + if (!bindingsSpecifiedManually(compositeService.getBindings()) && + bindingsSpecifiedManually(promotedService.getBindings()) ) { + compositeService.getBindings().clear(); + for (Binding binding : promotedService.getBindings()) { + try { + compositeService.getBindings().add((Binding)binding.clone()); + } catch (CloneNotSupportedException ex) { + // this binding can't be used in the promoted service + } + } + } + if (!bindingsSpecifiedManually(componentService.getBindings()) && + bindingsSpecifiedManually(compositeService.getBindings()) ) { + componentService.getBindings().clear(); + componentService.getBindings().addAll(compositeService.getBindings()); + } + if (componentService.getInterfaceContract() != null && + componentService.getInterfaceContract().getCallbackInterface() != null) { + if (!(compositeService.getCallback() != null && + bindingsSpecifiedManually(compositeService.getCallback().getBindings())) && + promotedService.getCallback() != null && + bindingsSpecifiedManually(promotedService.getCallback().getBindings())) { + if (compositeService.getCallback() != null) { + compositeService.getCallback().getBindings().clear(); + } else { + compositeService.setCallback(assemblyFactory.createCallback()); + } + for (Binding binding : promotedService.getCallback().getBindings()) { + try { + compositeService.getCallback().getBindings().add((Binding)binding.clone()); + } catch (CloneNotSupportedException ex) { + // this binding can't be used in the promoted service + } + } + } + if (!(componentService.getCallback() != null && + bindingsSpecifiedManually(componentService.getCallback().getBindings())) && + compositeService.getCallback() != null && + bindingsSpecifiedManually(compositeService.getCallback().getBindings())) { + if (componentService.getCallback() != null) { + componentService.getCallback().getBindings().clear(); + } else { + componentService.setCallback(assemblyFactory.createCallback()); + } + componentService.getCallback().getBindings().addAll( + compositeService.getCallback().getBindings()); + } + } + } + } + } + } + } + } + + /** + * If the bindings are specified in the composite file return true as they should + * otherwise return false + * + * @param bindings + * @return true if the bindings were specified manually + */ + private boolean bindingsSpecifiedManually(List<Binding> bindings) { + + if (bindings.size() > 1) { + return true; + } else if (bindings.size() == 1 && + bindings.get(0) instanceof AutomaticBinding && + ((AutomaticBinding)bindings.get(0)).getIsAutomatic()) { + return false; + } else if (bindings.size() == 1) { + return true; + } else { + return false; + } } }
Added: tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java?rev=678491&view=auto ============================================================================== --- tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java (added) +++ tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java Mon Jul 21 10:37:59 2008 @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.assembly.builder.impl; + +import org.apache.tuscany.sca.assembly.AssemblyFactory; +import org.apache.tuscany.sca.assembly.Component; +import org.apache.tuscany.sca.assembly.ComponentService; +import org.apache.tuscany.sca.assembly.Composite; +import org.apache.tuscany.sca.assembly.CompositeService; +import org.apache.tuscany.sca.assembly.Service; +import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; +import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; + +/** + * A composite builder that handles the creation of promoted composite services. + * + * @version $Rev$ $Date$ + */ +public class CompositeServicePromotionBuilderImpl implements CompositeBuilder { + private AssemblyFactory assemblyFactory; + + public CompositeServicePromotionBuilderImpl(AssemblyFactory assemblyFactory) { + this.assemblyFactory = assemblyFactory; + } + + public void build(Composite composite) throws CompositeBuilderException { + + // Process top level composite services + for (Service service : composite.getServices()) { + CompositeService compositeService = (CompositeService)service; + + // Get the innermost promoted service + ComponentService promotedService = ServiceConfigurationUtil.getPromotedComponentService(compositeService); + if (promotedService != null) { + Component promotedComponent = ServiceConfigurationUtil.getPromotedComponent(compositeService); + + // Create a new component service to represent this composite + // service on the promoted component + ComponentService newComponentService = assemblyFactory.createComponentService(); + newComponentService.setName("$promoted$." + compositeService.getName()); + promotedComponent.getServices().add(newComponentService); + newComponentService.setService(promotedService.getService()); + newComponentService.getBindings().addAll(compositeService.getBindings()); + newComponentService.setInterfaceContract(compositeService.getInterfaceContract()); + if (compositeService.getInterfaceContract() != null && + compositeService.getInterfaceContract().getCallbackInterface() != null) { + newComponentService.setCallback(assemblyFactory.createCallback()); + newComponentService.getCallback().getBindings() + .addAll(compositeService.getCallback().getBindings()); + } + + // Change the composite service to now promote the newly + // created component service directly + compositeService.setPromotedComponent(promotedComponent); + compositeService.setPromotedService(newComponentService); + } + } + } + +} Modified: tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java (original) +++ tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java Mon Jul 21 10:37:59 2008 @@ -18,11 +18,21 @@ */ package org.apache.tuscany.sca.assembly.builder.impl; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; +import org.apache.tuscany.sca.assembly.AssemblyFactory; import org.apache.tuscany.sca.assembly.Binding; +import org.apache.tuscany.sca.assembly.ComponentReference; +import org.apache.tuscany.sca.assembly.CompositeReference; import org.apache.tuscany.sca.assembly.Multiplicity; import org.apache.tuscany.sca.assembly.OptimizableBinding; +import org.apache.tuscany.sca.assembly.Reference; +import org.apache.tuscany.sca.monitor.Monitor; +import org.apache.tuscany.sca.monitor.Problem; +import org.apache.tuscany.sca.monitor.Problem.Severity; /** * This class encapsulates utility methods to deal with reference definitions @@ -30,6 +40,21 @@ * @version $Rev$ $Date$ */ abstract class ReferenceConfigurationUtil { + + /** + * Report a warning. + * + * @param problems + * @param message + * @param model + */ + private static void warning(Monitor monitor, String message, Object model, String... messageParameters) { + if (monitor != null) { + Problem problem = new ProblemImpl(ReferenceConfigurationUtil.class.getName(), "assembly-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); + monitor.problem(problem); + } + } + static boolean isValidMultiplicityOverride(Multiplicity definedMul, Multiplicity overridenMul) { if (definedMul != overridenMul) { switch (definedMul) { @@ -92,4 +117,100 @@ } return true; } + + /** + * Follow a reference promotion chain down to the innermost (non composite) + * component references. + * + * @param compositeReference + * @return + */ + static List<ComponentReference> getPromotedComponentReferences(CompositeReference compositeReference) { + List<ComponentReference> componentReferences = new ArrayList<ComponentReference>(); + collectPromotedComponentReferences(compositeReference, componentReferences); + return componentReferences; + } + + /** + * Follow a reference promotion chain down to the innermost (non composite) + * component references. + * + * @param compositeReference + * @param componentReferences + * @return + */ + private static void collectPromotedComponentReferences(CompositeReference compositeReference, + List<ComponentReference> componentReferences) { + for (ComponentReference componentReference : compositeReference.getPromotedReferences()) { + Reference reference = componentReference.getReference(); + if (reference instanceof CompositeReference) { + + // Continue to follow the reference promotion chain + collectPromotedComponentReferences((CompositeReference)reference, componentReferences); + + } else if (reference != null) { + + // Found a non-composite reference + componentReferences.add(componentReference); + } + } + } + + /** + * Override the bindings for a promoted reference from an outer component + * reference + * + * @param reference + * @param promotedReference + */ + static void reconcileReferenceBindings(Reference reference, + ComponentReference promotedReference, + AssemblyFactory assemblyFactory, + Monitor monitor) { + List<Binding> bindings = new ArrayList<Binding>(); + + // collect the top level bindings first + for (Binding binding : reference.getBindings()) { + if ((!(binding instanceof OptimizableBinding)) || binding.getURI() != null) { + bindings.add(binding); + } + } + + // if there are not top level bindings to override the promoted bindings + // then collect the promoted bindings + if (bindings.size() == 0){ + for (Binding binding : promotedReference.getBindings()) { + if ((!(binding instanceof OptimizableBinding)) || binding.getURI() != null) { + bindings.add(binding); + } + } + } else { + // TUSCANY-2324: if bindings are being replaced, use the matching interface contract + promotedReference.setInterfaceContract(reference.getInterfaceContract()); + } + + promotedReference.getBindings().clear(); + promotedReference.getBindings().addAll(bindings); + + if (promotedReference.getMultiplicity() == Multiplicity.ONE_ONE || + promotedReference.getMultiplicity() == Multiplicity.ZERO_ONE) { + if (promotedReference.getBindings().size() > 1) { + warning(monitor, "ComponentReferenceMoreWire", promotedReference, promotedReference.getName()); + } + } + Set<Binding> callbackBindings = new HashSet<Binding>(); + if (promotedReference.getCallback() != null) { + callbackBindings.addAll(promotedReference.getCallback().getBindings()); + } + if (reference.getCallback() != null) { + callbackBindings.addAll(reference.getCallback().getBindings()); + } + promotedReference.setCallback(assemblyFactory.createCallback()); + for (Binding binding : callbackBindings) { + if ((!(binding instanceof OptimizableBinding)) || binding.getURI() != null) { + promotedReference.getCallback().getBindings().add(binding); + } + } + } + } Modified: tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.java (original) +++ tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.java Mon Jul 21 10:37:59 2008 @@ -18,6 +18,7 @@ */ package org.apache.tuscany.sca.assembly.builder.impl; +import org.apache.tuscany.sca.assembly.Component; import org.apache.tuscany.sca.assembly.ComponentService; import org.apache.tuscany.sca.assembly.CompositeService; import org.apache.tuscany.sca.assembly.Service; @@ -56,4 +57,32 @@ return null; } } + + /** + * Follow a service promotion chain down to the innermost (non-composite) component. + * + * @param compositeService + * @return + */ + static Component getPromotedComponent(CompositeService compositeService) { + ComponentService componentService = compositeService.getPromotedService(); + if (componentService != null) { + Service service = componentService.getService(); + if (componentService.getName() != null && service instanceof CompositeService) { + + // Continue to follow the service promotion chain + return getPromotedComponent((CompositeService)service); + + } else { + + // Found a non-composite service + return compositeService.getPromotedComponent(); + } + } else { + + // No promoted service + return null; + } + } + } Modified: tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java (original) +++ tuscany/branches/sca-java-1.3/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java Mon Jul 21 10:37:59 2008 @@ -40,6 +40,7 @@ private List<ComponentService> targets = new ArrayList<ComponentService>(); private Callback callback; private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>(); + private boolean promotionOverride; public List<PolicySet> getApplicablePolicySets() { return applicablePolicySets; @@ -93,6 +94,14 @@ this.wiredByImpl = wiredByImpl; } + public boolean isPromotionOverride() { + return promotionOverride; + } + + public void setPromotionOverride(boolean promotionOverride) { + this.promotionOverride = promotionOverride; + } + public List<PolicySet> getPolicySets() { return policySets; } Modified: tuscany/branches/sca-java-1.3/modules/assembly/src/main/resources/assembly-validation-messages.properties URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/assembly/src/main/resources/assembly-validation-messages.properties?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/assembly/src/main/resources/assembly-validation-messages.properties (original) +++ tuscany/branches/sca-java-1.3/modules/assembly/src/main/resources/assembly-validation-messages.properties Mon Jul 21 10:37:59 2008 @@ -38,6 +38,7 @@ ReferenceIncompatibleComponentInterface = Component reference interface incompatible with reference interface: Component = {0} Reference = {1} ServiceIncompatibleComponentInterface = Component service interface incompatible with service interface: Component = {0} Service = {1} MultipleBindingsForService = Multiple bindings with the same name for a service: Binding = {0} Service = {1} Binding = {2} +MultipleBindingsForReference = Multiple bindings with the same name for a reference: Binding = {0} Reference = {1} Binding = {2} ReferenceWithoutTargets = No targets for reference: Composite = {0} Reference = {1} PromotedReferenceNotFound = Promoted component reference not found: Composite = {0} Reference = {1} PromotedServiceNotFound = Promoted component service not found: Composite = {0} Service = {1} Modified: tuscany/branches/sca-java-1.3/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java (original) +++ tuscany/branches/sca-java-1.3/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java Mon Jul 21 10:37:59 2008 @@ -206,7 +206,7 @@ CompositeService compositeService = (CompositeService)componentService.getService(); if (compositeService != null) { if (serviceName != null) { - serviceName = "$promoted$." + serviceName; + serviceName = "$promoted$." + component.getName() + "." + serviceName; } componentContext = ((RuntimeComponent)compositeService.getPromotedComponent()).getComponentContext(); Modified: tuscany/branches/sca-java-1.3/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLServiceGenerator.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLServiceGenerator.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLServiceGenerator.java (original) +++ tuscany/branches/sca-java-1.3/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLServiceGenerator.java Mon Jul 21 10:37:59 2008 @@ -151,13 +151,19 @@ AbstractContract contract, Monitor monitor) { + //[nash] changes to the builder sequence avoid calling this for a CompositeService + assert !(contract instanceof CompositeService); + /* // For every promoted composite service, the underlying component // gets a copy of the service with the name prefixed by "$promoted$." String contractName = (contract instanceof CompositeService ? "$promoted$." : "") + contract.getName(); + */ + String contractName = contract.getName(); List<Port> ports = new ArrayList<Port>(); WSDLDefinition wsdlDefinition = wsBinding.getWSDLDefinition(); if (wsdlDefinition == null) { + error(monitor, "NoWsdlInterface", wsBinding, component.getName(), contract.getName()); return null; } Definition def = wsdlDefinition.getDefinition(); Modified: tuscany/branches/sca-java-1.3/modules/binding-ws-wsdlgen/src/main/resources/wsdlgen-validation-messages.properties URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/binding-ws-wsdlgen/src/main/resources/wsdlgen-validation-messages.properties?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/binding-ws-wsdlgen/src/main/resources/wsdlgen-validation-messages.properties (original) +++ tuscany/branches/sca-java-1.3/modules/binding-ws-wsdlgen/src/main/resources/wsdlgen-validation-messages.properties Mon Jul 21 10:37:59 2008 @@ -28,3 +28,4 @@ BindingNotFound = Binding {0} in {1}/{2} was not found InvalidPort = Port {0}/{1} in {2}/{3} is not supported NoValidPorts = No valid ports for service {0} in {1}/{2} +NoWsdlInterface = No WSDL interface definition for {1}/{2} Modified: tuscany/branches/sca-java-1.3/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java (original) +++ tuscany/branches/sca-java-1.3/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java Mon Jul 21 10:37:59 2008 @@ -561,7 +561,7 @@ CompositeService compositeService = (CompositeService)componentService.getService(); if (compositeService != null) { if (serviceName != null) { - serviceName = "$promoted$." + serviceName; + serviceName = "$promoted$." + component.getName() + "." + serviceName; } componentContext = ((RuntimeComponent)compositeService.getPromotedComponent()).getComponentContext(); Modified: tuscany/branches/sca-java-1.3/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java (original) +++ tuscany/branches/sca-java-1.3/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java Mon Jul 21 10:37:59 2008 @@ -203,7 +203,7 @@ CompositeService compositeService = (CompositeService)componentService.getService(); if (compositeService != null) { if (serviceName != null) { - serviceName = "$promoted$." + serviceName; + serviceName = "$promoted$." + component.getName() + "." + serviceName; } componentContext = ((RuntimeComponent)compositeService.getPromotedComponent()).getComponentContext(); Modified: tuscany/branches/sca-java-1.3/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java (original) +++ tuscany/branches/sca-java-1.3/modules/node2-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java Mon Jul 21 10:37:59 2008 @@ -639,7 +639,7 @@ CompositeService compositeService = (CompositeService)componentService.getService(); if (compositeService != null) { if (serviceName != null) { - serviceName = "$promoted$." + serviceName; + serviceName = "$promoted$." + component.getName() + "." + serviceName; } componentContext = ((RuntimeComponent)compositeService.getPromotedComponent()).getComponentContext(); Modified: tuscany/branches/sca-java-1.3/samples/databinding-echo/src/main/resources/EchoDataBinding.composite URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/samples/databinding-echo/src/main/resources/EchoDataBinding.composite?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/samples/databinding-echo/src/main/resources/EchoDataBinding.composite (original) +++ tuscany/branches/sca-java-1.3/samples/databinding-echo/src/main/resources/EchoDataBinding.composite Mon Jul 21 10:37:59 2008 @@ -38,13 +38,13 @@ </component> <reference name="EchoReference" promote="ComponentB/echoReference"> - <!-- - <interface.java interface="dbecho.Echo"/> - --> + <interface.java interface="dbecho.Echo"/> + <!-- Replaced interface.wsdl by interface.java because TUSCANY-2324 fix uses the interface specified here <interface.wsdl interface="http://example.com/echo.wsdl#wsdl.interface(EchoPortType)" wsdli:wsdlLocation="http://example.com/echo.wsdl wsdl/echo.wsdl"> <db:databinding xmlns:db="http://tuscany.apache.org/xmlns/sca/databinding/1.0" name="org.apache.axiom.om.OMElement" /> </interface.wsdl> + --> <e:binding.echo/> </reference> @@ -55,4 +55,4 @@ </foo> </property> -</composite> +</composite> \ No newline at end of file Modified: tuscany/branches/sca-java-1.3/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite?rev=678491&r1=678490&r2=678491&view=diff ============================================================================== --- tuscany/branches/sca-java-1.3/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite (original) +++ tuscany/branches/sca-java-1.3/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite Mon Jul 21 10:37:59 2008 @@ -101,7 +101,9 @@ </component> <reference name="availQuoteProvider" promote="QuoteJoinExternalReferencesComponent/availQuoteProvider"> + <!-- removed because it doesn't work with TUSCANY-2324 fix <interface.java interface="xquery.quote.AvailQuoteProviderService" /> + --> <binding.ws wsdlElement="http://quote.xquery#wsdl.port(AvailQuoteProviderService/AvailQuoteProviderSoapPort)" /> </reference> <reference name="quoteJoinWs" promote="QuoteJoinLocalComponent/quoteJoinWs">
