summaryrefslogtreecommitdiffstats
path: root/java/sca
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-08-14 10:11:05 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-08-14 10:11:05 +0000
commit098f9dda6f016c0e1465963899d02186cd2e89ff (patch)
tree7b980f242e3a7f13de46a22b9fefd724ad21cd7b /java/sca
parent4b1df145164e6f42fdc06622cac0b59b69839780 (diff)
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
Diffstat (limited to 'java/sca')
-rw-r--r--java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.java18
1 files changed, 11 insertions, 7 deletions
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<QName, List<String>> 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<QName, List<String>> 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();
}