You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2011/02/19 15:22:21 UTC

svn commit: r1072333 - in /axis/axis2/java/sandesha/trunk/modules: core/src/main/java/org/apache/sandesha2/policy/ core/src/main/java/org/apache/sandesha2/policy/builders/ policy/src/main/resources/META-INF/services/

Author: veithen
Date: Sat Feb 19 14:22:20 2011
New Revision: 1072333

URL: http://svn.apache.org/viewvc?rev=1072333&view=rev
Log:
Created an assertion builder for each individual assertion used by Sandesha. This way of parsing the RMAssertion is much more lengthy, but integrates better with Neethi. If this had been done from the start, then it would have been much easier to upgrade to Neethi 3.0.0-SNAPSHOT.

Added:
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/AcknowledgementIntervalAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ContextManagerAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EPRDecoratorAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EnforceRMAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ExponentialBackoffAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutMeasureAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InvokeInOrderAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MakeConnectionAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MaximumRetransmissionCountAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MessageTypesToDropAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RetransmissionIntervalAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SandeshaPropertyAssertion.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SecurityManagerAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutMeasureAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/StorageManagersAssertionBuilder.java   (with props)
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/UseMessageSerializationAssertionBuilder.java   (with props)
Modified:
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/SandeshaPolicyBean.java
    axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RMAssertionBuilder.java
    axis/axis2/java/sandesha/trunk/modules/policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder

Modified: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/SandeshaPolicyBean.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/SandeshaPolicyBean.java?rev=1072333&r1=1072332&r2=1072333&view=diff
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/SandeshaPolicyBean.java (original)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/SandeshaPolicyBean.java Sat Feb 19 14:22:20 2011
@@ -627,5 +627,8 @@ public class SandeshaPolicyBean implemen
 	public void setParent(SandeshaPolicyBean parent) {
 		this.parent = parent;
 	}
