Author: slaws
Date: Tue Sep 14 15:57:34 2010
New Revision: 996966

URL: http://svn.apache.org/viewvc?rev=996966&view=rev
Log:
TUSCANY-3631 - re-enable the test basic auth test case. The issue was that the 
appliesTo processing wasn't removing policy sets from 
Endpoints/EndpointReferences it was just removing them from the 
Service/Reference models. The Endpoint/EndpointReference versions are used to 
drive the runtime processing. 

Modified:
    
tuscany/sca-java-2.x/trunk/itest/ws/authentication-basic/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/HelloworldTestCase.java
    
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/itest/ws/authentication-basic/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/HelloworldTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws/authentication-basic/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/HelloworldTestCase.java?rev=996966&r1=996965&r2=996966&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/itest/ws/authentication-basic/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/HelloworldTestCase.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/itest/ws/authentication-basic/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/HelloworldTestCase.java
 Tue Sep 14 15:57:34 2010
@@ -27,7 +27,7 @@ import org.apache.tuscany.sca.node.Node;
 import org.apache.tuscany.sca.node.NodeFactory;
 import org.junit.Ignore;
 
-...@ignore("TUSCANY-3631")
+//@Ignore("TUSCANY-3631")
 public class HelloworldTestCase extends TestCase {
 
     private Node node;

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=996966&r1=996965&r2=996966&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
 Tue Sep 14 15:57:34 2010
@@ -96,18 +96,22 @@ public class PolicyAppliesToBuilderImpl 
 
                for (ComponentService componentService : 
component.getServices()) {
                        for (Endpoint ep : componentService.getEndpoints()) {
-                               checkAppliesToSubject(document, 
appliesToSubjects, topComposite, (PolicySubject)ep.getService(), 
ep.getService().getPolicySets());
+                           List<PolicySet> policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)ep.getService(), ep.getService().getPolicySets());
+                           ep.getPolicySets().removeAll(policySetsToRemove);
                                if (ep.getBinding() instanceof PolicySubject) {
-                                       checkAppliesToSubject(document, 
appliesToSubjects, topComposite, (PolicySubject)ep.getBinding(), 
((PolicySubject)ep.getBinding()).getPolicySets());
+                                   policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)ep.getBinding(), 
((PolicySubject)ep.getBinding()).getPolicySets());
+                                   
ep.getPolicySets().removeAll(policySetsToRemove);
                                }
                        }
                }
 
                for (ComponentReference componentReference : 
component.getReferences()) {
                        for (EndpointReference epr : 
componentReference.getEndpointReferences()) {
-                               checkAppliesToSubject(document, 
appliesToSubjects, topComposite, (PolicySubject)epr.getReference(), 
epr.getReference().getPolicySets());
+                           List<PolicySet> policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)epr.getReference(), epr.getReference().getPolicySets());
+                           epr.getPolicySets().removeAll(policySetsToRemove);
                                if (epr.getBinding() instanceof PolicySubject) {
-                                       checkAppliesToSubject(document, 
appliesToSubjects, topComposite, (PolicySubject)epr.getBinding(), 
((PolicySubject)epr.getBinding()).getPolicySets());                             
      
+                                   policySetsToRemove = 
checkAppliesToSubject(document, appliesToSubjects, topComposite, 
(PolicySubject)epr.getBinding(), 
((PolicySubject)epr.getBinding()).getPolicySets());
+                                   
epr.getPolicySets().removeAll(policySetsToRemove);
                                } 
                        }
                }
@@ -133,7 +137,7 @@ public class PolicyAppliesToBuilderImpl 
      * @return
      * @throws Exception
      */
-    private void checkAppliesToSubject(Document document, Map<PolicySet, 
List<PolicySubject>> appliesToSubjects, Composite composite, PolicySubject 
policySubject, List<PolicySet> policySets) throws Exception {
+    private List<PolicySet> checkAppliesToSubject(Document document, 
Map<PolicySet, List<PolicySubject>> appliesToSubjects, Composite composite, 
PolicySubject policySubject, List<PolicySet> policySets) throws Exception {
         List<PolicySet> policySetsToRemove = new ArrayList<PolicySet>();
         
         for (PolicySet policySet : policySets){
@@ -170,6 +174,7 @@ public class PolicyAppliesToBuilderImpl 
 
         }
         
-        policySets.removeAll(policySetsToRemove);      
+        policySets.removeAll(policySetsToRemove); 
+        return policySetsToRemove;
     }    
 }


Reply via email to