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, [email protected] 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 {


Reply via email to