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);
+ }
+
}