1 24 package org.ofbiz.minilang.method.entityops; 25 26 import java.util.List ; 27 28 import org.ofbiz.base.util.Debug; 29 import org.ofbiz.entity.GenericEntityException; 30 import org.ofbiz.minilang.SimpleMethod; 31 import org.ofbiz.minilang.method.ContextAccessor; 32 import org.ofbiz.minilang.method.MethodContext; 33 import org.ofbiz.minilang.method.MethodOperation; 34 import org.w3c.dom.Element ; 35 36 43 public class RemoveList extends MethodOperation { 44 45 public static final String module = RemoveList.class.getName(); 46 47 ContextAccessor listAcsr; 48 String doCacheClearStr; 49 50 public RemoveList(Element element, SimpleMethod simpleMethod) { 51 super(element, simpleMethod); 52 listAcsr = new ContextAccessor(element.getAttribute("list-name")); 53 doCacheClearStr = element.getAttribute("do-cache-clear"); 54 } 55 56 public boolean exec(MethodContext methodContext) { 57 boolean doCacheClear = !"false".equals(doCacheClearStr); 58 59 List values = (List ) listAcsr.get(methodContext); 60 if (values == null) { 61 String errMsg = "In remove-list a value list was not found with the specified listAcsr: " + listAcsr + ", not removing"; 62 63 Debug.logWarning(errMsg, module); 64 if (methodContext.getMethodType() == MethodContext.EVENT) { 65 methodContext.putEnv(simpleMethod.getEventErrorMessageName(), errMsg); 66 methodContext.putEnv(simpleMethod.getEventResponseCodeName(), simpleMethod.getDefaultErrorCode()); 67 } else if (methodContext.getMethodType() == MethodContext.SERVICE) { 68 methodContext.putEnv(simpleMethod.getServiceErrorMessageName(), errMsg); 69 methodContext.putEnv(simpleMethod.getServiceResponseMessageName(), simpleMethod.getDefaultErrorCode()); 70 } 71 return false; 72 } 73 74 try { 75 methodContext.getDelegator().removeAll(values, doCacheClear); 76 } catch (GenericEntityException e) { 77 Debug.logError(e, module); 78 String errMsg = "ERROR: Could not complete the " + simpleMethod.getShortDescription() + " process [problem removing the " + listAcsr + " value list: " + e.getMessage() + "]"; 79 80 if (methodContext.getMethodType() == MethodContext.EVENT) { 81 methodContext.putEnv(simpleMethod.getEventErrorMessageName(), errMsg); 82 methodContext.putEnv(simpleMethod.getEventResponseCodeName(), simpleMethod.getDefaultErrorCode()); 83 } else if (methodContext.getMethodType() == MethodContext.SERVICE) { 84 methodContext.putEnv(simpleMethod.getServiceErrorMessageName(), errMsg); 85 methodContext.putEnv(simpleMethod.getServiceResponseMessageName(), simpleMethod.getDefaultErrorCode()); 86 } 87 return false; 88 } 89 return true; 90 } 91 92 public String rawString() { 93 return "<remove-list/>"; 95 } 96 public String expandedString(MethodContext methodContext) { 97 return this.rawString(); 99 } 100 } 101 | Popular Tags |