1 24 package org.ofbiz.minilang.operation; 25 26 import java.util.*; 27 28 import org.w3c.dom.*; 29 import org.ofbiz.base.util.*; 30 31 38 public class SimpleMapProcess { 39 40 public static final String module = SimpleMapProcess.class.getName(); 41 42 List simpleMapOperations = new LinkedList(); 43 String field = ""; 44 45 public SimpleMapProcess(Element simpleMapProcessElement) { 46 this.field = simpleMapProcessElement.getAttribute("field"); 47 readOperations(simpleMapProcessElement); 48 } 49 50 public String getFieldName() { 51 return field; 52 } 53 54 public void exec(Map inMap, Map results, List messages, Locale locale, ClassLoader loader) { 55 Iterator strOpsIter = simpleMapOperations.iterator(); 56 57 while (strOpsIter.hasNext()) { 58 SimpleMapOperation simpleMapOperation = (SimpleMapOperation) strOpsIter.next(); 59 60 simpleMapOperation.exec(inMap, results, messages, locale, loader); 61 } 62 } 63 64 void readOperations(Element simpleMapProcessElement) { 65 List operationElements = UtilXml.childElementList(simpleMapProcessElement); 66 67 if (operationElements != null && operationElements.size() > 0) { 68 Iterator operElemIter = operationElements.iterator(); 69 70 while (operElemIter.hasNext()) { 71 Element curOperElem = (Element) operElemIter.next(); 72 String nodeName = curOperElem.getNodeName(); 73 74 if ("validate-method".equals(nodeName)) { 75 simpleMapOperations.add(new ValidateMethod(curOperElem, this)); 76 } else if ("compare".equals(nodeName)) { 77 simpleMapOperations.add(new Compare(curOperElem, this)); 78 } else if ("compare-field".equals(nodeName)) { 79 simpleMapOperations.add(new CompareField(curOperElem, this)); 80 } else if ("regexp".equals(nodeName)) { 81 simpleMapOperations.add(new Regexp(curOperElem, this)); 82 } else if ("not-empty".equals(nodeName)) { 83 simpleMapOperations.add(new NotEmpty(curOperElem, this)); 84 } else if ("copy".equals(nodeName)) { 85 simpleMapOperations.add(new Copy(curOperElem, this)); 86 } else if ("convert".equals(nodeName)) { 87 simpleMapOperations.add(new Convert(curOperElem, this)); 88 } else { 89 Debug.logWarning("[SimpleMapProcessor.SimpleMapProcess.readOperations] Operation element \"" + nodeName + "\" not recognized", module); 90 } 91 } 92 } 93 } 94 } 95 | Popular Tags |