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; } } |
Free forum by Nabble | Edit this page |