From 098f9dda6f016c0e1465963899d02186cd2e89ff Mon Sep 17 00:00:00 2001 From: antelder Date: Fri, 14 Aug 2009 10:11:05 +0000 Subject: Start of fixes for service endpoints as being discussed on the ML. The logic of this code seems qite hard to work out so its hard to tell what some of the code is for and there's few tests. If you spot an issue just go ahead and fix it and add a new test git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@804156 13f79535-47bb-0310-9956-ffa450edef68 --- .../builder/impl/CompositeBindingURIBuilderImpl.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'java/sca/modules/assembly') diff --git a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.java b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.java index a52b645de6..2a88281f68 100644 --- a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.java +++ b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.java @@ -326,8 +326,7 @@ public class CompositeBindingURIBuilderImpl extends BaseBuilderImpl implements C Monitor monitor) throws CompositeBuilderException { // This is a composite service so there is no component to provide a component URI // The path to this composite (through nested composites) is used. - boolean includeBindingName = service.getEndpoints().size() > 1; - constructBindingURI(parentComponentURI, service, binding, includeBindingName, defaultBindings, monitor); + constructBindingURI(parentComponentURI, service, binding, defaultBindings, monitor); } /** @@ -345,8 +344,7 @@ public class CompositeBindingURIBuilderImpl extends BaseBuilderImpl implements C Binding binding, Map> defaultBindings, Monitor monitor) throws CompositeBuilderException { - boolean includeBindingName = service.getEndpoints().size() > 1; - constructBindingURI(component.getURI(), service, binding, includeBindingName, defaultBindings, monitor); + constructBindingURI(component.getURI(), service, binding, defaultBindings, monitor); } /** @@ -362,11 +360,13 @@ public class CompositeBindingURIBuilderImpl extends BaseBuilderImpl implements C private void constructBindingURI(String componentURIString, Service service, Binding binding, - boolean includeBindingName, Map> defaultBindings, Monitor monitor) throws CompositeBuilderException { try { + + boolean includeBindingName = !service.getName().equals(binding.getName()); + // calculate the service binding URI URI bindingURI; if (binding.getURI() != null) { @@ -467,13 +467,17 @@ public class CompositeBindingURIBuilderImpl extends BaseBuilderImpl implements C if (baseURI == null) { if (componentURI == null) { if (bindingURI != null) { - uriString = bindingURI.toString(); + uriString = name + "/" + bindingURI.toString(); } else { uriString = name; } } else { if (bindingURI != null) { - uriString = componentURI.resolve(bindingURI).toString(); + if (bindingURI.toString().startsWith("/")) { + uriString = componentURI.resolve(bindingURI).toString(); + } else { + uriString = componentURI.resolve(name + "/" + bindingURI).toString(); + } } else { uriString = componentURI.resolve(name).toString(); } -- cgit v1.2.3