You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2013/02/12 18:30:14 UTC
svn commit: r1445283 -
/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java
Author: dkulp
Date: Tue Feb 12 17:30:13 2013
New Revision: 1445283
URL: http://svn.apache.org/r1445283
Log:
Assertions that are not found in the map should not be asserted.
Modified:
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java?rev=1445283&r1=1445282&r2=1445283&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java Tue Feb 12 17:30:13 2013
@@ -100,13 +100,20 @@ public class AssertionInfoMap extends Ha
} else if (assertion instanceof Assertion) {
Assertion ass = (Assertion)assertion;
Collection<AssertionInfo> ail = getAssertionInfo(ass.getName());
+ boolean found = false;
for (AssertionInfo ai : ail) {
- if (ai.getAssertion().equal(ass)
- && !ai.isAsserted() && !ass.isOptional()) {
- errors.add(ass.getName());
- pass = false;
+ if (ai.getAssertion().equal(ass)) {
+ found = true;
+ if (!ai.isAsserted() && !ass.isOptional()) {
+ errors.add(ass.getName());
+ pass = false;
+ }
}
}
+ if (!found) {
+ errors.add(ass.getName());
+ return false;
+ }
}
if (assertion instanceof PolicyContainingAssertion) {
Policy p = ((PolicyContainingAssertion)assertion).getPolicy();
@@ -149,6 +156,7 @@ public class AssertionInfoMap extends Ha
for (QName name : errors) {
Collection<AssertionInfo> ais = getAssertionInfo(name);
+ boolean found = false;
for (AssertionInfo ai : ais) {
if (!ai.isAsserted()) {
String s = name.toString();
@@ -156,8 +164,12 @@ public class AssertionInfoMap extends Ha
s += ": " + ai.getErrorMessage();
}
msgs.add(s);
+ found = true;
}
}
+ if (!found) {
+ msgs.add(name.toString());
+ }
}
StringBuilder error = new StringBuilder();
for (String msg : msgs) {