Author: dkulp
Date: Tue Feb 15 20:32:31 2011
New Revision: 1071039
URL: http://svn.apache.org/viewvc?rev=1071039&view=rev
Log:
The built in primitive assertions can use the default intersect
algorithm. Don't force all the subclasses to have the Intersectable
interface set on them.
Modified:
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/xml/XMLPrimitiveAssertionBuilder.java
Modified:
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java?rev=1071039&r1=1071038&r2=1071039&view=diff
==============================================================================
---
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java
(original)
+++
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PolicyContainingPrimitiveAssertion.java
Tue Feb 15 20:32:31 2011
@@ -34,7 +34,6 @@ import org.apache.neethi.ExactlyOne;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
import org.apache.neethi.PolicyContainingAssertion;
-import org.apache.neethi.util.PolicyIntersector;
/**
* Implementation of an assertion that required exactly one (possibly empty)
child element
@@ -124,19 +123,5 @@ public class PolicyContainingPrimitiveAs
nested.serialize(writer);
writer.writeEndElement();
}
-
- public boolean isCompatible(Assertion assertion, boolean strict) {
- if (name.equals(assertion.getName())) {
- PolicyContainingPrimitiveAssertion p2 =
(PolicyContainingPrimitiveAssertion)assertion;
- return new PolicyIntersector(strict).compatiblePolicies(nested,
p2.nested);
- }
- return false;
- }
- public Assertion intersect(Assertion assertion, boolean strict) {
- PolicyContainingPrimitiveAssertion p2 =
(PolicyContainingPrimitiveAssertion)assertion;
-
- Policy p = new PolicyIntersector(strict).intersect(nested, p2.nested);
- return clone(isOptional() && assertion.isOptional(), p);
- }
}
Modified:
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java?rev=1071039&r1=1071038&r2=1071039&view=diff
==============================================================================
---
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java
(original)
+++
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/PrimitiveAssertion.java
Tue Feb 15 20:32:31 2011
@@ -28,15 +28,13 @@ import org.apache.neethi.All;
import org.apache.neethi.Assertion;
import org.apache.neethi.Constants;
import org.apache.neethi.ExactlyOne;
-import org.apache.neethi.IntersectableAssertion;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyComponent;
/**
*
*/
-public class PrimitiveAssertion implements IntersectableAssertion {
-
+public class PrimitiveAssertion implements Assertion {
protected QName name;
protected boolean optional;
protected boolean ignorable;
@@ -136,22 +134,8 @@ public class PrimitiveAssertion implemen
writer.writeEndElement();
}
- protected Assertion clone(boolean optional) {
- return new PrimitiveAssertion(name, optional, ignorable);
- }
-
- public boolean isCompatible(Assertion assertion, boolean strict) {
- if (name.equals(assertion.getName())) {
- return true;
- }
- return false;
- }
-
- public Assertion intersect(Assertion assertion, boolean strict) {
- if (isOptional() == assertion.isOptional()) {
- return assertion;
- }
- return clone(isOptional() && assertion.isOptional());
+ protected Assertion clone(boolean isoptional) {
+ return new PrimitiveAssertion(name, isoptional, ignorable);
}
}
\ No newline at end of file
Modified:
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/xml/XMLPrimitiveAssertionBuilder.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/xml/XMLPrimitiveAssertionBuilder.java?rev=1071039&r1=1071038&r2=1071039&view=diff
==============================================================================
---
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/xml/XMLPrimitiveAssertionBuilder.java
(original)
+++
webservices/commons/trunk/modules/neethi/src/main/java/org/apache/neethi/builders/xml/XMLPrimitiveAssertionBuilder.java
Tue Feb 15 20:32:31 2011
@@ -87,7 +87,8 @@ public class XMLPrimitiveAssertionBuilde
public static boolean isIgnorable(Element el) {
Attr ignorable = el.getAttributeNodeNS(Constants.URI_POLICY_15_NS,
Constants.ATTR_IGNORABLE);
if (ignorable == null) {
- ignorable =
el.getAttributeNodeNS(Constants.URI_POLICY_15_DEPRECATED_NS,
Constants.ATTR_IGNORABLE);
+ ignorable =
el.getAttributeNodeNS(Constants.URI_POLICY_15_DEPRECATED_NS,
+ Constants.ATTR_IGNORABLE);
}
return ignorable == null ? false :
Boolean.parseBoolean(ignorable.getValue());
}