You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2010/05/08 08:26:01 UTC
svn commit: r942317 -
/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/evaluators/config/EvaluatorFactoryFinder.java
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);
+ }
+
}