You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Adrian Crum <ad...@sandglass-software.com> on 2014/11/15 22:38:07 UTC
Re: svn commit: r1639927 [1/3] - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget:
artifact/ fo/ form/ html/ text/ xml/
Oops, this commit includes some unintentional formatting changes. Sorry
about that.
Adrian Crum
Sandglass Software
www.sandglass-software.com
On 11/15/2014 9:33 PM, adrianc@apache.org wrote:
> Author: adrianc
> Date: Sat Nov 15 21:33:51 2014
> New Revision: 1639927
>
> URL: http://svn.apache.org/r1639927
> Log:
> ModelFormField.java refactor:
>
> 1. Extract FieldInfo class to a separate file.
> 2. Make FieldInfo thread-safe.
> 3. Modify FieldInfo subclasses so they include a thread-safe copy method.
>
> This commit fixes a major flaw in the original design. When a widget form is extended, the original design would copy the child FieldInfo state to the parent FieldInfo - so the parent FieldInfo referenced the child form instead of the parent form. With this commit, parent FieldInfo instances are copied as new instances to the child form - so the parent FieldInfo instances remain unchanged.
>
> Added:
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FieldInfo.java
> Modified:
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/artifact/ArtifactInfoGatherer.java
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormRenderer.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/ModelFormField.java
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/text/TextFormRenderer.java
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/xml/XmlFormRenderer.java
>
> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/artifact/ArtifactInfoGatherer.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/artifact/ArtifactInfoGatherer.java?rev=1639927&r1=1639926&r2=1639927&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/artifact/ArtifactInfoGatherer.java (original)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/artifact/ArtifactInfoGatherer.java Sat Nov 15 21:33:51 2014
> @@ -37,6 +37,7 @@ import org.ofbiz.widget.ModelWidgetActio
> import org.ofbiz.widget.ModelWidgetAction.Service;
> import org.ofbiz.widget.ModelWidgetAction.SetField;
> import org.ofbiz.widget.ModelWidgetVisitor;
> +import org.ofbiz.widget.form.FieldInfo;
> import org.ofbiz.widget.form.ModelForm;
> import org.ofbiz.widget.form.ModelForm.AltTarget;
> import org.ofbiz.widget.form.ModelForm.AutoFieldsEntity;
> @@ -51,7 +52,7 @@ import org.ofbiz.widget.form.ModelFormFi
> import org.ofbiz.widget.form.ModelFormField.DisplayEntityField;
> import org.ofbiz.widget.form.ModelFormField.DisplayField;
> import org.ofbiz.widget.form.ModelFormField.DropDownField;
> -import org.ofbiz.widget.form.ModelFormField.FieldInfo;
> +import org.ofbiz.widget.form.ModelFormField.FieldInfoWithOptions;
> import org.ofbiz.widget.form.ModelFormField.FileField;
> import org.ofbiz.widget.form.ModelFormField.HiddenField;
> import org.ofbiz.widget.form.ModelFormField.HyperlinkField;
> @@ -245,8 +246,8 @@ public final class ArtifactInfoGatherer
> if (modelFormField.getFieldInfo() instanceof ModelFormField.DisplayEntityField) {
> infoContext.addEntityName(((ModelFormField.DisplayEntityField) modelFormField.getFieldInfo()).getEntityName());
> }
> - if (modelFormField.getFieldInfo() instanceof ModelFormField.FieldInfoWithOptions) {
> - for (ModelFormField.OptionSource optionSource : ((ModelFormField.FieldInfoWithOptions) modelFormField
> + if (modelFormField.getFieldInfo() instanceof FieldInfoWithOptions) {
> + for (ModelFormField.OptionSource optionSource : ((FieldInfoWithOptions) modelFormField
> .getFieldInfo()).getOptionSources()) {
> if (optionSource instanceof ModelFormField.EntityOptions) {
> infoContext.addEntityName(((ModelFormField.EntityOptions) optionSource).getEntityName());
>
> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java?rev=1639927&r1=1639926&r2=1639927&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java (original)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/fo/FoFormRenderer.java Sat Nov 15 21:33:51 2014
> @@ -29,6 +29,7 @@ import org.ofbiz.base.util.UtilFormatOut
> import org.ofbiz.base.util.UtilValidate;
> import org.ofbiz.widget.ModelWidget;
> import org.ofbiz.widget.WidgetWorker;
> +import org.ofbiz.widget.form.FieldInfo;
> import org.ofbiz.widget.form.FormStringRenderer;
> import org.ofbiz.widget.form.ModelForm;
> import org.ofbiz.widget.form.ModelFormField;
> @@ -38,6 +39,7 @@ import org.ofbiz.widget.form.ModelFormFi
> import org.ofbiz.widget.form.ModelFormField.DateTimeField;
> import org.ofbiz.widget.form.ModelFormField.DisplayField;
> import org.ofbiz.widget.form.ModelFormField.DropDownField;
> +import org.ofbiz.widget.form.ModelFormField.FieldInfoWithOptions;
> import org.ofbiz.widget.form.ModelFormField.FileField;
> import org.ofbiz.widget.form.ModelFormField.HiddenField;
> import org.ofbiz.widget.form.ModelFormField.HyperlinkField;
> @@ -124,7 +126,7 @@ public class FoFormRenderer extends Html
> if (UtilValidate.isNotEmpty(explicitDescription)) {
> this.makeBlockString(writer, modelFormField.getWidgetStyle(), explicitDescription);
> } else {
> - this.makeBlockString(writer, modelFormField.getWidgetStyle(), ModelFormField.FieldInfoWithOptions.getDescriptionForOptionKey(currentValue, allOptionValues));
> + this.makeBlockString(writer, modelFormField.getWidgetStyle(), FieldInfoWithOptions.getDescriptionForOptionKey(currentValue, allOptionValues));
> }
> } else {
> boolean optionSelected = false;
> @@ -196,7 +198,7 @@ public class FoFormRenderer extends Html
> List<ModelFormField> childFieldList = modelForm.getFieldList();
> for (ModelFormField childField : childFieldList) {
> int childFieldType = childField.getFieldInfo().getFieldType();
> - if (childFieldType == ModelFormField.FieldInfo.HIDDEN || childFieldType == ModelFormField.FieldInfo.IGNORED) {
> + if (childFieldType == FieldInfo.HIDDEN || childFieldType == FieldInfo.IGNORED) {
> continue;
> }
> writer.append("<fo:table-column");
>
> Added: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FieldInfo.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FieldInfo.java?rev=1639927&view=auto
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FieldInfo.java (added)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FieldInfo.java Sat Nov 15 21:33:51 2014
> @@ -0,0 +1,135 @@
> +/*******************************************************************************
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + *******************************************************************************/
> +package org.ofbiz.widget.form;
> +
> +import java.io.IOException;
> +import java.util.Collections;
> +import java.util.HashMap;
> +import java.util.Map;
> +
> +import org.ofbiz.widget.ModelFieldVisitor;
> +import org.w3c.dom.Element;
> +
> +/**
> + * Form field abstract class.
> + */
> +public abstract class FieldInfo {
> +
> + public static final String module = FieldInfo.class.getName();
> + public static final int DISPLAY = 1;
> + public static final int HYPERLINK = 2;
> + public static final int TEXT = 3;
> + public static final int TEXTAREA = 4;
> + public static final int DATE_TIME = 5;
> + public static final int DROP_DOWN = 6;
> + public static final int CHECK = 7;
> + public static final int RADIO = 8;
> + public static final int SUBMIT = 9;
> + public static final int RESET = 10;
> + public static final int HIDDEN = 11;
> + public static final int IGNORED = 12;
> + public static final int TEXTQBE = 13;
> + public static final int DATEQBE = 14;
> + public static final int RANGEQBE = 15;
> + public static final int LOOKUP = 16;
> + public static final int FILE = 17;
> + public static final int PASSWORD = 18;
> + public static final int IMAGE = 19;
> + public static final int DISPLAY_ENTITY = 20;
> + // the numbering here represents the priority of the source;
> + //when setting a new fieldInfo on a modelFormField it will only set
> + //the new one if the fieldSource is less than or equal to the existing
> + //fieldSource, which should always be passed as one of the following...
> + public static final int SOURCE_EXPLICIT = 1;
> + public static final int SOURCE_AUTO_ENTITY = 2;
> + public static final int SOURCE_AUTO_SERVICE = 3;
> + private static Map<String, Integer> fieldTypeByName = createFieldTypeMap();
> +
> + private static Map<String, Integer> createFieldTypeMap() {
> + Map<String, Integer> fieldTypeByName = new HashMap<String, Integer>();
> + fieldTypeByName.put("display", Integer.valueOf(1));
> + fieldTypeByName.put("hyperlink", Integer.valueOf(2));
> + fieldTypeByName.put("text", Integer.valueOf(3));
> + fieldTypeByName.put("textarea", Integer.valueOf(4));
> + fieldTypeByName.put("date-time", Integer.valueOf(5));
> + fieldTypeByName.put("drop-down", Integer.valueOf(6));
> + fieldTypeByName.put("check", Integer.valueOf(7));
> + fieldTypeByName.put("radio", Integer.valueOf(8));
> + fieldTypeByName.put("submit", Integer.valueOf(9));
> + fieldTypeByName.put("reset", Integer.valueOf(10));
> + fieldTypeByName.put("hidden", Integer.valueOf(11));
> + fieldTypeByName.put("ignored", Integer.valueOf(12));
> + fieldTypeByName.put("text-find", Integer.valueOf(13));
> + fieldTypeByName.put("date-find", Integer.valueOf(14));
> + fieldTypeByName.put("range-find", Integer.valueOf(15));
> + fieldTypeByName.put("lookup", Integer.valueOf(16));
> + fieldTypeByName.put("file", Integer.valueOf(17));
> + fieldTypeByName.put("password", Integer.valueOf(18));
> + fieldTypeByName.put("image", Integer.valueOf(19));
> + fieldTypeByName.put("display-entity", Integer.valueOf(20));
> + fieldTypeByName.put("container", Integer.valueOf(21));
> + return Collections.unmodifiableMap(fieldTypeByName);
> + }
> +
> + public static int findFieldTypeFromName(String name) {
> + Integer fieldTypeInt = FieldInfo.fieldTypeByName.get(name);
> + if (fieldTypeInt != null) {
> + return fieldTypeInt;
> + } else {
> + throw new IllegalArgumentException("Could not get fieldType for field type name " + name);
> + }
> + }
> +
> + private final int fieldType;
> + private final int fieldSource;
> + private final ModelFormField modelFormField;
> +
> + /** XML Constructor */
> + protected FieldInfo(Element element, ModelFormField modelFormField) {
> + this.fieldSource = FieldInfo.SOURCE_EXPLICIT;
> + this.fieldType = findFieldTypeFromName(element.getTagName());
> + this.modelFormField = modelFormField;
> + }
> +
> + /** Value Constructor */
> + protected FieldInfo(int fieldSource, int fieldType, ModelFormField modelFormField) {
> + this.fieldType = fieldType;
> + this.fieldSource = fieldSource;
> + this.modelFormField = modelFormField;
> + }
> +
> + public abstract void accept(ModelFieldVisitor visitor);
> +
> + public abstract FieldInfo copy(ModelFormField modelFormField);
> +
> + public int getFieldSource() {
> + return fieldSource;
> + }
> +
> + public int getFieldType() {
> + return fieldType;
> + }
> +
> + public ModelFormField getModelFormField() {
> + return modelFormField;
> + }
> +
> + public abstract void renderFieldString(Appendable writer, Map<String, Object> context, FormStringRenderer formStringRenderer)
> + throws IOException;
> +}
>
> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormRenderer.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormRenderer.java?rev=1639927&r1=1639926&r2=1639927&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormRenderer.java (original)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/FormRenderer.java Sat Nov 15 21:33:51 2014
> @@ -122,12 +122,12 @@ public class FormRenderer {
> if (position != -1 && modelFormField.getPosition() != position) {
> continue;
> }
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
>
> // render hidden/ignored field widget
> switch (fieldInfo.getFieldType()) {
> - case ModelFormField.FieldInfo.HIDDEN:
> - case ModelFormField.FieldInfo.IGNORED:
> + case FieldInfo.HIDDEN:
> + case FieldInfo.IGNORED:
> if (modelFormField.shouldUse(context)) {
> hiddenIgnoredFieldList.add(modelFormField);
> if (alreadyRendered != null)
> @@ -135,8 +135,8 @@ public class FormRenderer {
> }
> break;
>
> - case ModelFormField.FieldInfo.DISPLAY:
> - case ModelFormField.FieldInfo.DISPLAY_ENTITY:
> + case FieldInfo.DISPLAY:
> + case FieldInfo.DISPLAY_ENTITY:
> ModelFormField.DisplayField displayField = (ModelFormField.DisplayField) fieldInfo;
> if (displayField.getAlsoHidden() && modelFormField.shouldUse(context)) {
> hiddenIgnoredFieldList.add(modelFormField);
> @@ -144,7 +144,7 @@ public class FormRenderer {
> }
> break;
>
> - case ModelFormField.FieldInfo.HYPERLINK:
> + case FieldInfo.HYPERLINK:
> ModelFormField.HyperlinkField hyperlinkField = (ModelFormField.HyperlinkField) fieldInfo;
> if (hyperlinkField.getAlsoHidden() && modelFormField.shouldUse(context)) {
> hiddenIgnoredFieldList.add(modelFormField);
> @@ -236,7 +236,7 @@ public class FormRenderer {
> if (curPos > positions) {
> positions = curPos;
> }
> - ModelFormField.FieldInfo currentFieldInfo = modelFormField.getFieldInfo();
> + FieldInfo currentFieldInfo = modelFormField.getFieldInfo();
> if (currentFieldInfo != null) {
> ModelFormField fieldInfoFormField = currentFieldInfo.getModelFormField();
> if (fieldInfoFormField != null) {
> @@ -317,7 +317,7 @@ public class FormRenderer {
> // will be rendered as columns after it
> boolean inputFieldFound = false;
> for (ModelFormField modelFormField : mainFieldList) {
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
>
> // if the field's title is explicitly set to "" (title="") then
> // the header is not created for it; this is useful for position list
> @@ -328,14 +328,14 @@ public class FormRenderer {
> continue;
> }
> // don't do any header for hidden or ignored fields
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
> + if (fieldInfo.getFieldType() == FieldInfo.HIDDEN
> + || fieldInfo.getFieldType() == FieldInfo.IGNORED) {
> continue;
> }
>
> - if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY
> - && fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY_ENTITY
> - && fieldInfo.getFieldType() != ModelFormField.FieldInfo.HYPERLINK) {
> + if (fieldInfo.getFieldType() != FieldInfo.DISPLAY
> + && fieldInfo.getFieldType() != FieldInfo.DISPLAY_ENTITY
> + && fieldInfo.getFieldType() != FieldInfo.HYPERLINK) {
> inputFieldFound = true;
> continue;
> }
> @@ -351,18 +351,18 @@ public class FormRenderer {
>
> // prepare the combined title for the column that will contain the form/input fields
> for (ModelFormField modelFormField : mainFieldList) {
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
>
> // don't do any header for hidden or ignored fields
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
> + if (fieldInfo.getFieldType() == FieldInfo.HIDDEN
> + || fieldInfo.getFieldType() == FieldInfo.IGNORED) {
> continue;
> }
>
> // skip all of the display/hyperlink fields
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.DISPLAY
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.DISPLAY_ENTITY
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.HYPERLINK) {
> + if (fieldInfo.getFieldType() == FieldInfo.DISPLAY
> + || fieldInfo.getFieldType() == FieldInfo.DISPLAY_ENTITY
> + || fieldInfo.getFieldType() == FieldInfo.HYPERLINK) {
> continue;
> }
>
> @@ -461,9 +461,9 @@ public class FormRenderer {
> ModelFormField modelFormField = mainFieldListIter.next();
>
> // don't do any header for hidden or ignored fields
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + if (fieldInfo.getFieldType() == FieldInfo.HIDDEN
> + || fieldInfo.getFieldType() == FieldInfo.IGNORED) {
> continue;
> }
>
> @@ -489,18 +489,18 @@ public class FormRenderer {
> private void renderHiddenIgnoredFields(Appendable writer, Map<String, Object> context, FormStringRenderer formStringRenderer,
> List<ModelFormField> fieldList) throws IOException {
> for (ModelFormField modelFormField : fieldList) {
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
>
> // render hidden/ignored field widget
> switch (fieldInfo.getFieldType()) {
> - case ModelFormField.FieldInfo.HIDDEN:
> - case ModelFormField.FieldInfo.IGNORED:
> + case FieldInfo.HIDDEN:
> + case FieldInfo.IGNORED:
> modelFormField.renderFieldString(writer, context, formStringRenderer);
> break;
>
> - case ModelFormField.FieldInfo.DISPLAY:
> - case ModelFormField.FieldInfo.DISPLAY_ENTITY:
> - case ModelFormField.FieldInfo.HYPERLINK:
> + case FieldInfo.DISPLAY:
> + case FieldInfo.DISPLAY_ENTITY:
> + case FieldInfo.HYPERLINK:
> formStringRenderer.renderHiddenField(writer, context, modelFormField, modelFormField.getEntry(context));
> break;
> }
> @@ -631,9 +631,9 @@ public class FormRenderer {
> ModelFormField modelFormField = mainFieldIter.next();
>
> // don't do any header for hidden or ignored fields inside this loop
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + if (fieldInfo.getFieldType() == FieldInfo.HIDDEN
> + || fieldInfo.getFieldType() == FieldInfo.IGNORED) {
> continue;
> }
>
> @@ -795,17 +795,17 @@ public class FormRenderer {
> int currentPosition = 1;
> while (innerDisplayHyperlinkFieldIter.hasNext()) {
> ModelFormField modelFormField = innerDisplayHyperlinkFieldIter.next();
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
>
> // don't do any header for hidden or ignored fields
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
> + if (fieldInfo.getFieldType() == FieldInfo.HIDDEN
> + || fieldInfo.getFieldType() == FieldInfo.IGNORED) {
> continue;
> }
>
> - if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY
> - && fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY_ENTITY
> - && fieldInfo.getFieldType() != ModelFormField.FieldInfo.HYPERLINK) {
> + if (fieldInfo.getFieldType() != FieldInfo.DISPLAY
> + && fieldInfo.getFieldType() != FieldInfo.DISPLAY_ENTITY
> + && fieldInfo.getFieldType() != FieldInfo.HYPERLINK) {
> // okay, now do the form cell
> break;
> }
> @@ -821,18 +821,18 @@ public class FormRenderer {
> Iterator<ModelFormField> innerFormFieldIter = fieldListByPosition.iterator();
> while (innerFormFieldIter.hasNext()) {
> ModelFormField modelFormField = innerFormFieldIter.next();
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
>
> // don't do any header for hidden or ignored fields
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
> + if (fieldInfo.getFieldType() == FieldInfo.HIDDEN
> + || fieldInfo.getFieldType() == FieldInfo.IGNORED) {
> continue;
> }
>
> // skip all of the display/hyperlink fields
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.DISPLAY
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.DISPLAY_ENTITY
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.HYPERLINK) {
> + if (fieldInfo.getFieldType() == FieldInfo.DISPLAY
> + || fieldInfo.getFieldType() == FieldInfo.DISPLAY_ENTITY
> + || fieldInfo.getFieldType() == FieldInfo.HYPERLINK) {
> continue;
> }
>
> @@ -846,18 +846,18 @@ public class FormRenderer {
> }
> while (innerDisplayHyperlinkFieldIter.hasNext()) {
> ModelFormField modelFormField = innerDisplayHyperlinkFieldIter.next();
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
>
> // don't do any header for hidden or ignored fields
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
> + if (fieldInfo.getFieldType() == FieldInfo.HIDDEN
> + || fieldInfo.getFieldType() == FieldInfo.IGNORED) {
> continue;
> }
>
> // skip all non-display and non-hyperlink fields
> - if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY
> - && fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY_ENTITY
> - && fieldInfo.getFieldType() != ModelFormField.FieldInfo.HYPERLINK) {
> + if (fieldInfo.getFieldType() != FieldInfo.DISPLAY
> + && fieldInfo.getFieldType() != FieldInfo.DISPLAY_ENTITY
> + && fieldInfo.getFieldType() != FieldInfo.HYPERLINK) {
> continue;
> }
>
> @@ -1087,9 +1087,9 @@ public class FormRenderer {
> }
> }
>
> - ModelFormField.FieldInfo fieldInfo = currentFormField.getFieldInfo();
> - if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN
> - || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {
> + FieldInfo fieldInfo = currentFormField.getFieldInfo();
> + if (fieldInfo.getFieldType() == FieldInfo.HIDDEN
> + || fieldInfo.getFieldType() == FieldInfo.IGNORED) {
> continue;
> }
> if (alreadyRendered.contains(currentFormField.getName())) {
> @@ -1158,8 +1158,8 @@ public class FormRenderer {
> formStringRenderer.renderFormatFieldRowTitleCellOpen(writer, context, currentFormField);
>
> // render title (unless this is a submit or a reset field)
> - if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.SUBMIT
> - && fieldInfo.getFieldType() != ModelFormField.FieldInfo.RESET) {
> + if (fieldInfo.getFieldType() != FieldInfo.SUBMIT
> + && fieldInfo.getFieldType() != FieldInfo.RESET) {
> formStringRenderer.renderFieldTitle(writer, context, currentFormField);
> } else {
> formStringRenderer.renderFormatEmptySpace(writer, context, 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=1639927&r1=1639926&r2=1639927&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 Sat Nov 15 21:33:51 2014
> @@ -60,6 +60,7 @@ import org.ofbiz.widget.form.ModelFormFi
> import org.ofbiz.widget.form.ModelFormField.DisplayEntityField;
> import org.ofbiz.widget.form.ModelFormField.DisplayField;
> import org.ofbiz.widget.form.ModelFormField.DropDownField;
> +import org.ofbiz.widget.form.ModelFormField.FieldInfoWithOptions;
> import org.ofbiz.widget.form.ModelFormField.FileField;
> import org.ofbiz.widget.form.ModelFormField.HiddenField;
> import org.ofbiz.widget.form.ModelFormField.HyperlinkField;
> @@ -779,7 +780,7 @@ public final class MacroFormRenderer imp
> }
> explicitDescription = (currentDescription != null ? currentDescription : dropDownField.getCurrentDescription(context));
> if (UtilValidate.isEmpty(explicitDescription)) {
> - explicitDescription = (ModelFormField.FieldInfoWithOptions.getDescriptionForOptionKey(currentValue, allOptionValues));
> + explicitDescription = (FieldInfoWithOptions.getDescriptionForOptionKey(currentValue, allOptionValues));
> }
> if (textSize > 0 && UtilValidate.isNotEmpty(explicitDescription) && explicitDescription.length() > textSize) {
> explicitDescription = explicitDescription.substring(0, textSize - 8) + "..." + explicitDescription.substring(explicitDescription.length() - 5);
> @@ -1418,7 +1419,7 @@ public final class MacroFormRenderer imp
> List<String> fieldNameList = new LinkedList<String>();
> for (ModelFormField childField : childFieldList) {
> int childFieldType = childField.getFieldInfo().getFieldType();
> - if (childFieldType == ModelFormField.FieldInfo.HIDDEN || childFieldType == ModelFormField.FieldInfo.IGNORED) {
> + if (childFieldType == FieldInfo.HIDDEN || childFieldType == FieldInfo.IGNORED) {
> continue;
> }
> String areaStyle = childField.getTitleAreaStyle();
>
> 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=1639927&r1=1639926&r2=1639927&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 Sat Nov 15 21:33:51 2014
> @@ -749,7 +749,7 @@ public class ModelForm extends ModelWidg
> String thisType = this.getType();
> for (Element fieldElement : UtilXml.childElementList(formElement, "field")) {
> ModelFormField modelFormField = new ModelFormField(fieldElement, this, entityModelReader, dispatchContext);
> - ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();
> + FieldInfo fieldInfo = modelFormField.getFieldInfo();
> if (thisType.equals("multi") && fieldInfo instanceof ModelFormField.SubmitField) {
> multiSubmitFields.add(modelFormField);
> } else {
>
>