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/13 18:09:29 UTC

svn commit: r1445749 - /cxf/branches/2.5.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java

Author: dkulp
Date: Wed Feb 13 17:09:29 2013
New Revision: 1445749

URL: http://svn.apache.org/r1445749
Log:
Merged revisions 1445729 via  git cherry-pick from
https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes

........
  r1445729 | dkulp | 2013-02-13 11:48:38 -0500 (Wed, 13 Feb 2013) | 18 lines

  Merged revisions 1445377 via  git cherry-pick from
  https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes

  ........
    r1445377 | dkulp | 2013-02-12 16:16:06 -0500 (Tue, 12 Feb 2013) | 10 lines

    Merged revisions 1445283 via  git cherry-pick from
    https://svn.apache.org/repos/asf/cxf/trunk

    ........
      r1445283 | dkulp | 2013-02-12 12:30:13 -0500 (Tue, 12 Feb 2013) | 2 lines

      Assertions that are not found in the map should not be asserted.

    ........

  ........

........

Modified:
    cxf/branches/2.5.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java

Modified: cxf/branches/2.5.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java?rev=1445749&r1=1445748&r2=1445749&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java (original)
+++ cxf/branches/2.5.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java Wed Feb 13 17:09:29 2013
@@ -99,13 +99,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();
@@ -148,6 +155,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();
@@ -155,8 +163,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) {