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 abstract class SimpleMapOperation { 39 40 String message = null; 41 String propertyResource = null; 42 boolean isProperty = false; 43 SimpleMapProcess simpleMapProcess; 44 String fieldName; 45 46 public SimpleMapOperation(Element element, SimpleMapProcess simpleMapProcess) { 47 Element failMessage = UtilXml.firstChildElement(element, "fail-message"); 48 Element failProperty = UtilXml.firstChildElement(element, "fail-property"); 49 50 if (failMessage != null) { 51 this.message = failMessage.getAttribute("message"); 52 this.isProperty = false; 53 } else if (failProperty != null) { 54 this.propertyResource = failProperty.getAttribute("resource"); 55 this.message = failProperty.getAttribute("property"); 56 this.isProperty = true; 57 } 58 59 this.simpleMapProcess = simpleMapProcess; 60 this.fieldName = simpleMapProcess.getFieldName(); 61 } 62 63 public abstract void exec(Map inMap, Map results, List messages, Locale locale, ClassLoader loader); 64 65 public void addMessage(List messages, ClassLoader loader, Locale locale) { 66 if (!isProperty && message != null) { 67 messages.add(new MessageString(message, fieldName, true)); 68 } else if (isProperty && propertyResource != null && message != null) { 70 String propMsg = UtilProperties.getMessage(propertyResource, message, locale); 72 if (propMsg == null || propMsg.length() == 0) { 73 messages.add(new MessageString("Simple Map Processing error occurred, but no message was found, sorry.", fieldName, propertyResource, message, locale, true)); 74 } else { 75 messages.add(new MessageString(propMsg, fieldName, propertyResource, message, locale, true)); 76 } 77 } else { 79 messages.add(new MessageString("Simple Map Processing error occurred, but no message was found, sorry.", fieldName, true)); 80 } 82 } 83 } 84 | Popular Tags |