1 24 package org.ofbiz.minilang.method.callops; 25 26 import java.util.List ; 27 28 import org.ofbiz.base.util.UtilXml; 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 CheckErrors extends MethodOperation { 43 44 ContextAccessor errorListAcsr; 45 String errorCode; 46 47 FlexibleMessage errorPrefix; 48 FlexibleMessage errorSuffix; 49 FlexibleMessage messagePrefix; 50 FlexibleMessage messageSuffix; 51 52 public CheckErrors(Element element, SimpleMethod simpleMethod) { 53 super(element, simpleMethod); 54 errorCode = element.getAttribute("error-code"); 55 if (errorCode == null || errorCode.length() == 0) errorCode = "error"; 56 57 errorListAcsr = new ContextAccessor(element.getAttribute("error-list-name"), "error_list"); 58 59 errorPrefix = new FlexibleMessage(UtilXml.firstChildElement(element, "error-prefix"), "check.error.prefix"); 60 errorSuffix = new FlexibleMessage(UtilXml.firstChildElement(element, "error-suffix"), "check.error.suffix"); 61 messagePrefix = new FlexibleMessage(UtilXml.firstChildElement(element, "message-prefix"), "check.message.prefix"); 62 messageSuffix = new FlexibleMessage(UtilXml.firstChildElement(element, "message-suffix"), "check.message.suffix"); 63 } 64 65 public boolean exec(MethodContext methodContext) { 66 List messages = (List ) errorListAcsr.get(methodContext); 67 68 if (messages != null && messages.size() > 0) { 69 String errorCode = methodContext.expandString(this.errorCode); 70 71 if (methodContext.getMethodType() == MethodContext.EVENT) { 72 79 methodContext.putEnv(simpleMethod.getEventErrorMessageListName(), messages); 80 methodContext.putEnv(simpleMethod.getEventResponseCodeName(), errorCode); 81 return false; 82 } else if (methodContext.getMethodType() == MethodContext.SERVICE) { 83 methodContext.putEnv(simpleMethod.getServiceErrorMessageListName(), messages); 84 methodContext.putEnv(simpleMethod.getServiceResponseMessageName(), errorCode); 85 return false; 86 } else { 87 return false; 88 } 89 } 90 91 return true; 92 } 93 94 public String rawString() { 95 return "<check-errors/>"; 97 } 98 public String expandedString(MethodContext methodContext) { 99 return this.rawString(); 101 } 102 } 103 | Popular Tags |