You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2020/01/17 01:11:41 UTC

[isis] 05/36: ISIS-2264: isis.value.format["int"] -> isis.value-types.java-math.big-integer.format or isis.value-types.primitives.integer.format

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

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 3ca9f15384046080b1328ae22bac59c90b9a12e8
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 16 22:56:55 2020 +0100

    ISIS-2264: isis.value.format["int"] -> isis.value-types.java-math.big-integer.format or isis.value-types.primitives.integer.format
---
 .../modules/mignotes/pages/migrating-to-2.0.0.adoc |  6 +++
 .../apache/isis/core/config/IsisConfiguration.java | 49 +++++++++++++++++++++-
 .../BigIntegerValueSemanticsProvider.java          |  3 +-
 .../integer/IntValueSemanticsProviderAbstract.java |  2 +-
 .../isis/testing/specsupport/applib/specs/V.java   |  2 +-
 5 files changed, 56 insertions(+), 6 deletions(-)

diff --git a/antora/components/toc/modules/mignotes/pages/migrating-to-2.0.0.adoc b/antora/components/toc/modules/mignotes/pages/migrating-to-2.0.0.adoc
index e28a3cc..bc079c6 100644
--- a/antora/components/toc/modules/mignotes/pages/migrating-to-2.0.0.adoc
+++ b/antora/components/toc/modules/mignotes/pages/migrating-to-2.0.0.adoc
@@ -617,6 +617,12 @@ standalone-collection.bulk-load
 |isis.timezone
 |isis.core.runtime.timezone
 
+|isis.value.format["int"]
+|isis.value-types. +
+{nbsp}{nbsp}java-math.big-integer.format +
+
+isis.value-types. +
+{nbsp}{nbsp}primitives.integer.format
 
 |
 |
diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 64f60b1..a50eaab 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -1164,12 +1164,57 @@ public class IsisConfiguration {
         }
     }
 
+    private final ValueTypes valueTypes = new ValueTypes();
+    @Data
+    public static class ValueTypes {
+
+        private final Primitives primitives = new Primitives();
+        @Data
+        public static class Primitives {
+
+            private final Integer integer = new Integer();
+            @Data
+            public static class Integer {
+                private String format;
+            }
+        }
+
+        private final JavaMath javaMath = new JavaMath();
+        @Data
+        public static class JavaMath {
+            private final BigInteger bigInteger = new BigInteger();
+            @Data
+            public static class BigInteger {
+                private String format;
+            }
+        }
+
+        private final JavaTime javaTime = new JavaTime();
+        @Data
+        public static class JavaTime {
+
+        }
+
+        private final JavaUtil javaUtil = new JavaUtil();
+        @Data
+        public static class JavaUtil {
+
+        }
+
+        private final Joda joda = new Joda();
+        @Data
+        public static class Joda {
+
+        }
+
+
+    }
 
     //TODO no meta data yet ... https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-configuration-metadata.html#configuration-metadata-property-attributes
     private final Value value = new Value();
     @Data
     public static class Value {
-        
+
         private Map<String, String> format = new HashMap<>();
         
         public enum FormatIdentifier {
@@ -1196,7 +1241,7 @@ public class IsisConfiguration {
             TIMESTAMP, 
             TIME,
             
-            INT, DECIMAL, BYTE, DOUBLE, FLOAT, LONG, SHORT, 
+            DECIMAL, BYTE, DOUBLE, FLOAT, LONG, SHORT,
             PERCENTAGE
         }
         
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java
index b1439a8..2a2af9c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java
@@ -27,7 +27,6 @@ import java.util.Map;
 
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.core.config.IsisConfiguration.Value.FormatIdentifier;
 import org.apache.isis.core.metamodel.commons.LocaleUtil;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -58,7 +57,7 @@ public class BigIntegerValueSemanticsProvider extends ValueSemanticsProviderAndF
     public BigIntegerValueSemanticsProvider(final FacetHolder holder) {
 
         super(type(), holder, BigInteger.class, TYPICAL_LENGTH, -1, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE);
-        final String formatRequired = getConfiguration().getValue().getFormat().get("int");
+        final String formatRequired = getConfiguration().getValueTypes().getJavaMath().getBigInteger().getFormat();
 
         NumberFormat result;
         if (formatRequired != null) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java
index c18e7f7..df43fad 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java
@@ -48,7 +48,7 @@ public abstract class IntValueSemanticsProviderAbstract extends ValueSemanticsPr
 
     public IntValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Integer> adaptedClass) {
         super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE);
-        final String formatRequired = getConfiguration().getValue().getFormat().get("int");
+        final String formatRequired = getConfiguration().getValueTypes().getPrimitives().getInteger().getFormat();
 
         NumberFormat result;
         if (formatRequired != null) {
diff --git a/testing/specsupport/applib/src/main/java/org/apache/isis/testing/specsupport/applib/specs/V.java b/testing/specsupport/applib/src/main/java/org/apache/isis/testing/specsupport/applib/specs/V.java
index 9d42e46..8e50eb5 100644
--- a/testing/specsupport/applib/src/main/java/org/apache/isis/testing/specsupport/applib/specs/V.java
+++ b/testing/specsupport/applib/src/main/java/org/apache/isis/testing/specsupport/applib/specs/V.java
@@ -159,7 +159,7 @@ public class V {
     }
 
     /**
-     * Converts {@link java.lang.String}s to {@link java.lang.BigInteger}, but also recognizing the
+     * Converts {@link java.lang.String}s to {@link java.math.BigInteger}, but also recognizing the
      * keyword 'null'.
      */
     public static class BigInteger extends Transformer<java.math.BigInteger> {