*/
public class ConditionFactory {
private Log log = LogFactory.getLog(ConditionFactory.class);
public Condition createCondition(OMElement ruleElement) throws EvaluatorException {
Condition r = new Condition();
OMAttribute priorityAtt = ruleElement.getAttribute(new QName(EvaluatorConstants.PRIORITY));
if (priorityAtt != null) {
int p = Integer.parseInt(priorityAtt.getAttributeValue());
r.setPriority(p);
}
OMElement ce = ruleElement.getFirstElement();
EvaluatorFactory ef = EvaluatorFactoryFinder.getInstance().
findEvaluatorFactory(ce.getLocalName());
if (ef == null) {
handleException("Invalid configuration element: " + ce.getLocalName());
return null;
}
Evaluator evaluator = ef.create(ce);
r.setEvaluator(evaluator);
return r;
}