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,

Reply via email to