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