Author: slaws
Date: Thu Jun 23 12:57:26 2011
New Revision: 1138859

URL: http://svn.apache.org/viewvc?rev=1138859&view=rev
Log:
TUSCANY-3878 - check policy language equality based on the namspace of the 
policy element rather than the full element QName

Modified:
    
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
    
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentPolicyBuilderImpl.java
    
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java?rev=1138859&r1=1138858&r2=1138859&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
 Thu Jun 23 12:57:26 2011
@@ -224,8 +224,8 @@ public class PolicySetProcessor extends 
                             // check that all the policies in the policy set 
are 
                             // expressed in the same language. Compare against 
the 
                             // first expression we added
-                            if ((policySet.getPolicies().size() > 0) && 
(!policySet.getPolicies().get(0).getName()
-                                .equals(name))) {
+                            if ((policySet.getPolicies().size() > 0) && 
+                                
(!policySet.getPolicies().get(0).getName().getNamespaceURI().equals(name.getNamespaceURI())))
 {
                                 error(monitor, "PolicyLanguageMissmatch", 
reader, policySet.getName(), policySet
                                     .getPolicies().get(0).getName(), name);
                             } else {

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=1138859&r1=1138858&r2=1138859&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
 Thu Jun 23 12:57:26 2011
@@ -558,14 +558,14 @@ public class ComponentPolicyBuilderImpl 
         }
     }
 
-    protected Set<QName> getPolicyNames(PolicySubject subject) {
+    protected Set<String> getPolicyNames(PolicySubject subject) {
         if (subject == null) {
             return Collections.emptySet();
         }
-        Set<QName> names = new HashSet<QName>();
+        Set<String> names = new HashSet<String>();
         for (PolicySet ps : subject.getPolicySets()) {
             for (PolicyExpression exp : ps.getPolicies()) {
-                names.add(exp.getName());
+                names.add(exp.getName().getNamespaceURI());
             }
         }
         return names;

Modified: 
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java?rev=1138859&r1=1138858&r2=1138859&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/CompositePolicyBuilderImpl.java
 Thu Jun 23 12:57:26 2011
@@ -42,6 +42,7 @@ import org.apache.tuscany.sca.core.Exten
 import org.apache.tuscany.sca.interfacedef.Operation;
 import org.apache.tuscany.sca.monitor.Monitor;
 import org.apache.tuscany.sca.policy.Intent;
+import org.apache.tuscany.sca.policy.PolicyExpression;
 import org.apache.tuscany.sca.policy.PolicySet;
 import org.apache.tuscany.sca.policy.PolicySubject;
 import org.apache.tuscany.sca.policy.util.PolicyHelper;
@@ -410,7 +411,7 @@ public class CompositePolicyBuilderImpl 
 
             for (ComponentService componentService : component.getServices()) {
                 for (Endpoint ep : componentService.getEndpoints()) {
-                    Set<QName> policyNames = getPolicyNames(ep);
+                    Set<String> policyNames = getPolicyNames(ep);
                     
                     // check that only one policy language is present in the 
endpoint's policy sets
                     if (policyNames.size() > 1){
@@ -420,19 +421,21 @@ public class CompositePolicyBuilderImpl 
                               ep.toString(), 
                               policyNames.toString());
                     } else {
-                        for (QName policyType : policyNames) {
-                            PolicyBuilder builder = 
builders.getPolicyBuilder(policyType);
-                            if (builder != null) {
-                                builder.build(ep, context);
+                        for (PolicySet ps : ep.getPolicySets()) {
+                            for (PolicyExpression exp : ps.getPolicies()) {
+                                PolicyBuilder builder = 
builders.getPolicyBuilder(exp.getName());
+                                if (builder != null) {
+                                    builder.build(ep, context);
+                                }                
                             }
-                        }
+                        }                        
                     }
                 }
             }
 
             for (ComponentReference componentReference : 
component.getReferences()) {
                 for (EndpointReference epr : 
componentReference.getEndpointReferences()) {
-                    Set<QName> policyNames = getPolicyNames(epr);
+                    Set<String> policyNames = getPolicyNames(epr);
                     
                     // check that only one policy language is present in the 
endpoint references's policy sets
                     if (policyNames.size() > 1){
@@ -442,10 +445,12 @@ public class CompositePolicyBuilderImpl 
                               epr.toString(), 
                               policyNames.toString());
                     } else {                    
-                        for (QName policyType : policyNames) {
-                            PolicyBuilder builder = 
builders.getPolicyBuilder(policyType);
-                            if (builder != null) {
-                                builder.build(epr, context);
+                        for (PolicySet ps : epr.getPolicySets()) {
+                            for (PolicyExpression exp : ps.getPolicies()) {
+                                PolicyBuilder builder = 
builders.getPolicyBuilder(exp.getName());
+                                if (builder != null) {
+                                    builder.build(epr, context);
+                                }
                             }
                         }
                     }
@@ -454,7 +459,7 @@ public class CompositePolicyBuilderImpl 
 
             Implementation implementation = component.getImplementation();
             if (implementation != null) {
-                Set<QName> policyNames = getPolicyNames(implementation);
+                Set<String> policyNames = getPolicyNames(implementation);
                 
                 // check that only one policy language is present in the 
implementations's policy sets
                 if (policyNames.size() > 1){
@@ -464,10 +469,12 @@ public class CompositePolicyBuilderImpl 
                           component.toString(), 
                           policyNames.toString());
                 } else {
-                    for (QName policyType : policyNames) {
-                        PolicyBuilder builder = 
builders.getPolicyBuilder(policyType);
-                        if (builder != null) {
-                            builder.build(component, implementation, context);
+                    for (PolicySet ps : implementation.getPolicySets()) {
+                        for (PolicyExpression exp : ps.getPolicies()) {        
            
+                            PolicyBuilder builder = 
builders.getPolicyBuilder(exp.getName());
+                            if (builder != null) {
+                                builder.build(component, implementation, 
context);
+                            }
                         }
                     }
                 }


Reply via email to