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 MakeInString { 39 40 public static final String module = MakeInString.class.getName(); 41 42 String fieldName; 43 List operations = new LinkedList(); 44 45 public MakeInString(Element makeInStringElement) { 46 fieldName = makeInStringElement.getAttribute("field"); 47 48 List operationElements = UtilXml.childElementList(makeInStringElement); 49 50 if (operationElements != null && operationElements.size() > 0) { 51 Iterator operElemIter = operationElements.iterator(); 52 53 while (operElemIter.hasNext()) { 54 Element curOperElem = (Element) operElemIter.next(); 55 String nodeName = curOperElem.getNodeName(); 56 57 if ("in-field".equals(nodeName)) { 58 operations.add(new InFieldOper(curOperElem)); 59 } else if ("property".equals(nodeName)) { 60 operations.add(new PropertyOper(curOperElem)); 61 } else if ("constant".equals(nodeName)) { 62 operations.add(new ConstantOper(curOperElem)); 63 } else { 64 Debug.logWarning("[SimpleMapProcessor.MakeInString.MakeInString] Operation element \"" + nodeName + "\" not recognized", module); 65 } 66 } 67 } 68 } 69 70 public void exec(Map inMap, Map results, List messages, Locale locale, ClassLoader loader) { 71 Iterator iter = operations.iterator(); 72 StringBuffer buffer = new StringBuffer (); 73 74 while (iter.hasNext()) { 75 MakeInStringOperation oper = (MakeInStringOperation) iter.next(); 76 String curStr = oper.exec(inMap, messages, locale, loader); 77 78 if (curStr != null) 79 buffer.append(curStr); 80 } 81 inMap.put(fieldName, buffer.toString()); 82 } 83 } 84 | Popular Tags |