This is an automated email from the ASF dual-hosted git repository. jleroux pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push: new 884864b Improved: no functional change, adds a BuildBot badge (INFRA-22807) 884864b is described below commit 884864b07ffaa0c6eae79c52d2a37717f1aa5b1e Author: Jacques Le Roux <jacques.le.r...@les7arts.com> AuthorDate: Thu Feb 3 09:53:55 2022 +0100 Improved: no functional change, adds a BuildBot badge (INFRA-22807) It works locally (once you have installed Ruby, asciidoctor and asciidoctor-diagram). CHecking that it's also OK on BuildBot, let's see result at https://nightlies.apache.org/ofbiz/trunk/readme/html5/ --- README.adoc | 1 + .../ofbiz/widget/model/ModelFormFieldBuilder.java | 107 +++++++++------------ 2 files changed, 47 insertions(+), 61 deletions(-) diff --git a/README.adoc b/README.adoc index d18f10d..2d24417 100644 --- a/README.adoc +++ b/README.adoc @@ -22,6 +22,7 @@ The Apache OFBiz Project image:https://img.shields.io/badge/License-Apache%202.0-blue.svg[link=http://www.apache.org/licenses/LICENSE-2.0] image:https://img.shields.io/badge/Version-trunk-blue.svg[link=https://github.com/apache/ofbiz-framework] +image:https://ci2.apache.org/badges/ofbizTrunkFrameworkPlugins.svg[link=https://ci2.apache.org/badges/ofbizTrunkFrameworkPlugins.svg] image:https://github.com/apache/ofbiz-framework/actions/workflows/gradle.yaml/badge.svg?branch=trunk[link=https://github.com/apache/ofbiz-framework/actions/workflows/gradle.yaml] image:https://sonarcloud.io/api/project_badges/measure?project=apache_ofbiz-framework&metric=alert_status[link=https://sonarcloud.io/dashboard?id=apache_ofbiz-framework] image:https://github.com/apache/ofbiz-framework/actions/workflows/codeql-analysis.yml/badge.svg[link=https://github.com/apache/ofbiz-framework/actions/workflows/codeql-analysis.yml] diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java index cfbefab..d01a8e6 100644 --- a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java +++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java @@ -20,12 +20,10 @@ package org.apache.ofbiz.widget.model; import java.util.ArrayList; import java.util.Collections; -import java.util.LinkedList; import java.util.List; import java.util.Map; import org.apache.ofbiz.base.util.Debug; -import org.apache.ofbiz.base.util.StringUtil; import org.apache.ofbiz.base.util.UtilMisc; import org.apache.ofbiz.base.util.UtilValidate; import org.apache.ofbiz.base.util.UtilXml; @@ -854,68 +852,55 @@ public class ModelFormFieldBuilder { } this.serviceName = modelService.getName(); this.attributeName = modelParam.getName(); - String modelParamFieldType = computeFieldTypeToUse(modelParam.getType()); - FieldInfo fieldInfo = null; - switch (defaultFieldType) { - case "display": - fieldInfo = new ModelFormField.DisplayField(FieldInfo.SOURCE_AUTO_SERVICE, null); - break; - case "hidden": - fieldInfo = new ModelFormField.HiddenField(FieldInfo.SOURCE_AUTO_SERVICE, null); - break; - case "find": - if ("text".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.TextFindField(FieldInfo.SOURCE_AUTO_SERVICE, null); - } else if ("numeric".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.RangeFindField(FieldInfo.SOURCE_AUTO_SERVICE, 6, null); - } else if ("timestamp".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.DateFindField(FieldInfo.SOURCE_AUTO_SERVICE, "timestamp"); - } else if ("date".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.DateFindField(FieldInfo.SOURCE_AUTO_SERVICE, "date"); - } else if ("time".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.DateFindField(FieldInfo.SOURCE_AUTO_SERVICE, "time"); - } - break; - default: // default to "edit" - if ("text".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.TextField(FieldInfo.SOURCE_AUTO_SERVICE, null); - } else if ("numeric".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.TextField(FieldInfo.SOURCE_AUTO_SERVICE, 6, null, null); - } else if ("timestamp".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.DateTimeField(FieldInfo.SOURCE_AUTO_SERVICE, "timestamp"); - } else if ("date".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.DateTimeField(FieldInfo.SOURCE_AUTO_SERVICE, "date"); - } else if ("time".equals(modelParamFieldType)) { - fieldInfo = new ModelFormField.DateTimeField(FieldInfo.SOURCE_AUTO_SERVICE, "time"); + if ("find".equals(defaultFieldType)) { + if (modelParam.getType().indexOf("Double") != -1 || modelParam.getType().indexOf("Float") != -1 + || modelParam.getType().indexOf("Long") != -1 || modelParam.getType().indexOf("Integer") != -1) { + ModelFormField.RangeFindField textField = new ModelFormField.RangeFindField(FieldInfo.SOURCE_AUTO_SERVICE, 6, + null); + this.setFieldInfo(textField); + } else if (modelParam.getType().indexOf("Timestamp") != -1) { + ModelFormField.DateFindField dateTimeField = new ModelFormField.DateFindField(FieldInfo.SOURCE_AUTO_SERVICE, + "timestamp"); + this.setFieldInfo(dateTimeField); + } else if (modelParam.getType().indexOf("Date") != -1) { + ModelFormField.DateFindField dateTimeField = new ModelFormField.DateFindField(FieldInfo.SOURCE_AUTO_SERVICE, + "date"); + this.setFieldInfo(dateTimeField); + } else if (modelParam.getType().indexOf("Time") != -1) { + ModelFormField.DateFindField dateTimeField = new ModelFormField.DateFindField(FieldInfo.SOURCE_AUTO_SERVICE, + "time"); + this.setFieldInfo(dateTimeField); + } else { + ModelFormField.TextFindField textField = new ModelFormField.TextFindField(FieldInfo.SOURCE_AUTO_SERVICE, null); + this.setFieldInfo(textField); } - } - this.setFieldInfo(fieldInfo); - return fieldInfo != null; - } - - /** - * For a service model parameter type, return the logique field type to use - * If nothing found, return text - * @param modelParamType - * @return - */ - private String computeFieldTypeToUse(String modelParamType) { - final Map<String, String> switchType = Map.of("Double", "numeric", - "Float", "numeric", - "Long", "numeric", - "Integer", "numeric", - "BigDecimal", "numeric", - "Timestamp", "timestamp", - "Date", "date", - "Time", "time"); - String typeToConvert = ""; - if (modelParamType.contains(".")) { - LinkedList<String> splitString = new LinkedList<>(StringUtil.split(modelParamType, ".")); - typeToConvert = splitString.getLast(); + } else if ("display".equals(defaultFieldType)) { + ModelFormField.DisplayField displayField = new ModelFormField.DisplayField(FieldInfo.SOURCE_AUTO_SERVICE, null); + this.setFieldInfo(displayField); } else { - typeToConvert = modelParamType; + // default to "edit" + if (modelParam.getType().indexOf("Double") != -1 || modelParam.getType().indexOf("Float") != -1 + || modelParam.getType().indexOf("Long") != -1 || modelParam.getType().indexOf("Integer") != -1) { + ModelFormField.TextField textField = new ModelFormField.TextField(FieldInfo.SOURCE_AUTO_SERVICE, 6, null, null); + this.setFieldInfo(textField); + } else if (modelParam.getType().indexOf("Timestamp") != -1) { + ModelFormField.DateTimeField dateTimeField = new ModelFormField.DateTimeField(FieldInfo.SOURCE_AUTO_SERVICE, + "timestamp"); + this.setFieldInfo(dateTimeField); + } else if (modelParam.getType().indexOf("Date") != -1) { + ModelFormField.DateTimeField dateTimeField = new ModelFormField.DateTimeField(FieldInfo.SOURCE_AUTO_SERVICE, + "date"); + this.setFieldInfo(dateTimeField); + } else if (modelParam.getType().indexOf("Time") != -1) { + ModelFormField.DateTimeField dateTimeField = new ModelFormField.DateTimeField(FieldInfo.SOURCE_AUTO_SERVICE, + "time"); + this.setFieldInfo(dateTimeField); + } else { + ModelFormField.TextField textField = new ModelFormField.TextField(FieldInfo.SOURCE_AUTO_SERVICE, null); + this.setFieldInfo(textField); + } } - return switchType.containsKey(typeToConvert) ? switchType.get(typeToConvert) : "text"; + return true; } private boolean induceFieldInfoFromServiceParam(String defaultFieldType, ModelReader entityModelReader,