Author: supun
Date: Wed May 12 08:05:12 2010
New Revision: 943402

URL: http://svn.apache.org/viewvc?rev=943402&view=rev
Log:
Fixing few issues with the serializers and factories

Modified:
    
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualFactory.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/MatchSerializer.java

Modified: 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualFactory.java?rev=943402&r1=943401&r2=943402&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualFactory.java
 (original)
+++ 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualFactory.java
 Wed May 12 08:05:12 2010
@@ -61,13 +61,15 @@ public class EqualFactory implements Eva
         equal.setType(type);
 
         OMAttribute sourceAttr = e.getAttribute(new 
QName(EvaluatorConstants.SOURCE));
-        if (type != 1 && sourceAttr == null) {
-            handleException(EvaluatorConstants.SOURCE + " attribute is 
required");
-            return null;
+        if (sourceAttr == null) {
+            if (type != 1) {
+                handleException(EvaluatorConstants.SOURCE + " attribute is 
required");
+                return null;
+            }
+        } else {
+            equal.setSource(sourceAttr.getAttributeValue());    
         }
 
-        equal.setSource(sourceAttr.getAttributeValue());
-
         OMAttribute valueAttr = e.getAttribute(new 
QName(EvaluatorConstants.VALUE));
 
         if (valueAttr == null) {

Modified: 
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=943402&r1=943401&r2=943402&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualSerializer.java
 (original)
+++ 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EqualSerializer.java
 Wed May 12 08:05:12 2010
@@ -35,19 +35,28 @@ public class EqualSerializer extends Abs
         }
 
         EqualEvaluator equalEvaluator = (EqualEvaluator) evaluator;
-        OMElement matchElement = fac.createOMElement(new 
QName(EvaluatorConstants.EQUAL));
+        OMElement eqaulElement = fac.createOMElement(new 
QName(EvaluatorConstants.EQUAL));
 
-        
matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.SOURCE, 
nullNS,
-                equalEvaluator.getSource()));
+        if (equalEvaluator.getType() != 1) {
+            if (equalEvaluator.getSource() != null) {
+            
eqaulElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.SOURCE, 
nullNS,
+                    equalEvaluator.getSource()));
+            } else {
+                String msg = "If type is not URL a source value should be 
specified for " +
+                        "the equal evaluator";
+                log.error(msg);
+                throw new EvaluatorException(msg);
+            }
+        }
 
         if (equalEvaluator.getType() == 1) {
-            
matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+            
eqaulElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
                     EvaluatorConstants.URL));
         } else if (equalEvaluator.getType() == 2) {
-            
matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+            
eqaulElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
                     EvaluatorConstants.PARAM));
         } else if (equalEvaluator.getType() == 3) {
-            
matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
+            
eqaulElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,
                     EvaluatorConstants.HEADER));
         } else {
             String msg = "Unsupported type value: " + equalEvaluator.getType();
@@ -55,13 +64,13 @@ public class EqualSerializer extends Abs
             throw new EvaluatorException(msg);
         }
 
-        
matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.VALUE, 
nullNS,
+        
eqaulElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.VALUE, 
nullNS,
                 equalEvaluator.getValue()));
 
         if (parent != null) {
-            parent.addChild(matchElement);
+            parent.addChild(eqaulElement);
         }
 
-        return matchElement;
+        return eqaulElement;
     }
 }

Modified: 
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=943402&r1=943401&r2=943402&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/MatchSerializer.java
 (original)
+++ 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/MatchSerializer.java
 Wed May 12 08:05:12 2010
@@ -20,10 +20,19 @@ public class MatchSerializer extends Abs
         }
 
         MatchEvaluator matchEvaluator = (MatchEvaluator) evaluator;
-        OMElement matchElement = fac.createOMElement(new 
QName(EvaluatorConstants.EQUAL));
+        OMElement matchElement = fac.createOMElement(new 
QName(EvaluatorConstants.MATCH));
 
-        
matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.SOURCE, 
nullNS,
-                matchEvaluator.getSource()));
+        if (matchEvaluator.getType() != 1) {
+            if (matchEvaluator.getSource() != null) {
+                
matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.SOURCE, 
nullNS,
+                        matchEvaluator.getSource()));
+            } else {
+                String msg = "If type is not URL a source value should be 
specified for " +
+                        "the match evaluator";
+                log.error(msg);
+                throw new EvaluatorException(msg);
+            }
+        }
 
         if (matchEvaluator.getType() == 1) {
             
matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.TYPE, nullNS,


Reply via email to