You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2010/05/11 11:26:39 UTC
svn commit: r943062 - in
/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators:
./ config/
Author: supun
Date: Tue May 11 09:26:39 2010
New Revision: 943062
URL: http://svn.apache.org/viewvc?rev=943062&view=rev
Log:
adding serializers to evaluators
Added:
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AbstractEvaluatorSerializer.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AndSerializer.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/ConditionSerializer.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualSerializer.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializer.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializerFinder.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/MatchSerializer.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/NotSerializer.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/OrSerializer.java
Modified:
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/AndEvaluator.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/EqualEvaluator.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/NotEvaluator.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/OrEvaluator.java
Modified: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/AndEvaluator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/AndEvaluator.java?rev=943062&r1=943061&r2=943062&view=diff
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/AndEvaluator.java (original)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/AndEvaluator.java Tue May 11 09:26:39 2010
@@ -49,6 +49,10 @@ public class AndEvaluator implements Eva
public void setEvaluators(Evaluator[] evaluators) {
this.evaluators = evaluators;
}
+
+ public Evaluator[] getEvaluators() {
+ return evaluators;
+ }
}
Modified: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/EqualEvaluator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/EqualEvaluator.java?rev=943062&r1=943061&r2=943062&view=diff
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/EqualEvaluator.java (original)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/EqualEvaluator.java Tue May 11 09:26:39 2010
@@ -37,7 +37,7 @@ public class EqualEvaluator implements E
private String source = null;
- private int type = 0;
+ private int type = 3;
public boolean evaluate(EvaluatorContext context) throws EvaluatorException {
String sourceText = null;
@@ -74,6 +74,18 @@ public class EqualEvaluator implements E
this.type = type;
}
+ public String getValue() {
+ return value;
+ }
+
+ public String getSource() {
+ return source;
+ }
+
+ public int getType() {
+ return type;
+ }
+
private void handleException(String message) throws EvaluatorException {
log.error(message);
throw new EvaluatorException(message);
Modified: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/NotEvaluator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/NotEvaluator.java?rev=943062&r1=943061&r2=943062&view=diff
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/NotEvaluator.java (original)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/NotEvaluator.java Tue May 11 09:26:39 2010
@@ -43,4 +43,8 @@ public class NotEvaluator implements Eva
public void setEvaluator(Evaluator evaluator) {
this.evaluator = evaluator;
}
+
+ public Evaluator getEvaluator() {
+ return evaluator;
+ }
}
Modified: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/OrEvaluator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/OrEvaluator.java?rev=943062&r1=943061&r2=943062&view=diff
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/OrEvaluator.java (original)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/OrEvaluator.java Tue May 11 09:26:39 2010
@@ -49,4 +49,8 @@ public class OrEvaluator implements Eval
public void setEvaluators(Evaluator[] evaluators) {
this.evaluators = evaluators;
}
+
+ public Evaluator[] getEvaluators() {
+ return evaluators;
+ }
}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AbstractEvaluatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AbstractEvaluatorSerializer.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AbstractEvaluatorSerializer.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AbstractEvaluatorSerializer.java Tue May 11 09:26:39 2010
@@ -0,0 +1,59 @@
+package org.apache.synapse.commons.evaluators.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.synapse.commons.evaluators.Evaluator;
+import org.apache.synapse.commons.evaluators.EvaluatorException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Provide common methods for serializers
+ */
+public abstract class AbstractEvaluatorSerializer implements EvaluatorSerializer {
+ protected static Log log;
+
+ protected static final OMFactory fac = OMAbstractFactory.getOMFactory();
+
+ protected static final OMNamespace nullNS = fac.createOMNamespace("", "");
+
+ /**
+ * A constructor that makes subclasses pick up the correct logger
+ */
+ protected AbstractEvaluatorSerializer() {
+ log = LogFactory.getLog(this.getClass());
+ }
+
+ protected void serializeChildren(OMElement parent, Evaluator[] childEvaluators)
+ throws EvaluatorException {
+ for (Evaluator evaluator : childEvaluators) {
+ String name = evaluator.getName();
+
+ EvaluatorSerializer serializer = EvaluatorSerializerFinder.
+ getInstance().getSerializer(name);
+
+ if (serializer != null) {
+ serializer.serialize(parent, evaluator);
+ } else {
+ String msg = "Couldn't find the serializer for evaliator: " + name;
+ log.error(msg);
+ throw new EvaluatorException(msg);
+ }
+ }
+ }
+
+ protected void serializeChild(OMElement parenet, Evaluator child) throws EvaluatorException {
+ EvaluatorSerializer serializer =
+ EvaluatorSerializerFinder.getInstance().getSerializer(child.getName());
+
+ if (serializer != null) {
+ serializer.serialize(parenet, child);
+ } else {
+ String msg = "Couldn't find the serializer for evaliator: " + child.getName();
+ log.error(msg);
+ throw new EvaluatorException(msg);
+ }
+ }
+}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AndSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AndSerializer.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AndSerializer.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/AndSerializer.java Tue May 11 09:26:39 2010
@@ -0,0 +1,47 @@
+/*
+ * 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.synapse.commons.evaluators.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.commons.evaluators.Evaluator;
+import org.apache.synapse.commons.evaluators.AndEvaluator;
+import org.apache.synapse.commons.evaluators.EvaluatorConstants;
+import org.apache.synapse.commons.evaluators.EvaluatorException;
+
+import javax.xml.namespace.QName;
+
+public class AndSerializer extends AbstractEvaluatorSerializer {
+ public OMElement serialize(OMElement parent, Evaluator evaluator) throws EvaluatorException {
+ if (!(evaluator instanceof AndEvaluator)) {
+ throw new IllegalArgumentException("Evalutor should be a AndEvalutor");
+ }
+
+ AndEvaluator andEvaluator = (AndEvaluator) evaluator;
+
+ OMElement andElement = fac.createOMElement(new QName((EvaluatorConstants.AND)));
+ serializeChildren(andElement, andEvaluator.getEvaluators());
+
+ if (parent != null) {
+ parent.addChild(andElement);
+ }
+
+ return andElement;
+ }
+}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/ConditionSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/ConditionSerializer.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/ConditionSerializer.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/ConditionSerializer.java Tue May 11 09:26:39 2010
@@ -0,0 +1,67 @@
+/*
+ * 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.synapse.commons.evaluators.config;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.commons.evaluators.Condition;
+import org.apache.synapse.commons.evaluators.EvaluatorConstants;
+import org.apache.synapse.commons.evaluators.EvaluatorException;
+
+import javax.xml.namespace.QName;
+
+public class ConditionSerializer {
+ private static Log log = LogFactory.getLog(ConditionSerializer.class);
+
+ private static final OMFactory fac = OMAbstractFactory.getOMFactory();
+
+ private static final OMNamespace nullNS = fac.createOMNamespace("", "");
+
+ public OMElement serializer(OMElement parent, Condition condition) throws EvaluatorException {
+ OMElement conditionElement = fac.createOMElement(new QName(EvaluatorConstants.CONDITION));
+
+ conditionElement.addAttribute(
+ fac.createOMAttribute(EvaluatorConstants.PRIORITY, nullNS,
+ condition.getPriority() + ""));
+
+ EvaluatorSerializer serializer =
+ EvaluatorSerializerFinder.getInstance().getSerializer(
+ condition.getEvaluator().getName());
+
+ if (serializer != null) {
+ serializer.serialize(conditionElement, condition.getEvaluator());
+ } else {
+ String msg = "Couldn't find the serializer for evaliator: " +
+ condition.getEvaluator().getName();
+ log.error(msg);
+ throw new EvaluatorException(msg);
+ }
+
+ if (parent != null) {
+ parent.addChild(conditionElement);
+ }
+
+ return conditionElement;
+ }
+}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualSerializer.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualSerializer.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualSerializer.java Tue May 11 09:26:39 2010
@@ -0,0 +1,63 @@
+/*
+ * 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.synapse.commons.evaluators.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.commons.evaluators.*;
+
+import javax.xml.namespace.QName;
+
+public class EqualSerializer extends AbstractEvaluatorSerializer{
+ public OMElement serialize(OMElement parent, Evaluator evaluator) throws EvaluatorException {
+ if (!(evaluator instanceof EqualEvaluator)) {
+ throw new IllegalArgumentException("Evalutor should be a EqualEvalutor");
+ }
+
+ EqualEvaluator equalEvaluator = (EqualEvaluator) evaluator;
+ OMElement matchElement = fac.createOMElement(new QName(EvaluatorConstants.EQUAL));
+
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.SOURCE, nullNS,
+ equalEvaluator.getSource()));
+
+ if (equalEvaluator.getType() == 1) {
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+ EvaluatorConstants.URL));
+ } else if (equalEvaluator.getType() == 2) {
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+ EvaluatorConstants.PARAM));
+ } else if (equalEvaluator.getType() == 3) {
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+ EvaluatorConstants.HEADER));
+ } else {
+ String msg = "Unsupported type value: " + equalEvaluator.getType();
+ log.error(msg);
+ throw new EvaluatorException(msg);
+ }
+
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.VALUE, nullNS,
+ equalEvaluator.getValue()));
+
+ if (parent != null) {
+ parent.addChild(matchElement);
+ }
+
+ return matchElement;
+ }
+}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializer.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializer.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializer.java Tue May 11 09:26:39 2010
@@ -0,0 +1,38 @@
+/*
+ * 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.synapse.commons.evaluators.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.commons.evaluators.Evaluator;
+import org.apache.synapse.commons.evaluators.EvaluatorException;
+
+public interface EvaluatorSerializer {
+
+ /**
+ * Serialze an Evaluator configuration to a XML element.
+ * @param parent if not null the serialize element will be added to the parent
+ * @param evaluator The <code>Evaluator</code> object to be serialized
+ *
+ * @return <code>OMElement</code> containing the configuration
+ * @throws org.apache.synapse.commons.evaluators.EvaluatorException if an error
+ * occurs while serializing
+ */
+ OMElement serialize(OMElement parent, Evaluator evaluator) throws EvaluatorException;
+}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializerFinder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializerFinder.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializerFinder.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorSerializerFinder.java Tue May 11 09:26:39 2010
@@ -0,0 +1,42 @@
+/*
+ * 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.synapse.commons.evaluators.config;
+
+import java.util.Map;
+import java.util.HashMap;
+
+public class EvaluatorSerializerFinder {
+ private static final EvaluatorSerializerFinder finder = new EvaluatorSerializerFinder();
+
+ private Map<String, EvaluatorSerializer> serializerMap =
+ new HashMap<String, EvaluatorSerializer>();
+
+ private EvaluatorSerializerFinder() {
+ serializerMap.put("and", new AndSerializer());
+ }
+
+ public static EvaluatorSerializerFinder getInstance() {
+ return finder;
+ }
+
+ public EvaluatorSerializer getSerializer(String name) {
+ return serializerMap.get(name);
+ }
+}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/MatchSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/MatchSerializer.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/MatchSerializer.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/MatchSerializer.java Tue May 11 09:26:39 2010
@@ -0,0 +1,48 @@
+package org.apache.synapse.commons.evaluators.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.commons.evaluators.Evaluator;
+import org.apache.synapse.commons.evaluators.EvaluatorException;
+import org.apache.synapse.commons.evaluators.MatchEvaluator;
+import org.apache.synapse.commons.evaluators.EvaluatorConstants;
+
+import javax.xml.namespace.QName;
+
+public class MatchSerializer extends AbstractEvaluatorSerializer {
+
+ public OMElement serialize(OMElement parent, Evaluator evaluator) throws EvaluatorException {
+ if (!(evaluator instanceof MatchEvaluator)) {
+ throw new IllegalArgumentException("Evalutor should be a NotEvalutor");
+ }
+
+ MatchEvaluator matchEvaluator = (MatchEvaluator) evaluator;
+ OMElement matchElement = fac.createOMElement(new QName(EvaluatorConstants.EQUAL));
+
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.SOURCE, nullNS,
+ matchEvaluator.getSource()));
+
+ if (matchEvaluator.getType() == 1) {
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+ EvaluatorConstants.URL));
+ } else if (matchEvaluator.getType() == 2) {
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+ EvaluatorConstants.PARAM));
+ } else if (matchEvaluator.getType() == 3) {
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+ EvaluatorConstants.HEADER));
+ } else {
+ String msg = "Unsupported type value: " + matchEvaluator.getType();
+ log.error(msg);
+ throw new EvaluatorException(msg);
+ }
+
+ matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.REGEX, nullNS,
+ matchEvaluator.getRegex().toString()));
+
+ if (parent != null) {
+ parent.addChild(matchElement);
+ }
+
+ return matchElement;
+ }
+}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/NotSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/NotSerializer.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/NotSerializer.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/NotSerializer.java Tue May 11 09:26:39 2010
@@ -0,0 +1,48 @@
+/*
+ * 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.synapse.commons.evaluators.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.commons.evaluators.Evaluator;
+import org.apache.synapse.commons.evaluators.EvaluatorException;
+import org.apache.synapse.commons.evaluators.NotEvaluator;
+import org.apache.synapse.commons.evaluators.EvaluatorConstants;
+
+import javax.xml.namespace.QName;
+
+public class NotSerializer extends AbstractEvaluatorSerializer {
+
+ public OMElement serialize(OMElement parent, Evaluator evaluator) throws EvaluatorException {
+ if (!(evaluator instanceof NotEvaluator)) {
+ throw new IllegalArgumentException("Evalutor should be a NotEvalutor");
+ }
+
+ NotEvaluator notEvaluator = (NotEvaluator) evaluator;
+
+ OMElement notElement = fac.createOMElement(new QName(EvaluatorConstants.NOT));
+ serializeChild(notElement, notEvaluator.getEvaluator());
+
+ if (parent != null) {
+ parent.addChild(notElement);
+ }
+
+ return notElement;
+ }
+}
Added: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/OrSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/OrSerializer.java?rev=943062&view=auto
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/OrSerializer.java (added)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/OrSerializer.java Tue May 11 09:26:39 2010
@@ -0,0 +1,47 @@
+/*
+ * 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.synapse.commons.evaluators.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.commons.evaluators.Evaluator;
+import org.apache.synapse.commons.evaluators.OrEvaluator;
+import org.apache.synapse.commons.evaluators.EvaluatorException;
+import org.apache.synapse.commons.evaluators.EvaluatorConstants;
+
+import javax.xml.namespace.QName;
+
+public class OrSerializer extends AbstractEvaluatorSerializer {
+ public OMElement serialize(OMElement parent, Evaluator evaluator) throws EvaluatorException {
+ if (!(evaluator instanceof OrEvaluator)) {
+ throw new IllegalArgumentException("Evalutor should be a OrEvalutor");
+ }
+
+ OrEvaluator orEvaluator = (OrEvaluator) evaluator;
+
+ OMElement orElement = fac.createOMElement(new QName((EvaluatorConstants.OR)));
+ serializeChildren(orElement, orEvaluator.getEvaluators());
+
+ if (parent != null) {
+ parent.addChild(orElement);
+ }
+
+ return orElement;
+ }
+}