diff options
Diffstat (limited to '')
-rw-r--r-- | sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java b/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java index 2b5ec445e3..dab5fb3d5e 100644 --- a/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java +++ b/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java @@ -554,9 +554,17 @@ public class ComponentPolicyBuilderImpl { } else { // The ExtensionType on the subject only has the binding name. The one in the system // definitions will have the mayProvide/alwaysProvides values - for ( ExtensionType et : context.getDefinitions().getBindingTypes() ) { - if ( type.getType().equals(et.getType()) ) { - type = et; + if (type.getType().getLocalPart().startsWith("implementation")) { + for ( ExtensionType et : context.getDefinitions().getImplementationTypes() ) { + if ( type.getType().equals(et.getType()) ) { + type = et; + } + } + } else { + for ( ExtensionType et : context.getDefinitions().getBindingTypes() ) { + if ( type.getType().equals(et.getType()) ) { + type = et; + } } } |