package com.founderdpt.comm.xworld.util.config.builder; import java.util.List; import com.founderdpt.comm.xworld.orm.parsing.XNode; public class ChooseXQLNode implements XQLNode { @Override public boolean apply(XNode node, DynamicContext context) { // List<XNode> cNode = node.getChildren(); List<XNode> when_Nodes = node.evalNodes("when"); int a = 1; // System.out.println(when_Nodes.size()); for (int j = 0; j < when_Nodes.size(); j++) { XNode aNode = when_Nodes.get(j); String test = aNode.getNode().getAttributes().getNamedItem("test") .getNodeValue(); // System.out.println(test); // System.out.println(ExpressionEvaluator.evaluateBoolean(test, // context.getBindings())); if (ExpressionEvaluator .evaluateBoolean(test, context.getBindings())) { // context.getBindings().put("item", arg1) DynamicXQLSource.parseOne(aNode, context); a++; } } /* * for(int j=0;j<cNode.size();j++){ XNode aNode = cNode.get(j); String * test = * aNode.getNode().getAttributes().getNamedItem("test").getNodeValue(); * if (ExpressionEvaluator.evaluateBoolean(test, * context.getBindings())){ parseOne(aNode,context); } } */ /* * for(int i=0;i<cNode.size();i++){ XNode aNode = cNode.get(i); String * test = * aNode.getNode().getAttributes().getNamedItem("test").getNodeValue(); * } */ if (a <= 1) { List<XNode> when_DefualtNodes = node.evalNodes("otherwise"); XNode defaulNode = when_DefualtNodes.get(0); DynamicXQLSource.parseOne(defaulNode, context); } return false; } }