Author: ruwan
Date: Sat May  8 06:26:01 2010
New Revision: 942317

URL: http://svn.apache.org/viewvc?rev=942317&view=rev
Log:
Adding a convinient method to the eval facotry finder to directly get the 
Evaluator

Modified:
    
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorFactoryFinder.java

Modified: 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorFactoryFinder.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorFactoryFinder.java?rev=942317&r1=942316&r2=942317&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorFactoryFinder.java
 (original)
+++ 
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorFactoryFinder.java
 Sat May  8 06:26:01 2010
@@ -19,12 +19,20 @@
 
 package org.apache.synapse.commons.evaluators.config;
 
+import org.apache.axiom.om.OMElement;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.synapse.commons.evaluators.Evaluator;
 import org.apache.synapse.commons.evaluators.EvaluatorConstants;
+import org.apache.synapse.commons.evaluators.EvaluatorException;
 
 import java.util.Map;
 import java.util.HashMap;
 
-public class EvaluatorFactoryFinder {       
+public class EvaluatorFactoryFinder {
+
+    private static final Log log = 
LogFactory.getLog(EvaluatorFactoryFinder.class);
+
     private static final EvaluatorFactoryFinder finder = new 
EvaluatorFactoryFinder();
 
     private Map<String, EvaluatorFactory> factories = new HashMap<String, 
EvaluatorFactory>();
@@ -45,4 +53,21 @@ public class EvaluatorFactoryFinder {   
         return factories.get(name);
     }
 
+    public Evaluator getEvaluator(OMElement elem) throws EvaluatorException {
+        
+        EvaluatorFactory fac = findEvaluatorFactory(elem.getLocalName());
+        if (fac == null) {
+            handleException("Invalid configuration element: " + 
elem.getLocalName());
+        } else {
+            return fac.create(elem);
+        }
+
+        return null;
+    }
+
+    private void handleException(String message) throws EvaluatorException {
+        log.error(message);
+        throw new EvaluatorException(message);
+    }
+
 }


Reply via email to