Author: coheigea
Date: Mon Jun 30 10:01:16 2014
New Revision: 1606661

URL: http://svn.apache.org/r1606661
Log:
Minor fix to avoid creating an iterator

Modified:
    
webservices/wss4j/trunk/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/PolicyEnforcer.java

Modified: 
webservices/wss4j/trunk/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/PolicyEnforcer.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/PolicyEnforcer.java?rev=1606661&r1=1606660&r2=1606661&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/PolicyEnforcer.java
 (original)
+++ 
webservices/wss4j/trunk/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/PolicyEnforcer.java
 Mon Jun 30 10:01:16 2014
@@ -384,24 +384,26 @@ public class PolicyEnforcer implements S
     private void verifyPolicy(SecurityEvent securityEvent) throws 
WSSPolicyException, XMLSecurityException {
         {
             //We have to check the failed assertions for logging purposes 
firstly...
-            Iterator<Map<SecurityEventConstants.Event, Map<Assertion, 
List<Assertable>>>> assertionStateMapIterator = 
this.failedAssertionStateMap.iterator();
-            alternative:
-            while (assertionStateMapIterator.hasNext()) {
-                Map<SecurityEventConstants.Event, Map<Assertion, 
List<Assertable>>> map = assertionStateMapIterator.next();
-                //every list entry counts as an alternative...
-                Map<Assertion, List<Assertable>> assertionListMap = 
map.get(securityEvent.getSecurityEventType());
-                if (assertionListMap != null && assertionListMap.size() > 0) {
-                    Iterator<Map.Entry<Assertion, List<Assertable>>> 
assertionStateIterator = assertionListMap.entrySet().iterator();
-                    while (assertionStateIterator.hasNext()) {
-                        Map.Entry<Assertion, List<Assertable>> 
assertionStateEntry = assertionStateIterator.next();
-                        List<Assertable> assertionStates = 
assertionStateEntry.getValue();
-                        Iterator<Assertable> assertableIterator = 
assertionStates.iterator();
-                        while (assertableIterator.hasNext()) {
-                            Assertable assertable = assertableIterator.next();
-                            boolean asserted = 
assertable.assertEvent(securityEvent);
-                            //...so if one fails, continue with the next map 
entry and increment the notAssertedCount
-                            if (!asserted) {
-                                continue alternative;
+            if (!this.failedAssertionStateMap.isEmpty()) {
+                Iterator<Map<SecurityEventConstants.Event, Map<Assertion, 
List<Assertable>>>> assertionStateMapIterator = 
this.failedAssertionStateMap.iterator();
+                alternative:
+                while (assertionStateMapIterator.hasNext()) {
+                    Map<SecurityEventConstants.Event, Map<Assertion, 
List<Assertable>>> map = assertionStateMapIterator.next();
+                    //every list entry counts as an alternative...
+                    Map<Assertion, List<Assertable>> assertionListMap = 
map.get(securityEvent.getSecurityEventType());
+                    if (assertionListMap != null && assertionListMap.size() > 
0) {
+                        Iterator<Map.Entry<Assertion, List<Assertable>>> 
assertionStateIterator = assertionListMap.entrySet().iterator();
+                        while (assertionStateIterator.hasNext()) {
+                            Map.Entry<Assertion, List<Assertable>> 
assertionStateEntry = assertionStateIterator.next();
+                            List<Assertable> assertionStates = 
assertionStateEntry.getValue();
+                            Iterator<Assertable> assertableIterator = 
assertionStates.iterator();
+                            while (assertableIterator.hasNext()) {
+                                Assertable assertable = 
assertableIterator.next();
+                                boolean asserted = 
assertable.assertEvent(securityEvent);
+                                //...so if one fails, continue with the next 
map entry and increment the notAssertedCount
+                                if (!asserted) {
+                                    continue alternative;
+                                }
                             }
                         }
                     }
@@ -548,6 +550,10 @@ public class PolicyEnforcer implements S
     }
 
     private void logFailedAssertions() {
+        if (this.failedAssertionStateMap.isEmpty()) {
+            return;
+        }
+        
         Iterator<Map<SecurityEventConstants.Event, Map<Assertion, 
List<Assertable>>>> assertionStateMapIterator = 
this.failedAssertionStateMap.iterator();
         while (assertionStateMapIterator.hasNext()) {
             Map<SecurityEventConstants.Event, Map<Assertion, 
List<Assertable>>> map = assertionStateMapIterator.next();


Reply via email to