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/03 13:42:03 UTC
svn commit: r1636339 [1/3] - in
/ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/FormFactory.java
form/MacroFormRenderer.java form/ModelForm.java form/ModelFormAction.java
html/HtmlFormRenderer.java tree/ModelTree.java
Author: adrianc
Date: Mon Nov 3 12:42:03 2014
New Revision: 1636339
URL: http://svn.apache.org/r1636339
Log:
Major overhaul of ModelForm.java:
1. Class and its nested classes were not thread-safe.
2. Bugs caused by C&P errors.
3. The "extends" feature had problems:
3.1 Only a few class members were inherited from the parent form.
3.2 Child forms modified the state of the parent form.
4. Bad null/empty checking.
5. Inefficient code.
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormFactory.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormFactory.java?rev=1636339&r1=1636338&r2=1636339&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormFactory.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormFactory.java Mon Nov 3 12:42:03 2014
@@ -90,8 +90,7 @@ public class FormFactory {
URL formFileUrl = servletContext.getResource(resourceName);
Document formFileDoc = UtilXml.readXmlDocument(formFileUrl, true, true);
Element formElement = UtilXml.firstChildElement(formFileDoc.getDocumentElement(), "form", "name", formName);
- modelForm = new ModelForm(formElement, delegator.getModelReader(), dispatcher.getDispatchContext());
- modelForm.setFormLocation(resourceName);
+ modelForm = new ModelForm(formElement, resourceName, delegator.getModelReader(), dispatcher.getDispatchContext());
modelForm = formWebappCache.putIfAbsentAndGet(cacheKey, modelForm);
}
if (modelForm == null) {
@@ -126,8 +125,7 @@ public class FormFactory {
}
public static ModelForm createModelForm(Element formElement, ModelReader entityModelReader, DispatchContext dispatchContext, String formLocation, String formName) {
- ModelForm modelForm = new ModelForm(formElement, entityModelReader, dispatchContext);
- modelForm.setFormLocation(formLocation);
+ ModelForm modelForm = new ModelForm(formElement, formLocation, entityModelReader, dispatchContext);
return modelForm;
}
}
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=1636339&r1=1636338&r2=1636339&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java Mon Nov 3 12:42:03 2014
@@ -1090,7 +1090,7 @@ public final class MacroFormRenderer imp
}
updateAreas.add(new ModelForm.UpdateArea("submit", formId, backgroundSubmitRefreshTarget));
}
- boolean ajaxEnabled = (updateAreas != null || UtilValidate.isNotEmpty(backgroundSubmitRefreshTarget)) && this.javaScriptEnabled;
+ boolean ajaxEnabled = (UtilValidate.isNotEmpty(updateAreas) || UtilValidate.isNotEmpty(backgroundSubmitRefreshTarget)) && this.javaScriptEnabled;
String ajaxUrl = "";
if (ajaxEnabled) {
ajaxUrl = createAjaxParamsFromUpdateAreas(updateAreas, "", context);
@@ -2014,7 +2014,7 @@ public final class MacroFormRenderer imp
updateAreas = new LinkedList<ModelForm.UpdateArea>();
updateAreas.add(new ModelForm.UpdateArea("change", id, autoCompleterTarget));
}
- boolean ajaxEnabled = updateAreas != null && this.javaScriptEnabled;
+ boolean ajaxEnabled = UtilValidate.isNotEmpty(updateAreas) && this.javaScriptEnabled;
String autocomplete = "";
if (!lookupField.getClientAutocompleteField() || !ajaxEnabled) {
autocomplete = "off";