1 24 package org.ofbiz.minilang.method.serviceops; 25 26 import java.util.*; 27 28 import org.w3c.dom.*; 29 import org.ofbiz.base.util.*; 30 import org.ofbiz.minilang.*; 31 import org.ofbiz.minilang.method.*; 32 33 40 public class FieldToResult extends MethodOperation { 41 42 public static final String module = FieldToResult.class.getName(); 43 44 ContextAccessor mapAcsr; 45 ContextAccessor fieldAcsr; 46 ContextAccessor resultAcsr; 47 48 public FieldToResult(Element element, SimpleMethod simpleMethod) { 49 super(element, simpleMethod); 50 mapAcsr = new ContextAccessor(element.getAttribute("map-name")); 51 fieldAcsr = new ContextAccessor(element.getAttribute("field-name")); 52 resultAcsr = new ContextAccessor(element.getAttribute("result-name"), element.getAttribute("field-name")); 53 } 54 55 public boolean exec(MethodContext methodContext) { 56 if (methodContext.getMethodType() == MethodContext.SERVICE) { 58 Object fieldVal = null; 59 60 if (!mapAcsr.isEmpty()) { 61 Map fromMap = (Map) mapAcsr.get(methodContext); 62 63 if (fromMap == null) { 64 Debug.logWarning("Map not found with name " + mapAcsr, module); 65 return true; 66 } 67 68 fieldVal = fieldAcsr.get(fromMap, methodContext); 69 } else { 70 fieldVal = fieldAcsr.get(methodContext); 72 } 73 74 if (fieldVal == null) { 75 Debug.logWarning("Field value not found with name " + fieldAcsr + " in Map with name " + mapAcsr, module); 76 return true; 77 } 78 79 resultAcsr.put(methodContext.getResults(), fieldVal, methodContext); 80 } 81 return true; 82 } 83 84 public String rawString() { 85 return "<field-to-result field-name=\"" + this.fieldAcsr + "\" map-name=\"" + this.mapAcsr + "\"/>"; 87 } 88 public String expandedString(MethodContext methodContext) { 89 return this.rawString(); 91 } 92 } 93 | Popular Tags |