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/18 05:20:07 UTC

svn commit: r1071879 - in /cxf/trunk: api/src/main/java/org/apache/cxf/ws/policy/ api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/ api/src/test/java/org/apache/cxf/ws/policy/ api/src/test/java/org/apache/cxf/ws/policy/builder/primitive/ rt...

Author: dkulp
Date: Fri Feb 18 04:20:06 2011
New Revision: 1071879

URL: http://svn.apache.org/viewvc?rev=1071879&view=rev
Log:
Push more stuff to Neethi
Cleanup some policy API's

Removed:
    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/test/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionBuilderTest.java
    cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionTest.java
    cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/builder/primitive/NestedPrimitiveAssertionTest.java
Modified:
    cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/AssertionInfoMap.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/AssertionInfoMapTest.java
    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/main/java/org/apache/cxf/transport/http/policy/NoOpPolicyInterceptorProvider.java
    cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/policy/AddressingAssertionBuilder.java
    cxf/trunk/rt/ws/addr/src/main/resources/META-INF/cxf/cxf-extension-addr.xml
    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/PolicyUtils.java
    cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/FirstAlternativeSelector.java
    cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MaximalAlternativeSelector.java
    cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MinimalAlternativeSelector.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/PolicyEngineTest.java
    cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/external/ExternalAttachmentProviderTest.java

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -95,9 +95,8 @@ public class AssertionInfoMap extends Ha
             Assertion ass = (Assertion)assertion;
             Collection<AssertionInfo> ail = getAssertionInfo(ass.getName());
             for (AssertionInfo ai : ail) {
-                if (ai.isAsserted() && ai.getAssertion() == ass) {
-                    return true;
-                } else if (!ass.isOptional()) {
+                if (ai.getAssertion().equal(ass)
+                    && !ai.isAsserted() && !ass.isOptional()) {
                     errors.add(ass.getName());
                     pass = false;                    
                 }
@@ -106,10 +105,10 @@ public class AssertionInfoMap extends Ha
         if (assertion instanceof PolicyContainingAssertion) {
             Policy p = ((PolicyContainingAssertion)assertion).getPolicy();
             if (p != null) {
-                Iterator it = p.getAlternatives();
-                while (it.hasNext()) {
-                    List<PolicyAssertion> lst = CastUtils.cast((List<?>)it.next());
-                    for (PolicyAssertion p2 : lst) {
+                Iterator<List<Assertion>> alternatives = p.getAlternatives();
+                while (alternatives.hasNext()) {
+                    List<Assertion> pc = alternatives.next();
+                    for (Assertion p2 : pc) {
                         pass &= supportsAlternative(p2, errors);
                     }
                 }
@@ -128,9 +127,9 @@ public class AssertionInfoMap extends Ha
     
     public void checkEffectivePolicy(Policy policy) {
         List<QName> errors = new ArrayList<QName>();
-        Iterator<List<PolicyComponent>> alternatives = policy.getAlternatives();
+        Iterator<List<Assertion>> alternatives = policy.getAlternatives();
         while (alternatives.hasNext()) {
-            List<PolicyComponent> pc = alternatives.next();
+            List<Assertion> pc = alternatives.next();
             if (supportsAlternative(pc, errors)) {
                 return;
             }
@@ -150,7 +149,7 @@ public class AssertionInfoMap extends Ha
                 }
             }
         }
-        StringBuilder error = new StringBuilder("\n");
+        StringBuilder error = new StringBuilder();
         for (String msg : msgs) {
             error.append("\n").append(msg);
         }

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -19,25 +19,18 @@
 
 package org.apache.cxf.ws.policy.builder.primitive;
 
-import java.util.Collection;
-
 import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
 
-import org.apache.cxf.ws.policy.AssertionInfo;
-import org.apache.cxf.ws.policy.AssertionInfoMap;
-import org.apache.cxf.ws.policy.PolicyAssertion;
 import org.apache.neethi.Assertion;
-import org.apache.neethi.Constants;
-import org.apache.neethi.PolicyComponent;
 import org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder;
 
 /**
  * 
  */
 public class PrimitiveAssertion 
-    extends org.apache.neethi.builders.PrimitiveAssertion implements PolicyAssertion {
+    extends org.apache.neethi.builders.PrimitiveAssertion {
 
     public PrimitiveAssertion() {
         super();
@@ -65,22 +58,4 @@ public class PrimitiveAssertion 
         return new PrimitiveAssertion(name, opt, ignorable);
     }
 
-    public boolean equal(PolicyComponent policyComponent) {
-        if (policyComponent.getType() != Constants.TYPE_ASSERTION) {
-            return false;
-        }
-        return getName().equals(((PolicyAssertion)policyComponent).getName());
-    }
-
-
-    public boolean isAsserted(AssertionInfoMap aim) {
-        Collection<AssertionInfo> ail = aim.getAssertionInfo(name);
-        for (AssertionInfo ai : ail) {
-            if (ai.isAsserted() && ai.getAssertion().equal(this)) {
-                return true;
-            }
-        }
-        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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -25,14 +25,12 @@ import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
 
-import org.apache.cxf.Bus;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.AssertionBuilderFactory;
 import org.apache.neethi.builders.AssertionBuilder;
 
 public class PrimitiveAssertionBuilder implements AssertionBuilder<Element> {
 
-    protected Bus bus;
     private QName knownElements[] = {};
     
     public PrimitiveAssertionBuilder() {
@@ -44,9 +42,6 @@ public class PrimitiveAssertionBuilder i
         knownElements = els;
     }
     
-    public void setBus(Bus b) {
-        bus = b;
-    }
     
     public Assertion build(Element element, AssertionBuilderFactory fact) { 
         return new PrimitiveAssertion(element);

Modified: cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/AssertionInfoMapTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/AssertionInfoMapTest.java?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/AssertionInfoMapTest.java (original)
+++ cxf/trunk/api/src/test/java/org/apache/cxf/ws/policy/AssertionInfoMapTest.java Fri Feb 18 04:20:06 2011
@@ -27,12 +27,12 @@ import java.util.List;
 import javax.xml.namespace.QName;
 
 import org.apache.cxf.helpers.CastUtils;
-import org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertion;
 import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
 import org.apache.neethi.All;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.ExactlyOne;
 import org.apache.neethi.Policy;
+import org.apache.neethi.builders.PolicyContainingPrimitiveAssertion;
 import org.easymock.classextension.EasyMock;
 import org.easymock.classextension.IMocksControl;
 import org.junit.Assert;
@@ -107,11 +107,11 @@ public class AssertionInfoMapTest extend
     public void testCheckEffectivePolicy() { 
         Policy p = new Policy();
         QName aqn = new QName("http://x.y.z", "a");
-        PolicyAssertion a = new PrimitiveAssertion(aqn);
+        Assertion a = new PrimitiveAssertion(aqn);
         QName bqn = new QName("http://x.y.z", "b");
-        PolicyAssertion b = new PrimitiveAssertion(bqn);
+        Assertion b = new PrimitiveAssertion(bqn);
         QName cqn = new QName("http://x.y.z", "c");
-        PolicyAssertion c = new PrimitiveAssertion(cqn);
+        Assertion c = new PrimitiveAssertion(cqn);
         All alt1 = new All();
         alt1.addAssertion(a);
         alt1.addAssertion(b);
@@ -146,8 +146,8 @@ public class AssertionInfoMapTest extend
     @Test
     public void testCheck() throws PolicyException {
         QName aqn = new QName("http://x.y.z", "a");
-        PolicyAssertion a = new PrimitiveAssertion(aqn);
-        Collection<PolicyAssertion> assertions = new ArrayList<PolicyAssertion>();
+        Assertion a = new PrimitiveAssertion(aqn);
+        Collection<Assertion> assertions = new ArrayList<Assertion>();
         assertions.add(a);
         AssertionInfoMap aim = new AssertionInfoMap(assertions);
         try {
@@ -164,20 +164,19 @@ public class AssertionInfoMapTest extend
     public void testAllAssertionsIn() { 
         
         Policy nested = new Policy();
-        PolicyAssertion nb = new PrimitiveAssertion(
+        Assertion nb = new PrimitiveAssertion(
             new QName("http://x.y.z", "b"));
         nested.addAssertion(nb);
         
         Policy p = new Policy();
-        PolicyAssertion a1 = new PrimitiveAssertion(
+        Assertion a1 = new PrimitiveAssertion(
                                 new QName("http://x.y.z", "a"));
-        PolicyAssertion a2 = new PrimitiveAssertion(
+        Assertion a2 = new PrimitiveAssertion(
                                  new QName("http://x.y.z", "a"));
-        PolicyAssertion b = new PrimitiveAssertion(
+        Assertion b = new PrimitiveAssertion(
                                 new QName("http://x.y.z", "b"));
-        PolicyAssertion c = new NestedPrimitiveAssertion(
-                               new QName("http://x.y.z", "c"), false, nested, true,
-                               null);
+        Assertion c = new PolicyContainingPrimitiveAssertion(
+                               new QName("http://x.y.z", "c"), false, false, nested);
         
         All alt1 = new All();
         alt1.addAssertion(a1);

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -27,7 +27,6 @@ import javax.xml.namespace.QName;
 
 import org.apache.cxf.common.injection.NoJSR250Annotations;
 import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
-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;
@@ -58,11 +57,14 @@ public class HTTPClientAssertionBuilder 
 
         @Override
         public boolean equal(PolicyComponent policyComponent) {
+            if (policyComponent == this) {
+                return true;
+            }
             if (policyComponent.getType() != Constants.TYPE_ASSERTION
-                || !getName().equals(((PolicyAssertion)policyComponent).getName())) {
+                || !getName().equals(((Assertion)policyComponent).getName())) {
                 return false;
             }
-            JaxbAssertion<HTTPClientPolicy> other = JaxbAssertion.cast((PolicyAssertion)policyComponent);
+            JaxbAssertion<HTTPClientPolicy> other = JaxbAssertion.cast((Assertion)policyComponent);
             return PolicyUtils.equals(this.getData(), other.getData());  
         }
         

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -27,7 +27,6 @@ import javax.xml.namespace.QName;
 
 import org.apache.cxf.common.injection.NoJSR250Annotations;
 import org.apache.cxf.transports.http.configuration.HTTPServerPolicy;
-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;
@@ -58,11 +57,14 @@ public class HTTPServerAssertionBuilder 
 
         @Override
         public boolean equal(PolicyComponent policyComponent) {
+            if (policyComponent == this) {
+                return true;
+            }
             if (policyComponent.getType() != Constants.TYPE_ASSERTION
-                || !getName().equals(((PolicyAssertion)policyComponent).getName())) {
+                || !getName().equals(((Assertion)policyComponent).getName())) {
                 return false;
             }
-            JaxbAssertion<HTTPServerPolicy> other = JaxbAssertion.cast((PolicyAssertion)policyComponent);
+            JaxbAssertion<HTTPServerPolicy> other = JaxbAssertion.cast((Assertion)policyComponent);
             return PolicyUtils.equals(this.getData(), other.getData());  
         }
         

Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/NoOpPolicyInterceptorProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/NoOpPolicyInterceptorProvider.java?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/NoOpPolicyInterceptorProvider.java (original)
+++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/policy/NoOpPolicyInterceptorProvider.java Fri Feb 18 04:20:06 2011
@@ -30,8 +30,8 @@ import org.apache.cxf.ws.policy.Abstract
 /**
  * This no-op PolicyInterceptorProvider prevents the policy enforcement
  * logic making it impossible to assert the HTTPClientPolicy upfront
- * before the HTTPConduit becomes invoved (e.g. via a WSPolicyFeature
- * applied to the <jawx:client> bean).
+ * before the HTTPConduit becomes involved (e.g. via a WSPolicyFeature
+ * applied to the <jaxws:client> bean).
  */
 @NoJSR250Annotations
 public class NoOpPolicyInterceptorProvider

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -25,14 +25,14 @@ import javax.xml.namespace.QName;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 
-import org.apache.cxf.Bus;
-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.PrimitiveAssertion;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.Policy;
 import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.neethi.builders.PolicyContainingPrimitiveAssertion;
+import org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder;
 
 /**
  * 
@@ -47,10 +47,8 @@ public class AddressingAssertionBuilder 
         MetadataConstants.ANON_RESPONSES_ASSERTION_QNAME_0705,
         MetadataConstants.NON_ANON_RESPONSES_ASSERTION_QNAME_0705
     };
-    private Bus bus;
     
-    public AddressingAssertionBuilder(Bus b) {
-        bus = b;
+    public AddressingAssertionBuilder() {
     }
     
     
@@ -67,9 +65,18 @@ public class AddressingAssertionBuilder 
         }
         if (MetadataConstants.ADDRESSING_ASSERTION_QNAME.equals(qn)
             || MetadataConstants.ADDRESSING_ASSERTION_QNAME_0705.equals(qn)) {
-            PolicyBuilder builder = bus.getExtension(PolicyBuilder.class);
-            NestedPrimitiveAssertion nap = new NestedPrimitiveAssertion(elem, builder);
-            nap.setName(MetadataConstants.ADDRESSING_ASSERTION_QNAME);
+            Assertion nap = new XMLPrimitiveAssertionBuilder() {
+                public Assertion newPrimitiveAssertion(Element element) {
+                    return new PrimitiveAssertion(MetadataConstants.ADDRESSING_ASSERTION_QNAME,
+                                                  isOptional(element), isIgnorable(element));        
+                }
+                public Assertion newPolicyContainingAssertion(Element element, Policy policy) {
+                    return new PolicyContainingPrimitiveAssertion(
+                                                  MetadataConstants.ADDRESSING_ASSERTION_QNAME,
+                                                  isOptional(element), isIgnorable(element),
+                                                  policy);
+                }
+            } .build(elem, factory); 
             return nap;
         } else if (MetadataConstants.ANON_RESPONSES_ASSERTION_QNAME.equals(qn)
             || MetadataConstants.ANON_RESPONSES_ASSERTION_QNAME_0705.equals(qn)) {

Modified: cxf/trunk/rt/ws/addr/src/main/resources/META-INF/cxf/cxf-extension-addr.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/resources/META-INF/cxf/cxf-extension-addr.xml?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/main/resources/META-INF/cxf/cxf-extension-addr.xml (original)
+++ cxf/trunk/rt/ws/addr/src/main/resources/META-INF/cxf/cxf-extension-addr.xml Fri Feb 18 04:20:06 2011
@@ -24,9 +24,7 @@ http://www.springframework.org/schema/be
     
     <bean class="org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder"
 	  id="org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder" 
-	  lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
+	  lazy-init="true"/>
     <bean class="org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder"
       id="org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder" 
       lazy-init="true"/>

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -35,10 +35,10 @@ import org.apache.cxf.common.injection.N
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.configuration.ConfiguredBeanLocator;
 import org.apache.cxf.extension.BusExtension;
-import org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertionBuilder;
 import org.apache.neethi.AssertionBuilderFactoryImpl;
-import org.apache.neethi.PolicyEngine;
+import org.apache.neethi.PolicyBuilder;
 import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.neethi.builders.xml.XMLPrimitiveAssertionBuilder;
 
 /**
  * 
@@ -68,9 +68,10 @@ public class AssertionBuilderRegistryImp
         bus = b;
         if (b != null) {
             b.setExtension(this, AssertionBuilderRegistry.class);
-            PolicyBuilder builder = b.getExtension(PolicyBuilder.class);
-            if (builder instanceof PolicyEngine) {
-                engine = (PolicyEngine)builder;
+            org.apache.cxf.ws.policy.PolicyBuilder builder 
+                = b.getExtension(org.apache.cxf.ws.policy.PolicyBuilder.class);
+            if (builder instanceof PolicyBuilder) {
+                engine = (PolicyBuilder)builder;
             }
         }
     }
@@ -107,7 +108,7 @@ public class AssertionBuilderRegistryImp
                 Message m = new Message("NO_ASSERTIONBUILDER_EXC", BUNDLE, qname.toString());
                 LOG.warning(m.toString());
             }
-            return new NestedPrimitiveAssertionBuilder(bus.getExtension(PolicyBuilder.class));
+            return new XMLPrimitiveAssertionBuilder();
         } else {
             Message m = new Message("NO_ASSERTIONBUILDER_EXC", BUNDLE, qname.toString());
             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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -34,7 +34,6 @@ import javax.xml.namespace.QName;
 import org.apache.cxf.common.i18n.BundleUtils;
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.interceptor.Interceptor;
 import org.apache.cxf.service.model.BindingFaultInfo;
 import org.apache.cxf.service.model.BindingMessageInfo;
@@ -44,7 +43,6 @@ import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.transport.Destination;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.Policy;
-import org.apache.neethi.PolicyComponent;
 import org.apache.neethi.PolicyContainingAssertion;
 
 /**
@@ -177,13 +175,11 @@ public class EffectivePolicyImpl impleme
     protected Collection<Assertion> getSupportedAlternatives(PolicyEngineImpl engine,
                                                                    Policy p) {
         Collection<Assertion> alternatives = new ArrayList<Assertion>();
-        
-        
-        for (Iterator<List<PolicyComponent>> it = p.getAlternatives(); it.hasNext();) {
-            List<PolicyComponent> alternative = it.next();
+
+        for (Iterator<List<Assertion>> it = p.getAlternatives(); it.hasNext();) {
+            List<Assertion> alternative = it.next();
             if (engine.supportsAlternative(alternative, null)) {
-                List<Assertion> asserts = CastUtils.cast(alternative);
-                alternatives.addAll(asserts);
+                alternatives.addAll(alternative);
             }
         }
         return alternatives;

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -30,7 +30,6 @@ import java.util.Set;
 import javax.xml.namespace.QName;
 
 import org.apache.cxf.common.i18n.BundleUtils;
-import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.interceptor.Interceptor;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.service.model.BindingFaultInfo;
@@ -41,7 +40,6 @@ import org.apache.cxf.transport.Destinat
 import org.apache.neethi.Assertion;
 import org.apache.neethi.ExactlyOne;
 import org.apache.neethi.Policy;
-import org.apache.neethi.PolicyComponent;
 import org.apache.neethi.PolicyContainingAssertion;
 
 /**
@@ -175,11 +173,10 @@ public class EndpointPolicyImpl implemen
     protected Collection<Assertion> getSupportedAlternatives() {
         Collection<Assertion> alternatives = new ArrayList<Assertion>();
 
-        for (Iterator<List<PolicyComponent>> it = policy.getAlternatives(); it.hasNext();) {
-            List<PolicyComponent> alternative = it.next();
+        for (Iterator<List<Assertion>> it = policy.getAlternatives(); it.hasNext();) {
+            List<Assertion> alternative = it.next();
             if (engine.supportsAlternative(alternative, assertor)) {
-                List<Assertion> asserts = CastUtils.cast(alternative);
-                alternatives.addAll(asserts);
+                alternatives.addAll(alternative);
             }
         }
         return alternatives;
@@ -256,11 +253,10 @@ public class EndpointPolicyImpl implemen
 
     Collection<Assertion> getSupportedAlternatives(Policy p) {
         Collection<Assertion> alternatives = new ArrayList<Assertion>();
-        for (Iterator<List<PolicyComponent>> it = p.getAlternatives(); it.hasNext();) {
-            List<PolicyComponent> alternative = it.next();
+        for (Iterator<List<Assertion>> it = p.getAlternatives(); it.hasNext();) {
+            List<Assertion> alternative = it.next();
             if (engine.supportsAlternative(alternative, null)) {
-                List<Assertion> asserts = CastUtils.cast(alternative);
-                alternatives.addAll(asserts);
+                alternatives.addAll(alternative);
             }
         }
         return alternatives;

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -22,7 +22,6 @@ package org.apache.cxf.ws.policy;
 import org.apache.cxf.Bus;
 import org.apache.cxf.common.injection.NoJSR250Annotations;
 import org.apache.cxf.extension.BusExtension;
-import org.apache.neethi.PolicyEngine;
 
 
 /**
@@ -31,7 +30,8 @@ import org.apache.neethi.PolicyEngine;
  * from DOM elements, but also from an input stream etc.
  */
 @NoJSR250Annotations
-public class PolicyBuilderImpl extends PolicyEngine implements PolicyBuilder, BusExtension {
+public class PolicyBuilderImpl extends org.apache.neethi.PolicyBuilder 
+    implements PolicyBuilder, BusExtension {
     private Bus bus;
    
     public PolicyBuilderImpl() {
@@ -53,6 +53,7 @@ public class PolicyBuilderImpl extends P
     public final void setBus(Bus theBus) {
         bus = theBus;
         if (bus != null) {
+            theBus.setExtension(this, PolicyBuilder.class);
             AssertionBuilderRegistry reg = theBus.getExtension(AssertionBuilderRegistry.class);
             if (reg != null) {
                 factory = reg;

Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyUtils.java?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyUtils.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyUtils.java Fri Feb 18 04:20:06 2011
@@ -25,11 +25,11 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import org.apache.cxf.helpers.CastUtils;
-import org.apache.cxf.ws.policy.builder.primitive.NestedPrimitiveAssertion;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.Constants;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyComponent;
+import org.apache.neethi.PolicyContainingAssertion;
 import org.apache.neethi.PolicyOperator;
 
 /**
@@ -154,8 +154,8 @@ public final class PolicyUtils {
             buf.append((Assertion)pc);
             buf.append(")");
             nl(buf);
-            if (pc instanceof NestedPrimitiveAssertion) {
-                PolicyComponent nested = ((NestedPrimitiveAssertion)pc).getPolicy();
+            if (pc instanceof PolicyContainingAssertion) {
+                PolicyComponent nested = ((PolicyContainingAssertion)pc).getPolicy();
                 level++;
                 printPolicyComponent(nested, buf, level);
                 level--;                

Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/FirstAlternativeSelector.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/FirstAlternativeSelector.java?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/FirstAlternativeSelector.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/FirstAlternativeSelector.java Fri Feb 18 04:20:06 2011
@@ -23,13 +23,11 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.ws.policy.AlternativeSelector;
 import org.apache.cxf.ws.policy.Assertor;
 import org.apache.cxf.ws.policy.PolicyEngine;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.Policy;
-import org.apache.neethi.PolicyComponent;
 
 /**
  * 
@@ -38,11 +36,11 @@ public class FirstAlternativeSelector im
     
     public Collection<Assertion> selectAlternative(
         Policy policy, PolicyEngine engine, Assertor assertor) {
-        Iterator<List<PolicyComponent>> alternatives = policy.getAlternatives();
+        Iterator<List<Assertion>> alternatives = policy.getAlternatives();
         while (alternatives.hasNext()) {
-            List<PolicyComponent> alternative = alternatives.next();
+            List<Assertion> alternative = alternatives.next();
             if (engine.supportsAlternative(alternative, assertor)) {
-                return CastUtils.cast(alternative);
+                return alternative;
             }
         }        
         return null;

Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MaximalAlternativeSelector.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MaximalAlternativeSelector.java?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MaximalAlternativeSelector.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MaximalAlternativeSelector.java Fri Feb 18 04:20:06 2011
@@ -23,13 +23,11 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.ws.policy.AlternativeSelector;
 import org.apache.cxf.ws.policy.Assertor;
 import org.apache.cxf.ws.policy.PolicyEngine;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.Policy;
-import org.apache.neethi.PolicyComponent;
 
 /**
  * 
@@ -39,12 +37,12 @@ public class MaximalAlternativeSelector 
     public Collection<Assertion> selectAlternative(
         Policy policy, PolicyEngine engine, Assertor assertor) {
         Collection<Assertion> choice = null;
-        Iterator<List<PolicyComponent>> alternatives = policy.getAlternatives();
+        Iterator<List<Assertion>> alternatives = policy.getAlternatives();
         while (alternatives.hasNext()) {
-            List<PolicyComponent> alternative = alternatives.next();
+            List<Assertion> alternative = alternatives.next();
             if (engine.supportsAlternative(alternative, assertor) 
                 && (null == choice || alternative.size() > choice.size())) {
-                choice = CastUtils.cast(alternative);
+                choice = alternative;
             }
         }
         return choice;

Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MinimalAlternativeSelector.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MinimalAlternativeSelector.java?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MinimalAlternativeSelector.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/selector/MinimalAlternativeSelector.java Fri Feb 18 04:20:06 2011
@@ -23,13 +23,11 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.ws.policy.AlternativeSelector;
 import org.apache.cxf.ws.policy.Assertor;
 import org.apache.cxf.ws.policy.PolicyEngine;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.Policy;
-import org.apache.neethi.PolicyComponent;
 
 /**
  * 
@@ -39,13 +37,13 @@ public class MinimalAlternativeSelector 
     public Collection<Assertion> selectAlternative(
         Policy policy, PolicyEngine engine, Assertor assertor) {
         Collection<Assertion> choice = null;
-        Iterator<List<PolicyComponent>> alternatives = policy.getAlternatives();
+        Iterator<List<Assertion>> alternatives = policy.getAlternatives();
         while (alternatives.hasNext()) {
-            List<PolicyComponent> alternative = alternatives.next();
+            List<Assertion> alternative = alternatives.next();
             
             if (engine.supportsAlternative(alternative, assertor) 
                 && (null == choice || alternative.size() < choice.size())) {
-                choice = CastUtils.cast(alternative);
+                choice = alternative;
             }
         }
         return choice;

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -24,8 +24,8 @@ import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
 import org.apache.cxf.Bus;
-import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
 import org.apache.neethi.Assertion;
+import org.apache.neethi.builders.PrimitiveAssertion;
 import org.easymock.classextension.EasyMock;
 import org.easymock.classextension.IMocksControl;
 import org.junit.After;

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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
@@ -79,7 +79,6 @@ public class NormalizeTest extends Asser
         AssertionBuilderRegistry abr = new AssertionBuilderRegistryImpl();
         builder.setAssertionBuilderRegistry(abr);
         PrimitiveAssertionBuilder ab = new PrimitiveAssertionBuilder();
-        ab.setBus(bus);
        
         abr.registerBuilder(new QName("http://schemas.xmlsoap.org/ws/2002/12/secext", "SecurityToken"), ab);
         abr.registerBuilder(new QName("http://schemas.xmlsoap.org/ws/2002/12/secext", "SecurityHeader"), ab);

Modified: cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java (original)
+++ cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java Fri Feb 18 04:20:06 2011
@@ -621,7 +621,7 @@ public class PolicyEngineTest extends As
         engine = new PolicyEngineImpl();
         Collection<Assertion> assertions = new ArrayList<Assertion>();
         
-        PolicyAssertion a = control.createMock(PolicyAssertion.class);
+        Assertion a = control.createMock(Assertion.class);
         EasyMock.expect(a.getType()).andReturn(Constants.TYPE_ASSERTION);
         EasyMock.expect(a.isOptional()).andReturn(true);
         

Modified: cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/external/ExternalAttachmentProviderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/external/ExternalAttachmentProviderTest.java?rev=1071879&r1=1071878&r2=1071879&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/external/ExternalAttachmentProviderTest.java (original)
+++ cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/attachment/external/ExternalAttachmentProviderTest.java Fri Feb 18 04:20:06 2011
@@ -35,10 +35,10 @@ import org.apache.cxf.service.model.Bind
 import org.apache.cxf.service.model.BindingOperationInfo;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.service.model.ServiceInfo;
-import org.apache.cxf.ws.policy.PolicyAssertion;
 import org.apache.cxf.ws.policy.PolicyBuilder;
 import org.apache.cxf.ws.policy.PolicyException;
 import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
+import org.apache.neethi.Assertion;
 import org.apache.neethi.Policy;
 import org.easymock.classextension.EasyMock;
 import org.easymock.classextension.IMocksControl;
@@ -59,7 +59,7 @@ public class ExternalAttachmentProviderT
     
     private IMocksControl control;
     private Policy policy;
-    private PolicyAssertion assertion;
+    private Assertion assertion;
     private PolicyAttachment attachment;
     private Collection<PolicyAttachment> attachments = new ArrayList<PolicyAttachment>();
     



Re: svn commit: r1071879 - in /cxf/trunk: api/src/main/java/org/apache/cxf/ws/policy/ api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/ api/src/test/java/org/apache/cxf/ws/policy/ api/src/test/java/org/apache/cxf/ws/policy/builder/primitive/ rt...

Posted by Glen Mazza <gm...@talend.com>.
On 2/17/2011 11:20 PM, dkulp@apache.org wrote:
> Author: dkulp
> Date: Fri Feb 18 04:20:06 2011
> New Revision: 1071879
>
> URL: http://svn.apache.org/viewvc?rev=1071879&view=rev
> Log:
> Push more stuff to Neethi
> Cleanup some policy API's
>
>
> 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=1071879&r1=1071878&r2=1071879&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 Fri Feb 18 04:20:06 2011
> @@ -95,9 +95,8 @@ public class AssertionInfoMap extends Ha
>               Assertion ass = (Assertion)assertion;
>               Collection<AssertionInfo>  ail = getAssertionInfo(ass.getName());
>               for (AssertionInfo ai : ail) {
> -                if (ai.isAsserted()&&  ai.getAssertion() == ass) {
> -                    return true;
> -                } else if (!ass.isOptional()) {
> +                if (ai.getAssertion().equal(ass)
> +&&  !ai.isAsserted()&&  !ass.isOptional()) {
>                       errors.add(ass.getName());
>                       pass = false;
>                   }

Can we add something to Checkstyle to prohibit variables named "ass"?   :)

Glen