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:47 UTC
[isis] 11/36: ISIS-2264: isis.value.format["short"] ->
isis.value-types.}java-lang.short.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 ce64ae115f4c2342bd65d5d4dba3b034b39a0c1b
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 16 23:24:18 2020 +0100
ISIS-2264: isis.value.format["short"] -> isis.value-types.}java-lang.short.format
---
.../toc/modules/mignotes/pages/migrating-to-2.0.0.adoc | 4 ++++
.../java/org/apache/isis/core/config/IsisConfiguration.java | 8 +++++++-
.../value/shortint/ShortValueSemanticsProviderAbstract.java | 11 ++++++++++-
3 files changed, 21 insertions(+), 2 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 00c693c..77b9f50 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
@@ -644,6 +644,10 @@ isis.value-types. +
|isis.value-types. +
{nbsp}{nbsp}java-lang.long.format
+|isis.value.format["short"]
+|isis.value-types. +
+{nbsp}{nbsp}java-lang.short.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 41871d4..f32a5ec 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
@@ -1211,6 +1211,13 @@ public class IsisConfiguration {
public static class Long {
private String format;
}
+
+ // capitalized to avoid clash with keyword
+ private final Short Short = new Short();
+ @Data
+ public static class Short {
+ private String format;
+ }
}
private final JavaMath javaMath = new JavaMath();
@@ -1281,7 +1288,6 @@ public class IsisConfiguration {
TIMESTAMP,
TIME,
- SHORT,
PERCENTAGE
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java
index 2f93955..c129892 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java
@@ -22,9 +22,11 @@ package org.apache.isis.core.metamodel.facets.value.shortint;
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;
@@ -46,7 +48,14 @@ public class ShortValueSemanticsProviderAbstract extends ValueSemanticsProviderA
public ShortValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Short> adaptedClass) {
super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE);
- format = determineNumberFormat(FormatIdentifier.SHORT);
+ format = xdetermineNumberFormat();
+ }
+ protected NumberFormat xdetermineNumberFormat() {
+ final String formatRequired = getConfiguration().getValue().getFormat().get("short");
+
+ return formatRequired != null
+ ? new DecimalFormat(formatRequired)
+ : NumberFormat.getNumberInstance(getConfiguration().getCore().getRuntime().getLocale().map(LocaleUtil::findLocale).orElse(Locale.getDefault()));
}
// //////////////////////////////////////////////////////////////////