You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2012/05/06 11:27:20 UTC

svn commit: r1334578 - /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/AddError.java

Author: adrianc
Date: Sun May  6 09:27:20 2012
New Revision: 1334578

URL: http://svn.apache.org/viewvc?rev=1334578&view=rev
Log:
Some code cleanups/fixes for the Mini-language <add-error> element.

Modified:
    ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/AddError.java

Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/AddError.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/AddError.java?rev=1334578&r1=1334577&r2=1334578&view=diff
==============================================================================
--- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/AddError.java (original)
+++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/callops/AddError.java Sun May  6 09:27:20 2012
@@ -24,6 +24,7 @@ import javolution.util.FastList;
 
 import org.ofbiz.base.util.UtilProperties;
 import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.base.util.collections.FlexibleMapAccessor;
 import org.ofbiz.base.util.string.FlexibleStringExpander;
 import org.ofbiz.minilang.MiniLangException;
 import org.ofbiz.minilang.MiniLangValidate;
@@ -37,7 +38,7 @@ import org.w3c.dom.Element;
  */
 public final class AddError extends MethodOperation {
 
-    private final String listName;
+    private final FlexibleMapAccessor<List<String>> errorListFma;
     private final FlexibleStringExpander messageFse;
     private final String propertykey;
     private final String propertyResource;
@@ -45,17 +46,12 @@ public final class AddError extends Meth
     public AddError(Element element, SimpleMethod simpleMethod) throws MiniLangException {
         super(element, simpleMethod);
         if (MiniLangValidate.validationOn()) {
+            MiniLangValidate.attributeNames(simpleMethod, element, "error-list-name");
+            MiniLangValidate.constantAttributes(simpleMethod, element, "error-list-name");
             MiniLangValidate.childElements(simpleMethod, element, "fail-message", "fail-property");
             MiniLangValidate.requireAnyChildElement(simpleMethod, element, "fail-message", "fail-property");
         }
-        MiniLangValidate.attributeNames(simpleMethod, element, "error-list-name");
-        MiniLangValidate.constantAttributes(simpleMethod, element, "error-list-name");
-        String listNameAttribute = element.getAttribute("error-list-name");
-        if (listNameAttribute.length() == 0) {
-            this.listName = "error_list";
-        } else {
-            this.listName = listNameAttribute;
-        }
+        errorListFma = FlexibleMapAccessor.getInstance(MiniLangValidate.checkAttribute(element.getAttribute("error-list-name"), "error_list"));
         Element childElement = UtilXml.firstChildElement(element, "fail-message");
         if (childElement != null) {
             if (MiniLangValidate.validationOn()) {
@@ -94,11 +90,11 @@ public final class AddError extends Meth
             message = UtilProperties.getMessage(this.propertyResource, this.propertykey, methodContext.getEnvMap(), methodContext.getLocale());
         }
         if (message != null) {
-            List<String> messages = methodContext.getEnv(this.listName);
+            List<String> messages = errorListFma.get(methodContext.getEnvMap());
             if (messages == null) {
                 messages = FastList.newInstance();
             }
-            methodContext.putEnv(this.listName, messages);
+            errorListFma.put(methodContext.getEnvMap(), messages);
             messages.add(message);
         }
         return true;
@@ -116,7 +112,19 @@ public final class AddError extends Meth
 
     @Override
     public String toString() {
-        return "<add-error/>";
+        StringBuilder sb = new StringBuilder("<add-error ");
+        if (!"error_list".equals(this.errorListFma.getOriginalName())) {
+            sb.append("error-list-name=\"").append(this.errorListFma).append("\"");
+        }
+        sb.append(">");
+        if (!this.messageFse.isEmpty()) {
+            sb.append("<fail-message message=\"").append(this.messageFse).append("\" />");
+        }
+        if (this.propertykey != null) {
+            sb.append("<fail-property property=\"").append(this.propertykey).append(" resource=\"").append(this.propertyResource).append("\" />");
+        }
+        sb.append("</add-error>");
+        return sb.toString();
     }
 
     public static final class AddErrorFactory implements Factory<AddError> {