You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by bd...@apache.org on 2010/07/26 06:37:28 UTC

svn commit: r979155 - /tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java

Author: bdaniel
Date: Mon Jul 26 04:37:27 2010
New Revision: 979155

URL: http://svn.apache.org/viewvc?rev=979155&view=rev
Log:
Check constrained types for the qualifiable parent of a qualified intent

Modified:
    tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java

Modified: tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java?rev=979155&r1=979154&r2=979155&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java Mon Jul 26 04:37:27 2010
@@ -110,7 +110,7 @@ public class ComponentPolicyBuilderImpl 
                     // The intents are merged and the exclusion check will be done after
                     for (Intent intent : subject.getRequiredIntents()) {
                         if (!policySubject.getRequiredIntents().contains(intent)){
-                            if (intentType != null) {
+                            if ((intent.getType() != null) && (intentType != null) ) {
                                 if (intent.getType().equals(intentType)){
                                     policySubject.getRequiredIntents().add(intent);
                                 }
@@ -392,7 +392,7 @@ public class ComponentPolicyBuilderImpl 
                 subject.getRequiredIntents().remove(i);
                 subject.getRequiredIntents().add(i.getDefaultQualifiedIntent());
             }
-        }
+        }       
     }
     protected void resolveAndNormalize(PolicySubject subject, BuilderContext context) {
         Definitions definitions = context.getDefinitions();
@@ -469,7 +469,11 @@ public class ComponentPolicyBuilderImpl 
         if(extensionType != null){
             List<Intent> copy = new ArrayList<Intent>(intents);
             for (Intent i : copy) {
-                if (i.getConstrainedTypes().size() > 0){
+            	List<ExtensionType> constrainedTypes = i.getConstrainedTypes();
+            	if (( constrainedTypes.size() == 0 ) && ( i.getQualifiableIntent() != null ) )  
+            		constrainedTypes = i.getQualifiableIntent().getConstrainedTypes();
+            	
+                if (constrainedTypes.size() > 0){
                     boolean constraintFound = false;
                     for (ExtensionType constrainedType : i.getConstrainedTypes()){
                         if (constrainedType.getType().equals(extensionType.getType()) ||