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 2014/11/02 10:08:21 UTC
svn commit: r1636096 - in
/ofbiz/trunk/framework/widget/src/org/ofbiz/widget: ModelWidgetAction.java
form/ModelForm.java form/ModelFormAction.java
Author: adrianc
Date: Sun Nov 2 09:08:21 2014
New Revision: 1636096
URL: http://svn.apache.org/r1636096
Log:
Delegate most form widget actions to ModelWidgetAction.
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java?rev=1636096&r1=1636095&r2=1636096&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java Sun Nov 2 09:08:21 2014
@@ -21,6 +21,7 @@ package org.ofbiz.widget;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -76,43 +77,51 @@ public abstract class ModelWidgetAction
public abstract void accept(ModelActionVisitor visitor);
+ public static ModelWidgetAction toModelWidgetAction(ModelWidget modelWidget, Element actionElement) {
+ if ("set".equals(actionElement.getNodeName())) {
+ return new SetField(modelWidget, actionElement);
+ } else if ("property-map".equals(actionElement.getNodeName())) {
+ return new PropertyMap(modelWidget, actionElement);
+ } else if ("property-to-field".equals(actionElement.getNodeName())) {
+ return new PropertyToField(modelWidget, actionElement);
+ } else if ("script".equals(actionElement.getNodeName())) {
+ return new Script(modelWidget, actionElement);
+ } else if ("service".equals(actionElement.getNodeName())) {
+ return new Service(modelWidget, actionElement);
+ } else if ("entity-one".equals(actionElement.getNodeName())) {
+ return new EntityOne(modelWidget, actionElement);
+ } else if ("entity-and".equals(actionElement.getNodeName())) {
+ return new EntityAnd(modelWidget, actionElement);
+ } else if ("entity-condition".equals(actionElement.getNodeName())) {
+ return new EntityCondition(modelWidget, actionElement);
+ } else if ("get-related-one".equals(actionElement.getNodeName())) {
+ return new GetRelatedOne(modelWidget, actionElement);
+ } else if ("get-related".equals(actionElement.getNodeName())) {
+ return new GetRelated(modelWidget, actionElement);
+ } else {
+ throw new IllegalArgumentException("Action element not supported with name: " + actionElement.getNodeName());
+ }
+ }
+
public static List<ModelWidgetAction> readSubActions(ModelWidget modelWidget, Element parentElement) {
List<? extends Element> actionElementList = UtilXml.childElementList(parentElement);
List<ModelWidgetAction> actions = new ArrayList<ModelWidgetAction>(actionElementList.size());
for (Element actionElement: actionElementList) {
- if ("set".equals(actionElement.getNodeName())) {
- actions.add(new SetField(modelWidget, actionElement));
- } else if ("property-map".equals(actionElement.getNodeName())) {
- actions.add(new PropertyMap(modelWidget, actionElement));
- } else if ("property-to-field".equals(actionElement.getNodeName())) {
- actions.add(new PropertyToField(modelWidget, actionElement));
- } else if ("script".equals(actionElement.getNodeName())) {
- actions.add(new Script(modelWidget, actionElement));
- } else if ("service".equals(actionElement.getNodeName())) {
- actions.add(new Service(modelWidget, actionElement));
- } else if ("entity-one".equals(actionElement.getNodeName())) {
- actions.add(new EntityOne(modelWidget, actionElement));
- } else if ("entity-and".equals(actionElement.getNodeName())) {
- actions.add(new EntityAnd(modelWidget, actionElement));
- } else if ("entity-condition".equals(actionElement.getNodeName())) {
- actions.add(new EntityCondition(modelWidget, actionElement));
- } else if ("get-related-one".equals(actionElement.getNodeName())) {
- actions.add(new GetRelatedOne(modelWidget, actionElement));
- } else if ("get-related".equals(actionElement.getNodeName())) {
- actions.add(new GetRelated(modelWidget, actionElement));
- } else {
- throw new IllegalArgumentException("Action element not supported with name: " + actionElement.getNodeName());
- }
+ actions.add(toModelWidgetAction(modelWidget, actionElement));
}
- return actions;
+ return Collections.unmodifiableList(actions);
}
- public static void runSubActions(List<ModelWidgetAction> actions, Map<String, Object> context) throws GeneralException {
+ public static void runSubActions(List<ModelWidgetAction> actions, Map<String, Object> context) {
if (actions == null) return;
-
- for (ModelWidgetAction action: actions) {
- if (Debug.verboseOn()) Debug.logVerbose("Running widget action " + action.getClass().getName(), module);
- action.runAction(context);
+ for (ModelWidgetAction action : actions) {
+ if (Debug.verboseOn())
+ Debug.logVerbose("Running action " + action.getClass().getName(), module);
+ try {
+ action.runAction(context);
+ } catch (GeneralException e) {
+ throw new RuntimeException(e);
+ }
}
}
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=1636096&r1=1636095&r2=1636096&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Sun Nov 2 09:08:21 2014
@@ -861,7 +861,7 @@ public class ModelForm extends ModelWidg
}
public void runFormActions(Map<String, Object> context) {
- ModelFormAction.runSubActions(this.actions, context);
+ ModelWidgetAction.runSubActions(this.actions, context);
}
/**
@@ -1580,7 +1580,7 @@ public class ModelForm extends ModelWidg
previousItem = new HashMap<String, Object>();
previousItem.putAll(itemMap);
- ModelFormAction.runSubActions(this.rowActions, localContext);
+ ModelWidgetAction.runSubActions(this.rowActions, localContext);
localContext.put("itemIndex", Integer.valueOf(itemIndex - lowIndex));
if (UtilValidate.isNotEmpty(context.get("renderFormSeqNumber"))) {
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=1636096&r1=1636095&r2=1636096&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java Sun Nov 2 09:08:21 2014
@@ -18,8 +18,9 @@
*******************************************************************************/
package org.ofbiz.widget.form;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
-import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
@@ -39,11 +40,6 @@ import org.ofbiz.service.GenericServiceE
import org.ofbiz.service.ModelService;
import org.ofbiz.widget.ModelActionVisitor;
import org.ofbiz.widget.ModelWidgetAction;
-import org.ofbiz.widget.ModelWidgetAction.EntityOne;
-import org.ofbiz.widget.ModelWidgetAction.PropertyMap;
-import org.ofbiz.widget.ModelWidgetAction.PropertyToField;
-import org.ofbiz.widget.ModelWidgetAction.Script;
-import org.ofbiz.widget.ModelWidgetAction.SetField;
import org.ofbiz.widget.WidgetWorker;
import org.w3c.dom.Element;
@@ -51,26 +47,15 @@ import org.w3c.dom.Element;
* Widget Library - Screen model class
*/
public abstract class ModelFormAction {
- public static final String module = ModelFormAction.class.getName();
- public abstract void runAction(Map<String, Object> context);
+ public static final String module = ModelFormAction.class.getName();
public static List<ModelWidgetAction> readSubActions(ModelForm modelForm, Element parentElement) {
- List<ModelWidgetAction> actions = new LinkedList<ModelWidgetAction>();
-
- for (Element actionElement: UtilXml.childElementList(parentElement)) {
- if ("set".equals(actionElement.getNodeName())) {
- actions.add(new SetField(modelForm, actionElement));
- } else if ("property-map".equals(actionElement.getNodeName())) {
- actions.add(new PropertyMap(modelForm, actionElement));
- } else if ("property-to-field".equals(actionElement.getNodeName())) {
- actions.add(new PropertyToField(modelForm, actionElement));
- } else if ("script".equals(actionElement.getNodeName())) {
- actions.add(new Script(modelForm, actionElement));
- } else if ("service".equals(actionElement.getNodeName())) {
+ List<? extends Element> actionElementList = UtilXml.childElementList(parentElement);
+ List<ModelWidgetAction> actions = new ArrayList<ModelWidgetAction>(actionElementList.size());
+ for (Element actionElement : UtilXml.childElementList(parentElement)) {
+ if ("service".equals(actionElement.getNodeName())) {
actions.add(new Service(modelForm, actionElement));
- } else if ("entity-one".equals(actionElement.getNodeName())) {
- actions.add(new EntityOne(modelForm, actionElement));
} else if ("entity-and".equals(actionElement.getNodeName())) {
actions.add(new EntityAnd(modelForm, actionElement));
} else if ("entity-condition".equals(actionElement.getNodeName())) {
@@ -78,24 +63,10 @@ public abstract class ModelFormAction {
} else if ("call-parent-actions".equals(actionElement.getNodeName())) {
actions.add(new CallParentActions(modelForm, actionElement));
} else {
- throw new IllegalArgumentException("Action element not supported with name: " + actionElement.getNodeName());
- }
- }
-
- return actions;
- }
-
- public static void runSubActions(List<ModelWidgetAction> actions, Map<String, Object> context) {
- if (actions == null) return;
-
- for (ModelWidgetAction action: actions) {
- if (Debug.verboseOn()) Debug.logVerbose("Running screen action " + action.getClass().getName(), module);
- try {
- action.runAction(context);
- } catch (GeneralException e) {
- throw new RuntimeException(e);
+ actions.add(ModelWidgetAction.toModelWidgetAction(modelForm, actionElement));
}
}
+ return Collections.unmodifiableList(actions);
}
@SuppressWarnings("serial")
@@ -363,7 +334,7 @@ public abstract class ModelFormAction {
parentModel.runFormActions(context);
break;
case ROW_ACTIONS:
- ModelFormAction.runSubActions(parentModel.rowActions, context);
+ ModelWidgetAction.runSubActions(parentModel.rowActions, context);
break;
}
}