Author: bdaniel
Date: Fri Jun 17 21:27:59 2011
New Revision: 1137040

URL: http://svn.apache.org/viewvc?rev=1137040&view=rev
Log:
Correctly remove policies from endpoints and endpoint references when there are 
multiple endpoints

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

Modified: 
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/PolicyAppliesToBuilderImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/PolicyAppliesToBuilderImpl.java?rev=1137040&r1=1137039&r2=1137040&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/PolicyAppliesToBuilderImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/PolicyAppliesToBuilderImpl.java
 Fri Jun 17 21:27:59 2011
@@ -101,23 +101,23 @@ public class PolicyAppliesToBuilderImpl 
        for (Component component : topComposite.getComponents()) {
 
                for (ComponentService componentService : 
component.getServices()) {
-                       for (Endpoint ep : componentService.getEndpoints()) {
-                           List<PolicySet> policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)ep.getService(), ep.getService().getPolicySets());
+                       List<PolicySet> policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
componentService, componentService.getPolicySets());
+                       for (Endpoint ep : componentService.getEndpoints()) {   
                            
                            ep.getPolicySets().removeAll(policySetsToRemove);
                                if (ep.getBinding() instanceof PolicySubject) {
-                                   policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)ep.getBinding(), 
((PolicySubject)ep.getBinding()).getPolicySets());
-                                   
ep.getPolicySets().removeAll(policySetsToRemove);
+                                   List<PolicySet> bindingPolicySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)ep.getBinding(), 
((PolicySubject)ep.getBinding()).getPolicySets());
+                                   
ep.getPolicySets().removeAll(bindingPolicySetsToRemove);
                                }
                        }
                }
 
                for (ComponentReference componentReference : 
component.getReferences()) {
-                       for (EndpointReference epr : 
componentReference.getEndpointReferences()) {
-                           List<PolicySet> policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)epr.getReference(), epr.getReference().getPolicySets());
+                       List<PolicySet> policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
componentReference, componentReference.getPolicySets());
+                       for (EndpointReference epr : 
componentReference.getEndpointReferences()) {                          
                            epr.getPolicySets().removeAll(policySetsToRemove);
                                if (epr.getBinding() instanceof PolicySubject) {
-                                   policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)epr.getBinding(), 
((PolicySubject)epr.getBinding()).getPolicySets());
-                                   
epr.getPolicySets().removeAll(policySetsToRemove);
+                                   List<PolicySet> bindingPolicySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)epr.getBinding(), 
((PolicySubject)epr.getBinding()).getPolicySets());
+                                   
epr.getPolicySets().removeAll(bindingPolicySetsToRemove);
                                } 
                        }
                }


Reply via email to