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