-	
+
+    public boolean isIgnorable() {
+        return false;
+    }
 }

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/AcknowledgementIntervalAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/AcknowledgementIntervalAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/AcknowledgementIntervalAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/AcknowledgementIntervalAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class AcknowledgementIntervalAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_ACK_INTERVAL };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final long value = Long.parseLong(element.getText().trim());
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setAcknowledgementInterval(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/AcknowledgementIntervalAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ContextManagerAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ContextManagerAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ContextManagerAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ContextManagerAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class ContextManagerAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_CONTEXT_MGR };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final String value = element.getText().trim();
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setContextManagerClass(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ContextManagerAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EPRDecoratorAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EPRDecoratorAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EPRDecoratorAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EPRDecoratorAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class EPRDecoratorAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_EPR_DECORATOR };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final String value = element.getText().trim();
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setEPRDecoratorClass(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EPRDecoratorAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EnforceRMAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EnforceRMAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EnforceRMAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EnforceRMAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class EnforceRMAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_ENFORCE_RM };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final boolean value = Boolean.valueOf(element.getText().trim()).booleanValue();
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setEnforceRM(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/EnforceRMAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ExponentialBackoffAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ExponentialBackoffAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ExponentialBackoffAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ExponentialBackoffAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class ExponentialBackoffAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_EXP_BACKOFF };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final boolean value = Boolean.valueOf(element.getText().trim()).booleanValue();
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setExponentialBackoff(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/ExponentialBackoffAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class InactivityTimeoutAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_INACTIVITY_TIMEOUT };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final long value = Long.parseLong(element.getText().trim());
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setInactiveTimeoutValue(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutMeasureAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutMeasureAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutMeasureAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutMeasureAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class InactivityTimeoutMeasureAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_INACTIVITY_TIMEOUT_MEASURES };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final String value = element.getText().trim();
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setInactivityTimeoutMeasure(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InactivityTimeoutMeasureAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InvokeInOrderAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InvokeInOrderAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InvokeInOrderAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InvokeInOrderAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axis2.Constants;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class InvokeInOrderAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_INVOKE_INORDER };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        String value = element.getText().trim();
+        final boolean inOrder = value!=null && Constants.VALUE_TRUE.equals(value);
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setInOrder(inOrder);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/InvokeInOrderAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MakeConnectionAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MakeConnectionAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MakeConnectionAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MakeConnectionAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class MakeConnectionAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_MAKE_CONNECTION };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final boolean enableMakeConnection;
+        final boolean enableMakeConnectionSet;
+        OMElement enabledElem = element.getFirstChildWithName(Sandesha2Constants.Assertions.Q_ELEM_ENABLED);
+        if (enabledElem!=null) {
+            String data = enabledElem.getText().trim();
+            enableMakeConnection = Boolean.valueOf(data).booleanValue();
+            enableMakeConnectionSet = true;
+        } else {
+            enableMakeConnection = false;
+            enableMakeConnectionSet = false;
+        }
+
+        final boolean enableRMAnonURI;
+        final boolean enableRMAnonURISet;
+        OMElement useRMAnonElem = element.getFirstChildWithName(Sandesha2Constants.Assertions.Q_ELEM_USE_RM_ANON_URI);
+        if (useRMAnonElem!=null) {
+            String data = useRMAnonElem.getText().trim();
+            enableRMAnonURI = Boolean.valueOf(data).booleanValue();
+            enableRMAnonURISet = true;
+        } else {
+            enableRMAnonURI = false;
+            enableRMAnonURISet = false;
+        }
+        
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                if (enableMakeConnectionSet) {
+                    propertyBean.setEnableMakeConnection(enableMakeConnection);
+                }
+                if (enableRMAnonURISet) {
+                    propertyBean.setEnableRMAnonURI(enableRMAnonURI);
+                }
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MakeConnectionAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MaximumRetransmissionCountAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MaximumRetransmissionCountAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MaximumRetransmissionCountAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MaximumRetransmissionCountAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class MaximumRetransmissionCountAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_MAX_RETRANS_COUNT };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final int value = Integer.parseInt(element.getText().trim());
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setMaximumRetransmissionCount(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MaximumRetransmissionCountAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MessageTypesToDropAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MessageTypesToDropAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MessageTypesToDropAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MessageTypesToDropAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import java.util.ArrayList;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class MessageTypesToDropAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_MSG_TYPES_TO_DROP };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final ArrayList<Integer> types = new ArrayList<Integer>();
+        String str = element.getText().trim();
+        String[] items  = str.split(Sandesha2Constants.LIST_SEPERATOR);
+        if (items!=null) {
+            int size = items.length;
+            for (int i=0;i<size;i++) {
+                String itemStr = items[i];
+                if (!itemStr.equals("") && !itemStr.equals(Sandesha2Constants.VALUE_NONE) )
+                    types.add(new Integer (itemStr));
+            }
+        }
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setMsgTypesToDrop(types);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/MessageTypesToDropAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RMAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RMAssertionBuilder.java?rev=1072333&r1=1072332&r2=1072333&view=diff
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RMAssertionBuilder.java (original)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RMAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -19,24 +19,19 @@
 
 package org.apache.sandesha2.policy.builders;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axis2.Constants;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.AssertionBuilderFactory;
 import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyComponent;
 import org.apache.neethi.PolicyEngine;
 import org.apache.neethi.builders.AssertionBuilder;
-import org.apache.neethi.builders.xml.XmlPrimtiveAssertion;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.policy.SandeshaPolicyBean;
 
