You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by nm...@apache.org on 2022/02/03 10:07:47 UTC

[ofbiz-framework] branch trunk updated (884864b -> c6e44d1)

This is an automated email from the ASF dual-hosted git repository.

nmalin pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git.


    from 884864b  Improved: no functional change, adds a BuildBot badge (INFRA-22807)
     new 850a32d  Reverted: Improved: no functional change, adds a BuildBot badge (INFRA-22807)
     new c6e44d1  Fixed: Attribute default-field-type hidden doesn't work for auto-fields-service element (OFBIZ-12555)

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.adoc                                        |   1 -
 .../ofbiz/widget/model/ModelFormFieldBuilder.java  | 107 ++++++++++++---------
 2 files changed, 61 insertions(+), 47 deletions(-)

[ofbiz-framework] 02/02: Fixed: Attribute default-field-type hidden doesn't work for auto-fields-service element (OFBIZ-12555)

Posted by nm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nmalin pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git

commit c6e44d143fcd96f58801aeec7b3894c5fe809401
Author: Nicolas Malin <ni...@nereide.fr>
AuthorDate: Thu Feb 3 09:57:06 2022 +0100

    Fixed: Attribute default-field-type hidden doesn't work for auto-fields-service element (OFBIZ-12555)
    
    Fix the compilation error on build bot that not support java11, downgrade the code to java8
---
 .../main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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..2501af1 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
@@ -900,7 +900,7 @@ public class ModelFormFieldBuilder {
      * @return
      */
     private String computeFieldTypeToUse(String modelParamType) {
-        final Map<String, String> switchType = Map.of("Double", "numeric",
+        final Map<String, String> switchType = UtilMisc.toMap("Double", "numeric",
                 "Float", "numeric",
                 "Long", "numeric",
                 "Integer", "numeric",

[ofbiz-framework] 01/02: Reverted: Improved: no functional change, adds a BuildBot badge (INFRA-22807)

Posted by nm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nmalin pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git

commit 850a32df172a636c019c2549884d11d1fee58edf
Author: Nicolas Malin <ni...@nereide.fr>
AuthorDate: Thu Feb 3 10:44:12 2022 +0100

    Reverted: Improved: no functional change, adds a BuildBot badge (INFRA-22807)
    
    This reverts commit 884864b07ffaa0c6eae79c52d2a37717f1aa5b1e that contains a revert error of 9ea7afe97af4e23a5b5694961cc482d653db08b7
---
 README.adoc                                        |   1 -
 .../ofbiz/widget/model/ModelFormFieldBuilder.java  | 107 ++++++++++++---------
 2 files changed, 61 insertions(+), 47 deletions(-)

diff --git a/README.adoc b/README.adoc
index 2d24417..d18f10d 100644
--- a/README.adoc
+++ b/README.adoc
@@ -22,7 +22,6 @@ 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 d01a8e6..cfbefab 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,10 +20,12 @@ 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;
@@ -852,55 +854,68 @@ public class ModelFormFieldBuilder {
         }
         this.serviceName = modelService.getName();
         this.attributeName = modelParam.getName();
-        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);
+        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");
             }
-        } else if ("display".equals(defaultFieldType)) {
-            ModelFormField.DisplayField displayField = new ModelFormField.DisplayField(FieldInfo.SOURCE_AUTO_SERVICE, null);
-            this.setFieldInfo(displayField);
-        } else {
-            // 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);
+            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");
             }
         }
-        return true;
+        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 {
+            typeToConvert = modelParamType;
+        }
+        return switchType.containsKey(typeToConvert) ? switchType.get(typeToConvert) : "text";
     }
 
     private boolean induceFieldInfoFromServiceParam(String defaultFieldType, ModelReader entityModelReader,