From a0d8a49fa968f508993af66c8b48dd375252d73c Mon Sep 17 00:00:00 2001 From: bdaniel Date: Mon, 19 Jul 2010 18:34:04 +0000 Subject: Inherit elements lower in the hierarchy first to ensure inheritance of mutually exclusive intents is handled correctly git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@965578 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/builder/impl/CompositePolicyBuilderImpl.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'sca-java-2.x') diff --git a/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java b/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java index d8c5db6524..db26b4550a 100644 --- a/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java +++ b/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java @@ -108,11 +108,13 @@ public class CompositePolicyBuilderImpl extends ComponentPolicyBuilderImpl imple inherit(ep, Intent.Type.interaction, true, componentService.getInterfaceContract().getInterface()); } - // Inherit from composite/component/service - inherit(ep, Intent.Type.interaction, true, composite, ep.getComponent(), ep.getService()); - // Inherit from binding inherit(ep, Intent.Type.interaction, true, ep.getBinding()); + + // Inherit from composite/component/service + inherit(ep, Intent.Type.interaction, true, ep.getService(), ep.getComponent(), composite ); + + // Replace profile intents with their required intents // Replace unqualified intents if there is a qualified intent in the list @@ -160,13 +162,15 @@ public class CompositePolicyBuilderImpl extends ComponentPolicyBuilderImpl imple if (componentReference.getInterfaceContract() != null) { inherit(epr, Intent.Type.interaction, true, componentReference.getInterfaceContract().getInterface()); } - - // Inherit from composite/component/reference - inherit(epr, Intent.Type.interaction, true, composite, epr.getComponent(), epr.getReference()); // Inherit from binding inherit(epr, Intent.Type.interaction, true, epr.getBinding()); + // Inherit from composite/component/reference + inherit(epr, Intent.Type.interaction, true, epr.getReference(), epr.getComponent(), composite); + + + // Replace profile intents with their required intents // Replace unqualified intents if there is a qualified intent in the list // Replace qualifiable intents with the default qualified intent -- cgit v1.2.3