-public class RMAssertionBuilder implements AssertionBuilder {
+public class RMAssertionBuilder implements AssertionBuilder<OMElement> {
 
     public Assertion build(OMElement element, AssertionBuilderFactory factory)
             throws IllegalArgumentException {
@@ -44,7 +39,9 @@ public class RMAssertionBuilder implemen
         SandeshaPolicyBean propertyBean = new SandeshaPolicyBean();
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
 
-        processElements(policy.getPolicyComponents(), propertyBean);
+        for (PolicyComponent component : policy.getPolicyComponents()) {
+            ((SandeshaPropertyAssertion)component).apply(propertyBean);
+        }
         return propertyBean;
     }
 
@@ -52,125 +49,4 @@ public class RMAssertionBuilder implemen
         return new QName[] { new QName(
                 Sandesha2Constants.Assertions.URI_RM_POLICY_NS, "RMAssertion") };
     }
-
-    private void processElements(List policyComponents,
-            SandeshaPolicyBean propertyBean) {
-
-        XmlPrimtiveAssertion xmlPrimtiveAssertion;
-
-        for (Iterator iterator = policyComponents.iterator(); iterator
-                .hasNext();) {
-            xmlPrimtiveAssertion = (XmlPrimtiveAssertion) iterator.next();
-            OMElement element = xmlPrimtiveAssertion.getValue();
-            String name = element.getLocalName();
-
-            if (Sandesha2Constants.Assertions.ELEM_ACK_INTERVAL.equals(name)) {
-                propertyBean.setAcknowledgementInterval(Long.parseLong(element
-                        .getText().trim()));
-
-            } else if (Sandesha2Constants.Assertions.ELEM_EXP_BACKOFF
-                    .equals(name)) {
-                propertyBean.setExponentialBackoff(Boolean.valueOf(
-                        element.getText().trim()).booleanValue());
-
-            } else if (Sandesha2Constants.Assertions.ELEM_INACTIVITY_TIMEOUT
-                    .equals(name)) {
-
-            		propertyBean.setInactiveTimeoutValue (Long.parseLong(element
-            				.getText().trim()));
-
-            } else if (Sandesha2Constants.Assertions.ELEM_INACTIVITY_TIMEOUT_MEASURES
-                    .equals(name)) {
-            	//using the previously set Inactivity Timeout
-                propertyBean.setInactivityTimeoutMeasure (element.getText().trim());
-
-            } else if (Sandesha2Constants.Assertions.ELEM_DELETION_TIMEOUT
-                .equals(name)) {
-
-	        		propertyBean.setSequenceRemovalTimeoutValue (Long.parseLong(element
-	        				.getText().trim()));
-
-		        } else if (Sandesha2Constants.Assertions.ELEM_DELETION_TIMEOUT_MEASURES
-		                .equals(name)) {
-		        	//using the previously set Inavtivity Timeout
-		            propertyBean.setSequenceRemovalTimeoutMeasure (element.getText().trim());
-
-            }  else if (Sandesha2Constants.Assertions.ELEM_INVOKE_INORDER
-                    .equals(name)) {
-            	String value = element.getText().trim();
-            	boolean inOrder = false;
-            	
-            	if (value!=null && Constants.VALUE_TRUE.equals(value))
-            		inOrder = true;
-            	
-            	propertyBean.setInOrder(inOrder);
-            	
-            }  else if (Sandesha2Constants.Assertions.ELEM_MAX_RETRANS_COUNT
-                    .equals(name)) {
-                propertyBean.setMaximumRetransmissionCount (Integer.parseInt(element.getText().trim()));
-            }   else if (Sandesha2Constants.Assertions.ELEM_MSG_TYPES_TO_DROP
-                    .equals(name)) {
-            	ArrayList<Integer> types = new ArrayList<Integer>();
-            	String str = element.getText().trim();
-            	String[] items  = str.split(Sandesha2Constants.LIST_SEPERATOR);
-            	if (items!=null) {
-            		int size = items.length;
-            		for (int i=0;i<size;i++) {
-            			String itemStr = items[i];
-            			if (!itemStr.equals("") && !itemStr.equals(Sandesha2Constants.VALUE_NONE) )
-            				types.add(new Integer (itemStr));
-            		}
-            	}
-                propertyBean.setMsgTypesToDrop (types);
-            }  else if (Sandesha2Constants.Assertions.ELEM_RETRANS_INTERVAL
-                    .equals(name)) {
-                propertyBean.setRetransmissionInterval (Long.parseLong (element.getText().trim()));
-            }  else if (Sandesha2Constants.Assertions.ELEM_SEC_MGR
-                    .equals(name)) {
-                propertyBean.setSecurityManagerClass (element.getText().trim());
-            }
-            else if (Sandesha2Constants.Assertions.ELEM_EPR_DECORATOR.equals(name)) {
-            	propertyBean.setEPRDecoratorClass(element.getText().trim());
-            } else if (Sandesha2Constants.Assertions.ELEM_STORAGE_MGR
-                    .equals(name)) {
-            	//finding out storage managers.
-
-            	OMElement inmemoryStorageManagerElem = element.getFirstChildWithName(Sandesha2Constants.Assertions.Q_ELEM_INMEMORY_STORAGE_MGR);
-            	if (inmemoryStorageManagerElem!=null) {
-            		String inMemoryStorageMgr = inmemoryStorageManagerElem.getText().trim();
-            		propertyBean.setInMemoryStorageManagerClass(inMemoryStorageMgr);
-            	}
-
-            	OMElement permanentStorageManagerElem = element.getFirstChildWithName(Sandesha2Constants.Assertions.Q_ELEM_PERMANENT_STORAGE_MGR);
-            	if (permanentStorageManagerElem!=null) {
-            		String permanentStorageMgr = permanentStorageManagerElem.getText().trim();
-            		propertyBean.setPermanentStorageManagerClass(permanentStorageMgr);
-            	} 
-            }  else if (Sandesha2Constants.Assertions.ELEM_CONTEXT_MGR.equals(name)) {
-                propertyBean.setContextManagerClass (element.getText().trim());
-
-            } else if(Sandesha2Constants.Assertions.ELEM_MAKE_CONNECTION.equals(name)) {
-            	// Read the nested assertions
-
-            	OMElement enabledElem = element.getFirstChildWithName(Sandesha2Constants.Assertions.Q_ELEM_ENABLED);
-            	if (enabledElem!=null) {
-            		String data = enabledElem.getText().trim();
-            		propertyBean.setEnableMakeConnection(Boolean.valueOf(data).booleanValue());
-            	}
-
-            	OMElement useRMAnonElem = element.getFirstChildWithName(Sandesha2Constants.Assertions.Q_ELEM_USE_RM_ANON_URI);
-            	if (useRMAnonElem!=null) {
-            		String data = useRMAnonElem.getText().trim();
-            		propertyBean.setEnableRMAnonURI(Boolean.valueOf(data).booleanValue());
-            	}
-            } else if (Sandesha2Constants.Assertions.ELEM_USE_SERIALIZATION.equals(name)) {
-            	String value = element.getText().trim();
-            	propertyBean.setUseMessageSerialization(Boolean.valueOf(value).booleanValue());
-            } else if (Sandesha2Constants.Assertions.ELEM_ENFORCE_RM.equals(name)) {
-            	String value = element.getText().trim();
-            	propertyBean.setEnforceRM (Boolean.valueOf(value).booleanValue());
-            }
-        }
-    }
-
 }

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RetransmissionIntervalAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RetransmissionIntervalAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RetransmissionIntervalAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RetransmissionIntervalAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class RetransmissionIntervalAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_RETRANS_INTERVAL };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final long value = Long.parseLong (element.getText().trim());
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setRetransmissionInterval(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/RetransmissionIntervalAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SandeshaPropertyAssertion.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SandeshaPropertyAssertion.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SandeshaPropertyAssertion.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SandeshaPropertyAssertion.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.neethi.Assertion;
+import org.apache.neethi.PolicyComponent;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public abstract class SandeshaPropertyAssertion implements Assertion {
+    public abstract void apply(SandeshaPolicyBean propertyBean);
+
+    public QName getName() {
+        throw new UnsupportedOperationException();
+    }
+
+    public boolean isIgnorable() {
+        throw new UnsupportedOperationException();
+    }
+
+    public boolean isOptional() {
+        throw new UnsupportedOperationException();
+    }
+
+    public PolicyComponent normalize() {
+        throw new UnsupportedOperationException();
+    }
+
+    public void serialize(XMLStreamWriter writer) throws XMLStreamException {
+        throw new UnsupportedOperationException();
+    }
+
+    public boolean equal(PolicyComponent policyComponent) {
+        throw new UnsupportedOperationException();
+    }
+
+    public short getType() {
+        throw new UnsupportedOperationException();
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SandeshaPropertyAssertion.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SecurityManagerAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SecurityManagerAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SecurityManagerAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SecurityManagerAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class SecurityManagerAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_SEC_MGR };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final String value = element.getText().trim();
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setSecurityManagerClass(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SecurityManagerAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class SequenceRemovalTimeoutAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_SEQUENCE_REMOVAL_TIMEOUT };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final long value = Long.parseLong(element.getText().trim());
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setSequenceRemovalTimeoutValue(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutMeasureAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutMeasureAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutMeasureAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutMeasureAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class SequenceRemovalTimeoutMeasureAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_SEQUENCE_REMOVAL_TIMEOUT_MEASURES };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final String value = element.getText().trim();
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setSequenceRemovalTimeoutMeasure(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/SequenceRemovalTimeoutMeasureAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/StorageManagersAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/StorageManagersAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/StorageManagersAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/StorageManagersAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class StorageManagersAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_STORAGE_MGR };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        OMElement inmemoryStorageManagerElem = element.getFirstChildWithName(Sandesha2Constants.Assertions.Q_ELEM_INMEMORY_STORAGE_MGR);
+        final String inMemoryStorageMgr = inmemoryStorageManagerElem == null ? null : inmemoryStorageManagerElem.getText().trim();
+
+        OMElement permanentStorageManagerElem = element.getFirstChildWithName(Sandesha2Constants.Assertions.Q_ELEM_PERMANENT_STORAGE_MGR);
+        final String permanentStorageMgr = permanentStorageManagerElem == null ? null : permanentStorageManagerElem.getText().trim();
+        
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setInMemoryStorageManagerClass(inMemoryStorageMgr);
+                propertyBean.setPermanentStorageManagerClass(permanentStorageMgr);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/StorageManagersAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/UseMessageSerializationAssertionBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/UseMessageSerializationAssertionBuilder.java?rev=1072333&view=auto
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/UseMessageSerializationAssertionBuilder.java (added)
+++ axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/UseMessageSerializationAssertionBuilder.java Sat Feb 19 14:22:20 2011
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sandesha2.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+
+public class UseMessageSerializationAssertionBuilder implements AssertionBuilder<OMElement> {
+    public QName[] getKnownElements() {
+        return new QName[] { Sandesha2Constants.Assertions.Q_ELEM_USE_SERIALIZATION };
+    }
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        final boolean value = Boolean.valueOf(element.getText().trim()).booleanValue();
+        return new SandeshaPropertyAssertion() {
+            public void apply(SandeshaPolicyBean propertyBean) {
+                propertyBean.setUseMessageSerialization(value);
+            }
+        };
+    }
+}

Propchange: axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/policy/builders/UseMessageSerializationAssertionBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: axis/axis2/java/sandesha/trunk/modules/policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder
URL: http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder?rev=1072333&r1=1072332&r2=1072333&view=diff
==============================================================================
--- axis/axis2/java/sandesha/trunk/modules/policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder (original)
+++ axis/axis2/java/sandesha/trunk/modules/policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder Sat Feb 19 14:22:20 2011
@@ -16,3 +16,21 @@
 # under the License.
 
 org.apache.sandesha2.policy.builders.RMAssertionBuilder
+org.apache.sandesha2.policy.builders.MessageTypesToDropAssertionBuilder
+org.apache.sandesha2.policy.builders.SecurityManagerAssertionBuilder
+org.apache.sandesha2.policy.builders.ExponentialBackoffAssertionBuilder
+org.apache.sandesha2.policy.builders.SequenceRemovalTimeoutAssertionBuilder
+org.apache.sandesha2.policy.builders.InactivityTimeoutMeasureAssertionBuilder
+org.apache.sandesha2.policy.builders.AcknowledgementIntervalAssertionBuilder
+org.apache.sandesha2.policy.builders.InvokeInOrderAssertionBuilder
+org.apache.sandesha2.policy.builders.ContextManagerAssertionBuilder
+org.apache.sandesha2.policy.builders.EnforceRMAssertionBuilder
+org.apache.sandesha2.policy.builders.StorageManagersAssertionBuilder
+org.apache.sandesha2.policy.builders.SandeshaPropertyAssertion
+org.apache.sandesha2.policy.builders.RetransmissionIntervalAssertionBuilder
+org.apache.sandesha2.policy.builders.MaximumRetransmissionCountAssertionBuilder
+org.apache.sandesha2.policy.builders.SequenceRemovalTimeoutMeasureAssertionBuilder
+org.apache.sandesha2.policy.builders.EPRDecoratorAssertionBuilder
+org.apache.sandesha2.policy.builders.InactivityTimeoutAssertionBuilder
+org.apache.sandesha2.policy.builders.MakeConnectionAssertionBuilder
+org.apache.sandesha2.policy.builders.UseMessageSerializationAssertionBuilder