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:43 UTC
[isis] 07/36: ISIS-2264: isis.value.format["byte"] ->
isis.value-types.java-lang.byte.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 417213d14b74b35c6c071b262ad62664e9490cb1
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 16 23:13:11 2020 +0100
ISIS-2264: isis.value.format["byte"] -> isis.value-types.java-lang.byte.format
also renames isis.value-types.primitives.integer -> ...int
---
.../toc/modules/mignotes/pages/migrating-to-2.0.0.adoc | 6 +++++-
.../org/apache/isis/core/config/IsisConfiguration.java | 18 +++++++++++++++---
.../additional-spring-configuration-metadata.json | 8 ++++++++
.../bytes/ByteValueSemanticsProviderAbstract.java | 9 ++++++++-
.../integer/IntValueSemanticsProviderAbstract.java | 2 +-
5 files changed, 37 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 efed8eb..8680ff9 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
@@ -622,12 +622,16 @@ standalone-collection.bulk-load
{nbsp}{nbsp}java-math.big-integer.format +
isis.value-types. +
-{nbsp}{nbsp}primitives.integer.format
+{nbsp}{nbsp}primitives.int.format
|isis.value.format["decimal"]
|isis.value-types. +
{nbsp}{nbsp}java-math.big-decimal.format
+|isis.value.format["byte"]
+|isis.value-types. +
+{nbsp}{nbsp}java-lang.byte.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 8f2bfbd..66ab13c 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
@@ -1172,9 +1172,21 @@ public class IsisConfiguration {
@Data
public static class Primitives {
- private final Integer integer = new Integer();
+ // capitalized to avoid clash with keyword
+ private final Int Int = new Int();
@Data
- public static class Integer {
+ public static class Int {
+ private String format;
+ }
+ }
+
+ private final JavaLang javaLang = new JavaLang();
+ @Data
+ public static class JavaLang {
+ // capitalized to avoid clash with keyword
+ private final Byte Byte = new Byte();
+ @Data
+ public static class Byte {
private String format;
}
}
@@ -1247,7 +1259,7 @@ public class IsisConfiguration {
TIMESTAMP,
TIME,
- BYTE, DOUBLE, FLOAT, LONG, SHORT,
+ DOUBLE, FLOAT, LONG, SHORT,
PERCENTAGE
}
diff --git a/core/config/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/core/config/src/main/resources/META-INF/additional-spring-configuration-metadata.json
index faa68e6..fd56d0c 100644
--- a/core/config/src/main/resources/META-INF/additional-spring-configuration-metadata.json
+++ b/core/config/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -1,6 +1,14 @@
{
"properties": [
{
+ "name": "isis.value-types.primitives.integer.format",
+ "type": "java.lang.String"
+ },
+ {
+ "name": "isis.value-types.java-lang.byte.format",
+ "type": "java.lang.String"
+ },
+ {
"name": "isis.persistence.jdo-datanucleus.impl.datanucleus.ConnectionFactoryName"
},
{
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java
index 1cd1bab..75471db 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java
@@ -22,9 +22,11 @@ package org.apache.isis.core.metamodel.facets.value.bytes;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
+import java.util.Locale;
import java.util.Map;
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;
import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
@@ -47,9 +49,14 @@ implements ByteValueFacet {
public ByteValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Byte> adaptedClass) {
super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE);
- format = determineNumberFormat(FormatIdentifier.BYTE);
+ final String formatRequired = getConfiguration().getValueTypes().getJavaLang().getByte().getFormat();
+
+ format = formatRequired != null
+ ? new DecimalFormat(formatRequired)
+ : NumberFormat.getNumberInstance(getConfiguration().getCore().getRuntime().getLocale().map(LocaleUtil::findLocale).orElse(Locale.getDefault()));
}
+
// //////////////////////////////////////////////////////////////////
// Parser
// //////////////////////////////////////////////////////////////////
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 df43fad..af31781 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().getValueTypes().getPrimitives().getInteger().getFormat();
+ final String formatRequired = getConfiguration().getValueTypes().getPrimitives().getInt().getFormat();
NumberFormat result;
if (formatRequired != null) {