You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by sa...@apache.org on 2005/12/11 14:36:44 UTC
svn commit: r355960 - in
/webservices/commons/trunk/policy/src/org/apache/ws/policy/model:
AndCompositeAssertion.java Policy.java XorCompositeAssertion.java
Author: sanka
Date: Sun Dec 11 05:36:31 2005
New Revision: 355960
URL: http://svn.apache.org/viewcvs?rev=355960&view=rev
Log:
Fixed: wsp:Optional attribute does not get resolved when normalize(..) is called
Modified:
webservices/commons/trunk/policy/src/org/apache/ws/policy/model/AndCompositeAssertion.java
webservices/commons/trunk/policy/src/org/apache/ws/policy/model/Policy.java
webservices/commons/trunk/policy/src/org/apache/ws/policy/model/XorCompositeAssertion.java
Modified: webservices/commons/trunk/policy/src/org/apache/ws/policy/model/AndCompositeAssertion.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/org/apache/ws/policy/model/AndCompositeAssertion.java?rev=355960&r1=355959&r2=355960&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/org/apache/ws/policy/model/AndCompositeAssertion.java (original)
+++ webservices/commons/trunk/policy/src/org/apache/ws/policy/model/AndCompositeAssertion.java Sun Dec 11 05:36:31 2005
@@ -266,13 +266,13 @@
return anXorTerm;
}
xorTerms.add(term);
- break;
+ continue;
}
if (term instanceof AndCompositeAssertion) {
AND.addTerms(((AndCompositeAssertion) term).getTerms());
- break;
+ continue;
}
AND.addTerm(term);
@@ -322,11 +322,17 @@
CompositeAssertion XORterm = (CompositeAssertion) xorTerms.get(0);
XOR.addTerms(XORterm.getTerms());
}
+
+ if (XOR.isEmpty()) {
+ AND.setNormalized(true);
+ return AND;
+ }
if (AND.isEmpty()) {
XOR.setNormalized(true);
return XOR;
}
+
List primTerms = AND.getTerms();
Iterator interator = XOR.getTerms().iterator();
Modified: webservices/commons/trunk/policy/src/org/apache/ws/policy/model/Policy.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/org/apache/ws/policy/model/Policy.java?rev=355960&r1=355959&r2=355960&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/org/apache/ws/policy/model/Policy.java (original)
+++ webservices/commons/trunk/policy/src/org/apache/ws/policy/model/Policy.java Sun Dec 11 05:36:31 2005
@@ -93,16 +93,18 @@
ArrayList childXorTermList = new ArrayList();
Iterator terms = getTerms().iterator();
+ Assertion term;
while (terms.hasNext()) {
- Assertion term = (Assertion) terms.next();
- term = (term instanceof Policy) ? term.normalize(reg) : term;
+
+ term = (Assertion) terms.next();
+ term = (term instanceof Policy) ? term : term.normalize(reg);
if (term instanceof Policy) {
Assertion wrapper = new AndCompositeAssertion();
((AndCompositeAssertion) wrapper).addTerms(((Policy) term).getTerms());
term = wrapper.normalize(reg);
- break;
+ continue;
}
if (term instanceof XorCompositeAssertion) {
if (((XorCompositeAssertion) term).isEmpty()) {
@@ -116,7 +118,7 @@
}
childXorTermList.add(term);
- break;
+ continue;
}
if (term instanceof AndCompositeAssertion) {
@@ -128,7 +130,7 @@
} else {
AND.addTerms(((AndCompositeAssertion) term).getTerms());
}
- break;
+ continue;
}
AND.addTerm((Assertion) term);
}
Modified: webservices/commons/trunk/policy/src/org/apache/ws/policy/model/XorCompositeAssertion.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/org/apache/ws/policy/model/XorCompositeAssertion.java?rev=355960&r1=355959&r2=355960&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/org/apache/ws/policy/model/XorCompositeAssertion.java (original)
+++ webservices/commons/trunk/policy/src/org/apache/ws/policy/model/XorCompositeAssertion.java Sun Dec 11 05:36:31 2005
@@ -73,19 +73,19 @@
} else {
XOR.addTerms(((XorCompositeAssertion) wrapper).getTerms());
}
- break;
+ continue;
}
if (term instanceof PrimitiveAssertion) {
AndCompositeAssertion wrapper = new AndCompositeAssertion();
wrapper.addTerm(term);
XOR.addTerm(wrapper);
- break;
+ continue;
}
if (term instanceof XorCompositeAssertion) {
XOR.addTerms(((XorCompositeAssertion) term).getTerms());
- break;
+ continue;
}
if (term instanceof AndCompositeAssertion) {