1 24 package org.ofbiz.minilang.method.entityops; 25 26 import org.ofbiz.base.util.Debug; 27 import org.ofbiz.entity.GenericEntityException; 28 import org.ofbiz.entity.GenericValue; 29 import org.ofbiz.minilang.SimpleMethod; 30 import org.ofbiz.minilang.method.ContextAccessor; 31 import org.ofbiz.minilang.method.MethodContext; 32 import org.ofbiz.minilang.method.MethodOperation; 33 import org.w3c.dom.Element ; 34 35 42 public class RemoveValue extends MethodOperation { 43 44 public static final String module = RemoveValue.class.getName(); 45 46 ContextAccessor valueAcsr; 47 String doCacheClearStr; 48 49 public RemoveValue(Element element, SimpleMethod simpleMethod) { 50 super(element, simpleMethod); 51 valueAcsr = new ContextAccessor(element.getAttribute("value-name")); 52 doCacheClearStr = element.getAttribute("do-cache-clear"); 53 } 54 55 public boolean exec(MethodContext methodContext) { 56 boolean doCacheClear = !"false".equals(methodContext.expandString(doCacheClearStr)); 57 58 GenericValue value = (GenericValue) valueAcsr.get(methodContext); 59 if (value == null) { 60 String errMsg = "In remove-value a value was not found with the specified valueAcsr: " + valueAcsr + ", not removing"; 61 Debug.logWarning(errMsg, module); 62 methodContext.setErrorReturn(errMsg, simpleMethod); 63 return false; 64 } 65 66 try { 67 methodContext.getDelegator().removeValue(value, doCacheClear); 68 } catch (GenericEntityException e) { 69 String errMsg = "ERROR: Could not complete the " + simpleMethod.getShortDescription() + " process [problem removing the " + valueAcsr + " value: " + e.getMessage() + "]"; 70 Debug.logError(e, errMsg, module); 71 methodContext.setErrorReturn(errMsg, simpleMethod); 72 return false; 73 } 74 return true; 75 } 76 77 public String rawString() { 78 return "<remove-value/>"; 80 } 81 public String expandedString(MethodContext methodContext) { 82 return this.rawString(); 84 } 85 } 86 | Popular Tags |