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 2011/02/15 00:35:23 UTC
svn commit: r1070696 - in /cxf/trunk:
api/src/main/java/org/apache/cxf/ws/policy/
api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/
api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/
api/src/main/java/org/apache/cxf/ws/policy/builder/...
Author: dkulp
Date: Mon Feb 14 23:35:21 2011
New Revision: 1070696
URL: http://svn.apache.org/viewvc?rev=1070696&view=rev
Log:
Start updating trunk to use/leverage Neethi 3.0 changes
Removed:
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/Intersector.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/xml/XMLPrimitiveAssertionBuilder.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/xml/XmlPrimitiveAssertion.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/util/PolicyComparator.java
cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/IntersectorTest.java
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilder.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistry.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/PolicyAssertion.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionBuilder.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertion.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilder.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertionBuilder.java
cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionTest.java
cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilderTest.java
cxf/trunk/parent/pom.xml
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilder.java
cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilder.java
cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilderTest.java
cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilderTest.java
cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/policy/AddressingAssertionBuilder.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImpl.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EffectivePolicyImpl.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyBuilderImpl.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/mtom/MTOMAssertionBuilder.java
cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImplTest.java
cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/NormalizeTest.java
cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java
cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/TestAssertion.java
cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java
cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/policy/RMAssertionBuilder.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AbstractSecurityAssertion.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AsymmetricBinding.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/Binding.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/TokenWrapper.java
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilder.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -55,10 +55,4 @@ public interface AssertionBuilder {
*/
Collection<QName> getKnownElements();
-
- /**
- * Returns a new assertion that is compatible with the two specified
- * assertions or null if no compatible assertion can be built.
- */
- PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b);
}
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistry.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistry.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistry.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistry.java Mon Feb 14 23:35:21 2011
@@ -23,12 +23,14 @@ import javax.xml.namespace.QName;
import org.w3c.dom.Element;
import org.apache.cxf.extension.Registry;
+import org.apache.neethi.Assertion;
/**
* AssertionBuilderRegistry is used to manage AssertionBuilders and
* create Assertion objects from given xml elements.
*/
-public interface AssertionBuilderRegistry extends Registry<QName, AssertionBuilder> {
+public interface AssertionBuilderRegistry
+ extends Registry<QName, AssertionBuilder> {
/**
@@ -44,7 +46,7 @@ public interface AssertionBuilderRegistr
* @param element the element from which to build an Assertion.
* @return an Assertion that is built using the specified element.
*/
- PolicyAssertion build(Element element);
+ Assertion build(Element element);
/**
* Indicates if unknown assertions should simply be ignored.
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.java Mon Feb 14 23:35:21 2011
@@ -36,6 +36,7 @@ import org.apache.cxf.common.i18n.Messag
import org.apache.cxf.helpers.CastUtils;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
+import org.apache.neethi.PolicyContainingAssertion;
import org.apache.neethi.PolicyOperator;
public class AssertionInfoMap extends HashMap<QName, Collection<AssertionInfo>> {
@@ -54,12 +55,14 @@ public class AssertionInfoMap extends Ha
}
private void putAssertionInfo(PolicyAssertion a) {
- Policy p = a.getPolicy();
- if (p != null) {
- List<PolicyAssertion> pcs = new ArrayList<PolicyAssertion>();
- getAssertions(p, pcs);
- for (PolicyAssertion na : pcs) {
- putAssertionInfo(na);
+ if (a instanceof PolicyContainingAssertion) {
+ Policy p = ((PolicyContainingAssertion)a).getPolicy();
+ if (p != null) {
+ List<PolicyAssertion> pcs = new ArrayList<PolicyAssertion>();
+ getAssertions(p, pcs);
+ for (PolicyAssertion na : pcs) {
+ putAssertionInfo(na);
+ }
}
}
AssertionInfo ai = new AssertionInfo(a);
@@ -86,13 +89,15 @@ public class AssertionInfoMap extends Ha
errors.add(a.getName());
pass = false;
}
- Policy p = a.getPolicy();
- if (p != null) {
- Iterator it = p.getAlternatives();
- while (it.hasNext()) {
- List<PolicyAssertion> lst = CastUtils.cast((List<?>)it.next());
- for (PolicyAssertion p2 : lst) {
- pass &= supportsAlternative(p2, errors);
+ if (a instanceof PolicyContainingAssertion) {
+ Policy p = ((PolicyContainingAssertion)a).getPolicy();
+ if (p != null) {
+ Iterator it = p.getAlternatives();
+ while (it.hasNext()) {
+ List<PolicyAssertion> lst = CastUtils.cast((List<?>)it.next());
+ for (PolicyAssertion p2 : lst) {
+ pass &= supportsAlternative(p2, errors);
+ }
}
}
}
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/PolicyAssertion.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/PolicyAssertion.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/PolicyAssertion.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/PolicyAssertion.java Mon Feb 14 23:35:21 2011
@@ -20,9 +20,14 @@
package org.apache.cxf.ws.policy;
import org.apache.neethi.Assertion;
-import org.apache.neethi.Policy;
+/**
+ * Interface to mark Assertions that can participate in CXF's
+ * assertion mechanism to make sure the policies have been
+ * applied.
+ */
public interface PolicyAssertion extends Assertion {
+
boolean isAsserted(AssertionInfoMap aim);
- Policy getPolicy();
+
}
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java Mon Feb 14 23:35:21 2011
@@ -29,6 +29,7 @@ import javax.xml.stream.XMLStreamWriter;
import org.apache.cxf.common.util.PackageUtils;
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
+import org.apache.neethi.Assertion;
import org.apache.neethi.PolicyComponent;
@@ -45,6 +46,10 @@ public class JaxbAssertion<T> extends Pr
public JaxbAssertion(QName qn, boolean optional) {
super(qn, optional);
}
+
+ public JaxbAssertion(QName qn, boolean optional, boolean ignorable) {
+ super(qn, optional, ignorable);
+ }
@Override
@SuppressWarnings("unchecked")
@@ -64,8 +69,8 @@ public class JaxbAssertion<T> extends Pr
return data;
}
- protected PolicyAssertion cloneMandatory() {
- JaxbAssertion<T> a = new JaxbAssertion<T>(getName(), false);
+ protected Assertion clone(boolean optional) {
+ JaxbAssertion<T> a = new JaxbAssertion<T>(getName(), optional, ignorable);
a.setData(data);
return a;
}
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionBuilder.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -39,6 +39,7 @@ import org.apache.cxf.jaxb.JAXBUtils;
import org.apache.cxf.ws.policy.AssertionBuilder;
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.neethi.Constants;
+import org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder;
public class JaxbAssertionBuilder<T> implements AssertionBuilder {
@@ -108,7 +109,8 @@ public class JaxbAssertionBuilder<T> imp
QName name = new QName(element.getNamespaceURI(), element.getLocalName());
JaxbAssertion<T> assertion = buildAssertion();
assertion.setName(name);
- assertion.setOptional(getOptionality(element));
+ assertion.setOptional(XMLPrimitiveAssertionBuilder.isOptional(element));
+ assertion.setIgnorable(XMLPrimitiveAssertionBuilder.isIgnorable(element));
assertion.setData(getData(element));
return assertion;
}
@@ -117,19 +119,6 @@ public class JaxbAssertionBuilder<T> imp
return supportedTypes;
}
- @SuppressWarnings("unchecked")
- public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
- if (a.equal(b)) {
- JaxbAssertion<T> ja = (JaxbAssertion<T>)a;
- JaxbAssertion<T> compatible = buildAssertion();
- compatible.setName(a.getName());
- compatible.setOptional(a.isOptional() && b.isOptional());
- compatible.setData(ja.getData());
- return compatible;
- }
- return null;
- }
-
protected JaxbAssertion<T> buildAssertion() {
return new JaxbAssertion<T>();
}
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertion.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertion.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertion.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertion.java Mon Feb 14 23:35:21 2011
@@ -21,7 +21,6 @@ package org.apache.cxf.ws.policy.builder
import java.util.Collection;
-import java.util.Iterator;
import java.util.List;
import java.util.ResourceBundle;
@@ -39,39 +38,55 @@ import org.apache.cxf.ws.policy.PolicyAs
import org.apache.cxf.ws.policy.PolicyBuilder;
import org.apache.cxf.ws.policy.PolicyConstants;
import org.apache.cxf.ws.policy.PolicyException;
-import org.apache.neethi.All;
-import org.apache.neethi.ExactlyOne;
+import org.apache.neethi.Assertion;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
import org.apache.neethi.PolicyOperator;
+import org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder;
/**
* Implementation of an assertion that required exactly one (possibly empty) child element
* of type Policy (as does for examples the wsam:Addressing assertion).
*
*/
-public class NestedPrimitiveAssertion extends PrimitiveAssertion {
+public class NestedPrimitiveAssertion
+ extends org.apache.neethi.builders.PolicyContainingPrimitiveAssertion implements PolicyAssertion {
- private static final ResourceBundle BUNDLE = BundleUtils.getBundle(NestedPrimitiveAssertion.class);
- private Policy nested;
+ private static final ResourceBundle BUNDLE = BundleUtils.getBundle(NestedPrimitiveAssertion.class);
+
+
private boolean assertionRequired = true;
private PolicyBuilder builder;
+
+ public NestedPrimitiveAssertion(QName name,
+ boolean optional,
+ PolicyBuilder b) {
+ this(name, optional, false, null, true, b);
+ }
- @Deprecated
- public NestedPrimitiveAssertion(QName name, boolean optional) {
- this(name, optional, null, true, null);
+ public NestedPrimitiveAssertion(QName name,
+ boolean optional,
+ boolean ignorable,
+ PolicyBuilder b) {
+ this(name, optional, ignorable, null, true, b);
}
- public NestedPrimitiveAssertion(QName name, boolean optional, PolicyBuilder b) {
- this(name, optional, null, true, b);
+ public NestedPrimitiveAssertion(QName name,
+ boolean optional,
+ Policy p,
+ boolean assertionRequired,
+ PolicyBuilder b) {
+ this(name, optional, false, p, assertionRequired, b);
}
- public NestedPrimitiveAssertion(QName name, boolean optional,
- Policy p, boolean assertionRequired,
+ public NestedPrimitiveAssertion(QName name,
+ boolean optional,
+ boolean ignorable,
+ Policy p,
+ boolean assertionRequired,
PolicyBuilder b) {
- super(name, optional);
+ super(name, optional, ignorable, p);
this.assertionRequired = assertionRequired;
- this.nested = p;
builder = b;
}
@@ -80,12 +95,13 @@ public class NestedPrimitiveAssertion ex
}
public NestedPrimitiveAssertion(Element elem, PolicyBuilder builder, boolean assertionRequired) {
- super(elem);
+ super(new QName(elem.getNamespaceURI(), elem.getLocalName()),
+ XMLPrimitiveAssertionBuilder.isOptional(elem),
+ XMLPrimitiveAssertionBuilder.isIgnorable(elem), null);
this.builder = builder;
this.assertionRequired = assertionRequired;
// expect exactly one child element of type Policy
-
Element policyElem = null;
for (Node nd = elem.getFirstChild(); nd != null; nd = nd.getNextSibling()) {
if (Node.ELEMENT_NODE == nd.getNodeType()) {
@@ -103,40 +119,12 @@ public class NestedPrimitiveAssertion ex
throw new PolicyException(new Message("UNEXPECTED_CHILD_ELEMENT_EXC", BUNDLE,
PolicyConstants.POLICY_ELEM_NAME));
}
-
nested = builder.getPolicy(policyElem);
}
-
- public PolicyComponent normalize() {
- Policy normalisedNested
- = (Policy)nested.normalize(builder == null ? null : builder.getPolicyRegistry(),
- true);
-
- Policy p = new Policy();
- ExactlyOne ea = new ExactlyOne();
- p.addPolicyComponent(ea);
- if (isOptional()) {
- ea.addPolicyComponent(new All());
- }
- // for all alternatives in normalised nested policy
- Iterator alternatives = normalisedNested.getAlternatives();
- while (alternatives.hasNext()) {
- All all = new All();
- List<PolicyAssertion> alternative =
- CastUtils.cast((List)alternatives.next(), PolicyAssertion.class);
- NestedPrimitiveAssertion a = new NestedPrimitiveAssertion(getName(), false, builder);
- a.nested = new Policy();
- ExactlyOne nea = new ExactlyOne();
- a.nested.addPolicyComponent(nea);
- All na = new All();
- nea.addPolicyComponent(na);
- na.addPolicyComponents(alternative);
- all.addPolicyComponent(a);
- ea.addPolicyComponent(all);
- }
- return p;
- }
-
+ protected Assertion clone(boolean opt, Policy n) {
+ return new NestedPrimitiveAssertion(name, opt, ignorable, n, assertionRequired, builder);
+ }
+
@Override
public boolean equal(PolicyComponent policyComponent) {
@@ -147,18 +135,8 @@ public class NestedPrimitiveAssertion ex
return getPolicy().equal(other.getPolicy());
}
- protected void setPolicy(Policy n) {
- nested = n;
- }
-
- @Override
- public Policy getPolicy() {
- return nested;
- }
-
@Override
public boolean isAsserted(AssertionInfoMap aim) {
-
if (assertionRequired) {
Collection<AssertionInfo> ail = aim.getAssertionInfo(name);
for (AssertionInfo ai : ail) {
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilder.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -20,64 +20,50 @@
package org.apache.cxf.ws.policy.builder.primitive;
import org.w3c.dom.Element;
+import org.w3c.dom.Node;
-import org.apache.cxf.ws.policy.AssertionBuilderRegistry;
-import org.apache.cxf.ws.policy.Intersector;
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.policy.PolicyBuilder;
-import org.apache.neethi.Policy;
+import org.apache.neethi.Constants;
public class NestedPrimitiveAssertionBuilder extends PrimitiveAssertionBuilder {
private PolicyBuilder builder;
- private AssertionBuilderRegistry assertionBuilderRegistry;
- public void setPolicyBuilder(PolicyBuilder b) {
- builder = b;
+ public NestedPrimitiveAssertionBuilder() {
}
-
- public void setAssertionBuilderRegistry(AssertionBuilderRegistry abr) {
- assertionBuilderRegistry = abr;
+ public NestedPrimitiveAssertionBuilder(PolicyBuilder b) {
+ builder = b;
}
- @Override
- public PolicyAssertion build(Element elem) {
- return new NestedPrimitiveAssertion(elem, builder);
+ public void setPolicyBuilder(PolicyBuilder b) {
+ builder = b;
}
+
+
@Override
- /**
- * If the nested policies in both assertions are empty, the compatible policy
- * .
- * The compatible policy is optional if both assertions are optional.
- */
- public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
- if (!getKnownElements().contains(a.getName()) || !a.getName().equals(b.getName())) {
- return null;
+ public PolicyAssertion build(Element element) {
+ Node nd = element.getFirstChild();
+ int count = 0;
+ int policyCount = 0;
+ while (nd != null) {
+ if (nd instanceof Element) {
+ count++;
+ Element el = (Element)nd;
+ if (Constants.isPolicyElement(el.getNamespaceURI(), el.getLocalName())) {
+ policyCount++;
+ }
+ }
+ nd = nd.getNextSibling();
}
-
- if (null == assertionBuilderRegistry) {
- return null;
- }
-
-
- NestedPrimitiveAssertion na = (NestedPrimitiveAssertion)a;
- NestedPrimitiveAssertion nb = (NestedPrimitiveAssertion)b;
-
- Intersector intersector = new Intersector(assertionBuilderRegistry);
-
- Policy nested = intersector.intersect(na.getPolicy(), nb.getPolicy());
- if (null == nested) {
- return null;
+ if (count == 0) {
+ return new PrimitiveAssertion(element);
+ } else if (policyCount == 1 && count == 1) {
+ return new NestedPrimitiveAssertion(element, builder);
}
-
- NestedPrimitiveAssertion compatible =
- new NestedPrimitiveAssertion(a.getName(), a.isOptional() && b.isOptional(),
- null, true, builder);
- compatible.setPolicy(nested);
-
- return compatible;
+ return new PrimitiveAssertion(element);
}
-
+
}
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java Mon Feb 14 23:35:21 2011
@@ -22,62 +22,49 @@ package org.apache.cxf.ws.policy.builder
import java.util.Collection;
import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import org.w3c.dom.Attr;
import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
import org.apache.cxf.ws.policy.AssertionInfo;
import org.apache.cxf.ws.policy.AssertionInfoMap;
import org.apache.cxf.ws.policy.PolicyAssertion;
-import org.apache.cxf.ws.policy.PolicyConstants;
-import org.apache.neethi.All;
+import org.apache.neethi.Assertion;
import org.apache.neethi.Constants;
-import org.apache.neethi.ExactlyOne;
-import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
+import org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder;
/**
*
*/
-public class PrimitiveAssertion implements PolicyAssertion {
-
- protected QName name;
- protected boolean optional;
- protected boolean ignorable;
+public class PrimitiveAssertion
+ extends org.apache.neethi.builders.PrimitiveAssertion implements PolicyAssertion {
public PrimitiveAssertion() {
- this((QName)null);
+ super();
}
public PrimitiveAssertion(QName n) {
- this(n, false);
+ super(n, false);
}
public PrimitiveAssertion(QName n, boolean o) {
- name = n;
- optional = o;
+ super(n, o);
+ }
+ public PrimitiveAssertion(QName n, boolean o, boolean i) {
+ super(n, o, i);
}
public PrimitiveAssertion(Element element) {
- name = new QName(element.getNamespaceURI(), element.getLocalName());
- NamedNodeMap atts = element.getAttributes();
- if (atts != null) {
- for (int x = 0; x < atts.getLength(); x++) {
- Attr att = (Attr)atts.item(x);
- QName qn = new QName(att.getNamespaceURI(), att.getLocalName());
- if (PolicyConstants.isOptionalAttribute(qn)) {
- optional = Boolean.valueOf(att.getValue());
- }
- }
- }
+ super(new QName(element.getNamespaceURI(), element.getLocalName()),
+ XMLPrimitiveAssertionBuilder.isOptional(element),
+ XMLPrimitiveAssertionBuilder.isIgnorable(element));
}
-
- public String toString() {
- return name.toString();
+
+ @Override
+ protected Assertion clone(boolean opt) {
+ return new PrimitiveAssertion(name, opt, ignorable);
}
+
public boolean equal(PolicyComponent policyComponent) {
if (policyComponent.getType() != Constants.TYPE_ASSERTION) {
return false;
@@ -85,60 +72,6 @@ public class PrimitiveAssertion implemen
return getName().equals(((PolicyAssertion)policyComponent).getName());
}
- public short getType() {
- return Constants.TYPE_ASSERTION;
- }
-
- public QName getName() {
- return name;
- }
-
- public void setName(QName n) {
- name = n;
- }
-
- public boolean isOptional() {
- return optional;
- }
-
- public void setOptional(boolean o) {
- optional = o;
- }
- public boolean isIgnorable() {
- return ignorable;
- }
-
- public void setIgnorable(boolean o) {
- ignorable = o;
- }
-
- public PolicyComponent normalize() {
- if (isOptional()) {
- Policy policy = new Policy();
- ExactlyOne exactlyOne = new ExactlyOne();
-
- All all = new All();
- all.addPolicyComponent(cloneMandatory());
- exactlyOne.addPolicyComponent(all);
- exactlyOne.addPolicyComponent(new All());
- policy.addPolicyComponent(exactlyOne);
-
- return policy;
- }
-
- return cloneMandatory();
- }
-
- public void serialize(XMLStreamWriter writer) throws XMLStreamException {
- }
-
- protected PolicyAssertion cloneMandatory() {
- return new PrimitiveAssertion(name, false);
- }
-
- public Policy getPolicy() {
- return null;
- }
public boolean isAsserted(AssertionInfoMap aim) {
Collection<AssertionInfo> ail = aim.getAssertionInfo(name);
@@ -149,4 +82,5 @@ public class PrimitiveAssertion implemen
}
return false;
}
+
}
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertionBuilder.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -46,10 +46,10 @@ public class PrimitiveAssertionBuilder i
bus = b;
}
- public PolicyAssertion build(Element element) {
+ public PolicyAssertion build(Element element) {
return new PrimitiveAssertion(element);
}
-
+
public Collection<QName> getKnownElements() {
return knownElements;
}
@@ -58,15 +58,4 @@ public class PrimitiveAssertionBuilder i
knownElements = k;
}
- /**
- * If the two assertions are equal, they are also compatible.
- * The compatible policy is optional if both assertions are optional.
- */
- public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
- if (knownElements.contains(a.getName()) && a.getName().equals(b.getName())) {
- return new PrimitiveAssertion(a.getName(), a.isOptional() && b.isOptional());
- }
- return null;
- }
-
}
Modified: cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionTest.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionTest.java (original)
+++ cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionTest.java Mon Feb 14 23:35:21 2011
@@ -26,7 +26,7 @@ import javax.xml.namespace.QName;
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.test.assertions.foo.FooType;
-import org.apache.cxf.ws.policy.builder.xml.XmlPrimitiveAssertion;
+import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
import org.apache.neethi.All;
import org.apache.neethi.Constants;
import org.apache.neethi.ExactlyOne;
@@ -80,7 +80,7 @@ public class JaxbAssertionTest extends A
assertTrue(!assertion.equal(pc));
IMocksControl ctrl = EasyMock.createNiceControl();
- XmlPrimitiveAssertion xpa = ctrl.createMock(XmlPrimitiveAssertion.class);
+ PrimitiveAssertion xpa = ctrl.createMock(PrimitiveAssertion.class);
QName oqn = new QName("http://cxf.apache.org/test/assertions/blah", "OtherType");
EasyMock.expect(xpa.getName()).andReturn(oqn);
EasyMock.expect(xpa.getType()).andReturn(Constants.TYPE_ASSERTION);
Modified: cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilderTest.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilderTest.java (original)
+++ cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilderTest.java Mon Feb 14 23:35:21 2011
@@ -29,10 +29,7 @@ import org.w3c.dom.Element;
import org.apache.cxf.Bus;
import org.apache.cxf.helpers.DOMUtils;
-import org.apache.cxf.ws.policy.AssertionBuilderRegistry;
-import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.policy.PolicyBuilder;
-import org.apache.cxf.ws.policy.PolicyException;
import org.apache.neethi.Policy;
import org.easymock.classextension.EasyMock;
import org.easymock.classextension.IMocksControl;
@@ -48,13 +45,10 @@ public class NestedPrimitiveAssertionBui
private static final String TEST_NAMESPACE = "http://www.w3.org/2007/01/addressing/metadata";
private static final QName TEST_NAME1 = new QName(TEST_NAMESPACE, "Addressing");
- private static final QName TEST_NAME2 = new QName(TEST_NAMESPACE, "AnonymousResponses");
- private static final QName TEST_NAME3 = new QName(TEST_NAMESPACE, "NonAnonymousResponses");
private NestedPrimitiveAssertionBuilder npab;
private IMocksControl control;
private PolicyBuilder builder;
- private AssertionBuilderRegistry reg;
@Before
public void setUp() {
@@ -63,23 +57,16 @@ public class NestedPrimitiveAssertionBui
npab.setKnownElements(Collections.singletonList(TEST_NAME1));
builder = control.createMock(PolicyBuilder.class);
npab.setPolicyBuilder(builder);
- reg = control.createMock(AssertionBuilderRegistry.class);
- npab.setAssertionBuilderRegistry(reg);
}
@Test
- public void testBuildFailOlderNs() throws Exception {
+ public void testSimpleBuildOlderNs() throws Exception {
String data =
"<wsam:Addressing wsp:Optional=\"true\""
+ " xmlns:wsp=\"http://www.w3.org/2006/07/ws-policy\""
+ " xmlns:wsam=\"http://www.w3.org/2007/01/addressing/metadata\" />";
- try {
- npab.build(getElement(data));
- fail("Expected PolicyException not thrown.");
- } catch (PolicyException ex) {
- // expected
- }
+ npab.build(getElement(data));
}
@Test
@@ -122,75 +109,6 @@ public class NestedPrimitiveAssertionBui
control.verify();
}
- @Test
- public void testBuildCompatibleNoRegistry() {
- npab.setAssertionBuilderRegistry(null);
- Policy[] policies = NestedPrimitiveAssertionTest.buildTestPolicies();
- PolicyAssertion a =
- (PolicyAssertion)policies[4].getFirstPolicyComponent();
- assertNull("Should not have been able to build compatible policy.", npab.buildCompatible(a, a));
- }
-
- @Test
- public void testCompatibleWithSelf() {
- Policy[] policies = NestedPrimitiveAssertionTest.buildTestPolicies();
- EasyMock.expect(reg.get(TEST_NAME1)).andReturn(npab).anyTimes();
- PrimitiveAssertionBuilder ab1 = new PrimitiveAssertionBuilder();
- ab1.setKnownElements(Collections.singleton(TEST_NAME2));
- PrimitiveAssertionBuilder ab2 = new PrimitiveAssertionBuilder();
- ab2.setKnownElements(Collections.singleton(TEST_NAME3));
- EasyMock.expect(reg.get(TEST_NAME2)).andReturn(ab1).anyTimes();
- EasyMock.expect(reg.get(TEST_NAME3)).andReturn(ab2).anyTimes();
-
- control.replay();
- PolicyAssertion a =
- (PolicyAssertion)policies[2].getFirstPolicyComponent();
- PolicyAssertion compatible = npab.buildCompatible(a, a);
- assertNotNull("assertion in policy 2 should be compatible with itself.", compatible);
- control.verify();
- }
-
- @Test
- public void testBuildCompatible() {
- Policy[] policies = NestedPrimitiveAssertionTest.buildTestPolicies();
- EasyMock.expect(reg.get(TEST_NAME1)).andReturn(npab).anyTimes();
- PrimitiveAssertionBuilder ab1 = new PrimitiveAssertionBuilder();
- ab1.setKnownElements(Collections.singleton(TEST_NAME2));
- PrimitiveAssertionBuilder ab2 = new PrimitiveAssertionBuilder();
- ab2.setKnownElements(Collections.singleton(TEST_NAME3));
- EasyMock.expect(reg.get(TEST_NAME2)).andReturn(ab1).anyTimes();
- EasyMock.expect(reg.get(TEST_NAME3)).andReturn(ab2).anyTimes();
-
- control.replay();
- for (int i = 0; i < policies.length; i++) {
- PolicyAssertion a =
- (PolicyAssertion)policies[i].getFirstPolicyComponent();
- PolicyAssertion compatible = npab.buildCompatible(a, a);
- assertNotNull("assertion in policy " + i + " should be compatible with itself.", compatible);
- }
-
- for (int i = 1; i < 5; i++) {
- PolicyAssertion a =
- (PolicyAssertion)policies[0].getFirstPolicyComponent();
- PolicyAssertion b = (PolicyAssertion)policies[i].getFirstPolicyComponent();
- PolicyAssertion compatible = npab.buildCompatible(a, b);
- assertNotNull("assertion in policy 0 should be compatible with assertion in policy " + i + ".",
- compatible);
- }
-
- for (int i = 2; i < 5; i++) {
- PolicyAssertion a =
- (PolicyAssertion)policies[1].getFirstPolicyComponent();
- PolicyAssertion b =
- (PolicyAssertion)policies[i].getFirstPolicyComponent();
- PolicyAssertion compatible = npab.buildCompatible(a, b);
- assertNotNull("assertion in policy " + 1 + " should be compatible with assertion in policy i.",
- compatible);
- }
- control.verify();
-
- }
-
Element getElement(String data) throws Exception {
InputStream is = new ByteArrayInputStream(data.getBytes());
return DOMUtils.readXml(is).getDocumentElement();
Modified: cxf/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/parent/pom.xml?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/parent/pom.xml (original)
+++ cxf/trunk/parent/pom.xml Mon Feb 14 23:35:21 2011
@@ -480,7 +480,7 @@
<dependency>
<groupId>org.apache.neethi</groupId>
<artifactId>neethi</artifactId>
- <version>2.0.4</version>
+ <version>3.0.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilder.java (original)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -30,6 +30,7 @@ import org.apache.cxf.transports.http.co
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.policy.builder.jaxb.JaxbAssertion;
import org.apache.cxf.ws.policy.builder.jaxb.JaxbAssertionBuilder;
+import org.apache.neethi.Assertion;
import org.apache.neethi.Constants;
import org.apache.neethi.PolicyComponent;
@@ -46,26 +47,6 @@ public class HTTPClientAssertionBuilder
}
@Override
- public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
- if (PolicyUtils.HTTPCLIENTPOLICY_ASSERTION_QNAME.equals(a.getName())
- && PolicyUtils.HTTPCLIENTPOLICY_ASSERTION_QNAME.equals(b.getName())) {
-
- HTTPClientPolicy compatible = PolicyUtils.intersect(
- JaxbAssertion.cast(a, HTTPClientPolicy.class).getData(),
- JaxbAssertion.cast(b, HTTPClientPolicy.class).getData());
- if (null == compatible) {
- return null;
- }
- JaxbAssertion<HTTPClientPolicy> ca =
- new JaxbAssertion<HTTPClientPolicy>(PolicyUtils.HTTPCLIENTPOLICY_ASSERTION_QNAME,
- a.isOptional() && b.isOptional());
- ca.setData(compatible);
- return ca;
- }
- return null;
- }
-
- @Override
protected JaxbAssertion<HTTPClientPolicy> buildAssertion() {
return new HTTPClientPolicyAssertion();
}
@@ -86,7 +67,7 @@ public class HTTPClientAssertionBuilder
}
@Override
- protected PolicyAssertion cloneMandatory() {
+ protected Assertion clone(boolean optional) {
HTTPClientPolicyAssertion a = new HTTPClientPolicyAssertion();
a.setData(getData());
return a;
Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilder.java (original)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -30,6 +30,7 @@ import org.apache.cxf.transports.http.co
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.policy.builder.jaxb.JaxbAssertion;
import org.apache.cxf.ws.policy.builder.jaxb.JaxbAssertionBuilder;
+import org.apache.neethi.Assertion;
import org.apache.neethi.Constants;
import org.apache.neethi.PolicyComponent;
@@ -44,26 +45,6 @@ public class HTTPServerAssertionBuilder
public HTTPServerAssertionBuilder() throws JAXBException {
super(HTTPServerPolicy.class, PolicyUtils.HTTPSERVERPOLICY_ASSERTION_QNAME);
}
-
- @Override
- public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
- if (PolicyUtils.HTTPSERVERPOLICY_ASSERTION_QNAME.equals(a.getName())
- && PolicyUtils.HTTPSERVERPOLICY_ASSERTION_QNAME.equals(b.getName())) {
-
- HTTPServerPolicy compatible = PolicyUtils.intersect(
- JaxbAssertion.cast(a, HTTPServerPolicy.class).getData(),
- JaxbAssertion.cast(b, HTTPServerPolicy.class).getData());
- if (null == compatible) {
- return null;
- }
-
- JaxbAssertion<HTTPServerPolicy> ca = buildAssertion();
- ca.setOptional(a.isOptional() && b.isOptional());
- ca.setData(compatible);
- return ca;
- }
- return null;
- }
@Override
protected JaxbAssertion<HTTPServerPolicy> buildAssertion() {
@@ -86,7 +67,7 @@ public class HTTPServerAssertionBuilder
}
@Override
- protected PolicyAssertion cloneMandatory() {
+ protected Assertion clone(boolean optional) {
HTTPServerPolicyAssertion a = new HTTPServerPolicyAssertion();
a.setData(getData());
return a;
Modified: cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilderTest.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilderTest.java (original)
+++ cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPClientAssertionBuilderTest.java Mon Feb 14 23:35:21 2011
@@ -30,19 +30,6 @@ import org.junit.Test;
*/
public class HTTPClientAssertionBuilderTest extends Assert {
- @Test
- public void testBuildCompatible() throws Exception {
- HTTPClientAssertionBuilder ab = new HTTPClientAssertionBuilder();
- JaxbAssertion<HTTPClientPolicy> a = ab.buildAssertion();
- HTTPClientPolicy pa = new HTTPClientPolicy();
- a.setData(pa);
- JaxbAssertion<HTTPClientPolicy> b = ab.buildAssertion();
- HTTPClientPolicy pb = new HTTPClientPolicy();
- b.setData(pb);
- JaxbAssertion<HTTPClientPolicy> c =
- JaxbAssertion.cast(ab.buildCompatible(a, b), HTTPClientPolicy.class);
- assertNotNull(c);
- }
@Test
public void testBuildAssertion() throws Exception {
Modified: cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilderTest.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilderTest.java (original)
+++ cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/policy/HTTPServerAssertionBuilderTest.java Mon Feb 14 23:35:21 2011
@@ -30,19 +30,6 @@ import org.junit.Test;
*/
public class HTTPServerAssertionBuilderTest extends Assert {
- @Test
- public void testBuildCompatible() throws Exception {
- HTTPServerAssertionBuilder ab = new HTTPServerAssertionBuilder();
- JaxbAssertion<HTTPServerPolicy> a = ab.buildAssertion();
- HTTPServerPolicy pa = new HTTPServerPolicy();
- a.setData(pa);
- JaxbAssertion<HTTPServerPolicy> b = ab.buildAssertion();
- HTTPServerPolicy pb = new HTTPServerPolicy();
- b.setData(pb);
- JaxbAssertion<HTTPServerPolicy> c =
- JaxbAssertion.cast(ab.buildCompatible(a, b), HTTPServerPolicy.class);
- assertNotNull(c);
- }
@Test
public void testBuildAssertion() throws Exception {
Modified: cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/policy/AddressingAssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/policy/AddressingAssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/policy/AddressingAssertionBuilder.java (original)
+++ cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/policy/AddressingAssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -21,7 +21,6 @@ package org.apache.cxf.ws.addressing.pol
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import javax.xml.namespace.QName;
@@ -30,14 +29,11 @@ import org.w3c.dom.Element;
import org.apache.cxf.Bus;
import org.apache.cxf.ws.policy.AssertionBuilder;
-import org.apache.cxf.ws.policy.AssertionBuilderRegistry;
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.policy.PolicyBuilder;
import org.apache.cxf.ws.policy.PolicyConstants;
import org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertion;
-import org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertionBuilder;
import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
-import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertionBuilder;
/**
*
@@ -94,22 +90,5 @@ public class AddressingAssertionBuilder
public Collection<QName> getKnownElements() {
return KNOWN_ELEMENTS;
}
-
- public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
- QName qn = a.getName();
- if (MetadataConstants.ADDRESSING_ASSERTION_QNAME.equals(qn)) {
- NestedPrimitiveAssertionBuilder npab = new NestedPrimitiveAssertionBuilder();
- npab.setKnownElements(Collections.singleton(MetadataConstants.ADDRESSING_ASSERTION_QNAME));
- npab.setAssertionBuilderRegistry(bus.getExtension(AssertionBuilderRegistry.class));
- return npab.buildCompatible(a, b);
- } else if (MetadataConstants.ANON_RESPONSES_ASSERTION_QNAME.equals(qn)
- || MetadataConstants.NON_ANON_RESPONSES_ASSERTION_QNAME.equals(qn)) {
-
- PrimitiveAssertionBuilder pab = new PrimitiveAssertionBuilder();
- pab.setKnownElements(Collections.singleton(qn));
- return pab.buildCompatible(a, b);
- }
- return null;
- }
}
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImpl.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImpl.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImpl.java Mon Feb 14 23:35:21 2011
@@ -40,7 +40,8 @@ import org.apache.cxf.configuration.Conf
import org.apache.cxf.configuration.spring.MapProvider;
import org.apache.cxf.extension.BusExtension;
import org.apache.cxf.extension.RegistryImpl;
-import org.apache.cxf.ws.policy.builder.xml.XmlPrimitiveAssertion;
+import org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertionBuilder;
+import org.apache.neethi.Assertion;
/**
*
@@ -103,7 +104,7 @@ public class AssertionBuilderRegistryImp
ignoreUnknownAssertions = ignore;
}
- private synchronized void loadDynamic() {
+ protected synchronized void loadDynamic() {
if (!dynamicLoaded && bus != null) {
dynamicLoaded = true;
ConfiguredBeanLocator c = bus.getExtension(ConfiguredBeanLocator.class);
@@ -112,7 +113,7 @@ public class AssertionBuilderRegistryImp
}
}
}
- public PolicyAssertion build(Element element) {
+ public Assertion build(Element element) {
loadDynamic();
AssertionBuilder builder;
@@ -133,7 +134,8 @@ public class AssertionBuilderRegistryImp
if (!alreadyWarned) {
LOG.warning(m.toString());
}
- return new XmlPrimitiveAssertion(element);
+
+ builder = new NestedPrimitiveAssertionBuilder(bus.getExtension(PolicyBuilder.class));
} else {
throw new PolicyException(m);
}
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EffectivePolicyImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EffectivePolicyImpl.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EffectivePolicyImpl.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EffectivePolicyImpl.java Mon Feb 14 23:35:21 2011
@@ -43,6 +43,7 @@ import org.apache.cxf.service.model.Endp
import org.apache.cxf.transport.Conduit;
import org.apache.cxf.transport.Destination;
import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyContainingAssertion;
/**
*
@@ -193,10 +194,12 @@ public class EffectivePolicyImpl impleme
if (null != pp) {
out.addAll(usIn ? pp.getInInterceptors() : pp.getOutInterceptors());
}
- Policy p = a.getPolicy();
- if (p != null) {
- for (PolicyAssertion a2 : getSupportedAlternatives(engine, p)) {
- initialiseInterceptors(reg, engine, out, a2, usIn);
+ if (a instanceof PolicyContainingAssertion) {
+ Policy p = ((PolicyContainingAssertion)a).getPolicy();
+ if (p != null) {
+ for (PolicyAssertion a2 : getSupportedAlternatives(engine, p)) {
+ initialiseInterceptors(reg, engine, out, a2, usIn);
+ }
}
}
}
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/EndpointPolicyImpl.java Mon Feb 14 23:35:21 2011
@@ -40,6 +40,7 @@ import org.apache.cxf.transport.Conduit;
import org.apache.cxf.transport.Destination;
import org.apache.neethi.ExactlyOne;
import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyContainingAssertion;
/**
*
@@ -269,10 +270,12 @@ public class EndpointPolicyImpl implemen
if (null != pp) {
out.addAll(fault ? pp.getInFaultInterceptors() : pp.getInInterceptors());
}
- Policy p = a.getPolicy();
- if (p != null) {
- for (PolicyAssertion a2 : getSupportedAlternatives(p)) {
- initializeInterceptors(reg, out, a2, fault);
+ if (a instanceof PolicyContainingAssertion) {
+ Policy p = ((PolicyContainingAssertion)a).getPolicy();
+ if (p != null) {
+ for (PolicyAssertion a2 : getSupportedAlternatives(p)) {
+ initializeInterceptors(reg, out, a2, fault);
+ }
}
}
}
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyBuilderImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyBuilderImpl.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyBuilderImpl.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyBuilderImpl.java Mon Feb 14 23:35:21 2011
@@ -39,6 +39,7 @@ import org.apache.cxf.common.injection.N
import org.apache.cxf.extension.BusExtension;
import org.apache.cxf.helpers.DOMUtils;
import org.apache.neethi.All;
+import org.apache.neethi.Assertion;
import org.apache.neethi.Constants;
import org.apache.neethi.ExactlyOne;
import org.apache.neethi.Policy;
@@ -190,7 +191,7 @@ public class PolicyBuilderImpl implement
} else if (PolicyConstants.isPolicyRefElem(qn)) {
operator.addPolicyComponent(getPolicyReference(childElement));
} else if (null != assertionBuilderRegistry) {
- PolicyAssertion a = assertionBuilderRegistry.build(childElement);
+ Assertion a = assertionBuilderRegistry.build(childElement);
if (null != a) {
operator.addPolicyComponent(a);
}
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/mtom/MTOMAssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/mtom/MTOMAssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/mtom/MTOMAssertionBuilder.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/mtom/MTOMAssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -21,7 +21,6 @@ package org.apache.cxf.ws.policy.mtom;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import javax.xml.namespace.QName;
@@ -32,7 +31,6 @@ import org.apache.cxf.ws.policy.Assertio
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.policy.PolicyConstants;
import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
-import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertionBuilder;
public class MTOMAssertionBuilder implements AssertionBuilder {
private static final Collection<QName> KNOWN_ELEMENTS = new ArrayList<QName>();
@@ -61,14 +59,4 @@ public class MTOMAssertionBuilder implem
return KNOWN_ELEMENTS;
}
- public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
- QName qn = a.getName();
- if (MetadataConstants.MTOM_ASSERTION_QNAME.equals(qn)) {
- PrimitiveAssertionBuilder pab = new PrimitiveAssertionBuilder();
- pab.setKnownElements(Collections.singleton(qn));
- return pab.buildCompatible(a, b);
- }
-
- return null;
- }
}
Modified: cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImplTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImplTest.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImplTest.java (original)
+++ cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/AssertionBuilderRegistryImplTest.java Mon Feb 14 23:35:21 2011
@@ -23,7 +23,9 @@ import javax.xml.namespace.QName;
import org.w3c.dom.Element;
-import org.apache.cxf.ws.policy.builder.xml.XmlPrimitiveAssertion;
+import org.apache.cxf.Bus;
+import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
+import org.apache.neethi.Assertion;
import org.easymock.classextension.EasyMock;
import org.easymock.classextension.IMocksControl;
import org.junit.After;
@@ -50,7 +52,16 @@ public class AssertionBuilderRegistryImp
@Test
public void testBuildUnknownAssertion() {
- AssertionBuilderRegistry reg = new AssertionBuilderRegistryImpl();
+ Bus bus = control.createMock(Bus.class);
+
+ PolicyBuilder builder = control.createMock(PolicyBuilder.class);
+ EasyMock.expect(bus.getExtension(PolicyBuilder.class)).andReturn(builder).anyTimes();
+
+ AssertionBuilderRegistryImpl reg = new AssertionBuilderRegistryImpl() {
+ protected void loadDynamic() {
+ //nothing
+ }
+ };
reg.setIgnoreUnknownAssertions(false);
Element[] elems = new Element[11];
QName[] qnames = new QName[11];
@@ -62,6 +73,7 @@ public class AssertionBuilderRegistryImp
}
control.replay();
+ reg.setBus(bus);
assertTrue(!reg.isIgnoreUnknownAssertions());
try {
@@ -73,11 +85,13 @@ public class AssertionBuilderRegistryImp
reg.setIgnoreUnknownAssertions(true);
assertTrue(reg.isIgnoreUnknownAssertions());
for (int i = 0; i < 10; i++) {
- assertTrue(reg.build(elems[i]) instanceof XmlPrimitiveAssertion);
+ Assertion assertion = reg.build(elems[i]);
+ assertTrue("Not a PrimitiveAsertion: " + assertion.getClass().getName(),
+ assertion instanceof PrimitiveAssertion);
}
for (int i = 9; i >= 0; i--) {
- assertTrue(reg.build(elems[i]) instanceof XmlPrimitiveAssertion);
+ assertTrue(reg.build(elems[i]) instanceof PrimitiveAssertion);
}
- assertTrue(reg.build(elems[10]) instanceof XmlPrimitiveAssertion);
+ assertTrue(reg.build(elems[10]) instanceof PrimitiveAssertion);
}
}
Modified: cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/NormalizeTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/NormalizeTest.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/NormalizeTest.java (original)
+++ cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/NormalizeTest.java Mon Feb 14 23:35:21 2011
@@ -24,7 +24,7 @@ import java.io.InputStream;
import javax.xml.namespace.QName;
import org.apache.cxf.Bus;
-import org.apache.cxf.ws.policy.builder.xml.XMLPrimitiveAssertionBuilder;
+import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertionBuilder;
import org.apache.neethi.Policy;
import org.apache.neethi.util.PolicyComparator;
import org.easymock.classextension.EasyMock;
@@ -77,7 +77,7 @@ public class NormalizeTest extends Asser
builder.setBus(bus);
AssertionBuilderRegistry abr = new AssertionBuilderRegistryImpl();
builder.setAssertionBuilderRegistry(abr);
- XMLPrimitiveAssertionBuilder ab = new XMLPrimitiveAssertionBuilder();
+ PrimitiveAssertionBuilder ab = new PrimitiveAssertionBuilder();
ab.setBus(bus);
abr.register(new QName("http://schemas.xmlsoap.org/ws/2002/12/secext", "SecurityToken"), ab);
Modified: cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java (original)
+++ cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java Mon Feb 14 23:35:21 2011
@@ -25,7 +25,7 @@ import java.util.List;
import javax.xml.namespace.QName;
import org.apache.cxf.helpers.CastUtils;
-import org.apache.cxf.ws.policy.builder.xml.XMLPrimitiveAssertionBuilder;
+import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertionBuilder;
import org.apache.neethi.Constants;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
@@ -43,7 +43,7 @@ public class PolicyBuilderTest extends A
builder = new PolicyBuilderImpl();
AssertionBuilderRegistry abr = new AssertionBuilderRegistryImpl();
builder.setAssertionBuilderRegistry(abr);
- AssertionBuilder ab = new XMLPrimitiveAssertionBuilder();
+ AssertionBuilder ab = new PrimitiveAssertionBuilder();
abr.register(new QName("http://sample.org/Assertions", "A"), ab);
abr.register(new QName("http://sample.org/Assertions", "B"), ab);
abr.register(new QName("http://sample.org/Assertions", "C"), ab);
Modified: cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/TestAssertion.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/TestAssertion.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/TestAssertion.java (original)
+++ cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/TestAssertion.java Mon Feb 14 23:35:21 2011
@@ -24,7 +24,6 @@ import javax.xml.stream.XMLStreamExcepti
import javax.xml.stream.XMLStreamWriter;
import org.apache.neethi.Constants;
-import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
/**
@@ -66,11 +65,6 @@ public class TestAssertion implements Po
return Constants.TYPE_ASSERTION;
}
- public Policy getPolicy() {
- // TODO Auto-generated method stub
- return null;
- }
-
public boolean isAsserted(AssertionInfoMap aim) {
// TODO Auto-generated method stub
return false;
Modified: cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java (original)
+++ cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProviderTest.java Mon Feb 14 23:35:21 2011
@@ -41,7 +41,7 @@ import org.apache.cxf.ws.policy.PolicyBu
import org.apache.cxf.ws.policy.PolicyEngine;
import org.apache.cxf.ws.policy.PolicyException;
import org.apache.cxf.ws.policy.PolicyRegistryImpl;
-import org.apache.cxf.ws.policy.builder.xml.XMLPrimitiveAssertionBuilder;
+import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertionBuilder;
import org.apache.cxf.wsdl.WSDLManager;
import org.apache.cxf.wsdl11.WSDLManagerImpl;
import org.apache.cxf.wsdl11.WSDLServiceBuilder;
@@ -124,8 +124,9 @@ public class Wsdl11AttachmentPolicyProvi
EasyMock.expectLastCall().andReturn(null).anyTimes();
AssertionBuilderRegistry abr = new AssertionBuilderRegistryImpl();
abr.setIgnoreUnknownAssertions(false);
- XMLPrimitiveAssertionBuilder ab = new XMLPrimitiveAssertionBuilder();
- ab.setBus(bus);
+
+
+ PrimitiveAssertionBuilder ab = new PrimitiveAssertionBuilder();
abr.register(new QName("http://cxf.apache.org/test/assertions", "A"), ab);
abr.register(new QName("http://cxf.apache.org/test/assertions", "B"), ab);
abr.register(new QName("http://cxf.apache.org/test/assertions", "C"), ab);
Modified: cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/policy/RMAssertionBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/policy/RMAssertionBuilder.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/policy/RMAssertionBuilder.java (original)
+++ cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/policy/RMAssertionBuilder.java Mon Feb 14 23:35:21 2011
@@ -29,6 +29,7 @@ import org.apache.cxf.ws.policy.PolicyAs
import org.apache.cxf.ws.policy.builder.jaxb.JaxbAssertion;
import org.apache.cxf.ws.policy.builder.jaxb.JaxbAssertionBuilder;
import org.apache.cxf.ws.rm.RMConstants;
+import org.apache.neethi.Assertion;
import org.apache.neethi.Constants;
import org.apache.neethi.PolicyComponent;
@@ -44,26 +45,6 @@ public class RMAssertionBuilder extends
}
@Override
- public PolicyAssertion buildCompatible(PolicyAssertion a, PolicyAssertion b) {
- if (RMConstants.getRMAssertionQName().equals(a.getName())
- && RMConstants.getRMAssertionQName().equals(b.getName())) {
-
- RMAssertion compatible = PolicyUtils.intersect(
- JaxbAssertion.cast(a, RMAssertion.class).getData(),
- JaxbAssertion.cast(b, RMAssertion.class).getData());
- if (null == compatible) {
- return null;
- }
- JaxbAssertion<RMAssertion> ca =
- new JaxbAssertion<RMAssertion>(RMConstants.getRMAssertionQName(),
- a.isOptional() && b.isOptional());
- ca.setData(compatible);
- return ca;
- }
- return null;
- }
-
- @Override
protected JaxbAssertion<RMAssertion> buildAssertion() {
return new RMPolicyAssertion();
}
@@ -72,6 +53,12 @@ public class RMAssertionBuilder extends
RMPolicyAssertion() {
super(RMConstants.getRMAssertionQName(), false);
}
+ RMPolicyAssertion(boolean opt) {
+ super(RMConstants.getRMAssertionQName(), opt);
+ }
+ RMPolicyAssertion(boolean opt, boolean ignore) {
+ super(RMConstants.getRMAssertionQName(), opt, ignore);
+ }
@Override
public boolean equal(PolicyComponent policyComponent) {
@@ -85,7 +72,7 @@ public class RMAssertionBuilder extends
}
@Override
- protected PolicyAssertion cloneMandatory() {
+ protected Assertion clone(boolean b) {
RMPolicyAssertion a = new RMPolicyAssertion();
a.setData(getData());
return a;
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java Mon Feb 14 23:35:21 2011
@@ -31,7 +31,7 @@ import org.apache.cxf.ws.policy.Assertio
import org.apache.cxf.ws.policy.PolicyBuilder;
import org.apache.cxf.ws.policy.PolicyInterceptorProviderLoader;
import org.apache.cxf.ws.policy.PolicyInterceptorProviderRegistry;
-import org.apache.cxf.ws.policy.builder.xml.XMLPrimitiveAssertionBuilder;
+import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertionBuilder;
import org.apache.cxf.ws.security.policy.builders.AlgorithmSuiteBuilder;
import org.apache.cxf.ws.security.policy.builders.AsymmetricBindingBuilder;
import org.apache.cxf.ws.security.policy.builders.ContentEncryptedElementsBuilder;
@@ -145,7 +145,7 @@ public final class WSSecurityPolicyLoade
new QName(SP12Constants.SP_NS, SP12Constants.ENCRYPT_BEFORE_SIGNING),
new QName(SP11Constants.SP_NS, SP11Constants.ENCRYPT_BEFORE_SIGNING),
});
- reg.register(new XMLPrimitiveAssertionBuilder(others));
+ reg.register(new PrimitiveAssertionBuilder(others));
}
public void registerProviders() {
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AbstractSecurityAssertion.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AbstractSecurityAssertion.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AbstractSecurityAssertion.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AbstractSecurityAssertion.java Mon Feb 14 23:35:21 2011
@@ -24,7 +24,6 @@ import org.apache.cxf.ws.policy.Assertio
import org.apache.cxf.ws.policy.AssertionInfoMap;
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.security.policy.SPConstants;
-import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
public abstract class AbstractSecurityAssertion implements PolicyAssertion {
@@ -34,7 +33,6 @@ public abstract class AbstractSecurityAs
private boolean ignorable;
private boolean normalized;
-
public AbstractSecurityAssertion(SPConstants version) {
constants = version;
}
@@ -76,11 +74,6 @@ public abstract class AbstractSecurityAs
public PolicyComponent normalize() {
return this;
}
-
-
- public Policy getPolicy() {
- return null;
- }
public boolean isAsserted(AssertionInfoMap aim) {
Collection<AssertionInfo> ail = aim.getAssertionInfo(getName());
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AsymmetricBinding.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AsymmetricBinding.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AsymmetricBinding.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/AsymmetricBinding.java Mon Feb 14 23:35:21 2011
@@ -31,8 +31,10 @@ import org.apache.neethi.All;
import org.apache.neethi.ExactlyOne;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
+import org.apache.neethi.PolicyContainingAssertion;
-public class AsymmetricBinding extends SymmetricAsymmetricBindingBase {
+public class AsymmetricBinding extends SymmetricAsymmetricBindingBase
+ implements PolicyContainingAssertion {
private InitiatorToken initiatorToken;
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/Binding.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/Binding.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/Binding.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/Binding.java Mon Feb 14 23:35:21 2011
@@ -20,8 +20,10 @@ package org.apache.cxf.ws.security.polic
import org.apache.cxf.ws.policy.PolicyBuilder;
import org.apache.cxf.ws.security.policy.SPConstants;
+import org.apache.neethi.PolicyContainingAssertion;
-public abstract class Binding extends AbstractSecurityAssertion implements AlgorithmWrapper {
+public abstract class Binding extends AbstractSecurityAssertion
+ implements AlgorithmWrapper, PolicyContainingAssertion {
protected PolicyBuilder builder;
private AlgorithmSuite algorithmSuite;
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/TokenWrapper.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/TokenWrapper.java?rev=1070696&r1=1070695&r2=1070696&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/TokenWrapper.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/model/TokenWrapper.java Mon Feb 14 23:35:21 2011
@@ -26,8 +26,10 @@ import org.apache.neethi.All;
import org.apache.neethi.ExactlyOne;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
+import org.apache.neethi.PolicyContainingAssertion;
-public abstract class TokenWrapper extends AbstractSecurityAssertion implements PolicyAssertion {
+public abstract class TokenWrapper extends AbstractSecurityAssertion
+ implements PolicyAssertion, PolicyContainingAssertion {
protected PolicyBuilder builder;
protected Token token;