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) {