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()) ||


Reply via email to