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

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


The following commit(s) were added to refs/heads/master by this push:
     new 6184b2c  ISIS-2877: fixes prev. commits
6184b2c is described below

commit 6184b2c625a5f31f12c30f9d519b4954d7683737
Author: Andi Huber <[email protected]>
AuthorDate: Fri Feb 4 13:15:06 2022 +0100

    ISIS-2877: fixes prev. commits
    
    - don't honor jaxb annotations on schema dto types
    
    - also some refactoring arround the _Json utility
---
 .../apache/isis/applib/util/schema/CommonDtoUtils.java   |  8 +-------
 .../isis/applib/value/semantics/ValueDecomposition.java  |  7 ++-----
 .../apache/isis/commons/internal/resources/_Json.java    | 16 ++++++++--------
 .../value/BigDecimalValueSemanticsProviderTest.java      |  2 +-
 .../facets/value/BigIntValueSemanticsProviderTest.java   |  2 +-
 .../facets/value/BlobValueSemanticsProviderTest.java     |  4 ++--
 .../facets/value/BooleanValueSemanticsProviderTest.java  |  2 +-
 .../facets/value/ByteValueSemanticsProviderTest.java     |  2 +-
 .../value/CharacterValueSemanticsProviderTest.java       |  2 +-
 .../facets/value/ClobValueSemanticsProviderTest.java     |  2 +-
 .../facets/value/DoubleValueSemanticsProviderTest.java   |  2 +-
 .../facets/value/FloatValueSemanticsProviderTest.java    |  2 +-
 .../facets/value/IntValueSemanticsProviderTest.java      |  2 +-
 .../value/JavaSqlDateValueSemanticsProviderTest.java     |  9 +++++----
 .../facets/value/JavaTimeValueSemanticsProviderTest.java |  2 +-
 .../facets/value/LongValueSemanticsProviderTest.java     |  2 +-
 .../facets/value/PasswordValueSemanticsProviderTest.java |  2 +-
 .../facets/value/ShortValueSemanticsProviderTest.java    |  2 +-
 .../facets/value/StringValueSemanticsProviderTest.java   |  2 +-
 .../value/ValueSemanticsProviderAbstractTestCase.java    | 12 ++++++------
 .../resources/serialization/SerializationStrategy.java   | 14 +++++---------
 21 files changed, 43 insertions(+), 55 deletions(-)

diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommonDtoUtils.java
 
b/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommonDtoUtils.java
index cc81130..24029ae 100644
--- 
a/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommonDtoUtils.java
+++ 
b/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommonDtoUtils.java
@@ -56,9 +56,6 @@ import org.apache.isis.schema.common.v2.ValueDto;
 import org.apache.isis.schema.common.v2.ValueType;
 import org.apache.isis.schema.common.v2.ValueWithTypeDto;
 
-import static 
org.apache.isis.commons.internal.resources._Json.jaxbAnnotationSupport;
-import static 
org.apache.isis.commons.internal.resources._Json.onlyIncludeNonNull;
-
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
@@ -258,10 +255,7 @@ public final class CommonDtoUtils {
     }
 
     private String dtoToJson(final @Nullable Object dto) {
-        return _Json.toString(
-                dto,
-                jaxbAnnotationSupport(),
-                onlyIncludeNonNull());
+        return _Json.toString(dto);
     }
 
     // -- VALUE RECORD
diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueDecomposition.java
 
b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueDecomposition.java
index f6fc311..5c7934a 100644
--- 
a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueDecomposition.java
+++ 
b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueDecomposition.java
@@ -25,9 +25,6 @@ import org.apache.isis.schema.common.v2.TypedTupleDto;
 import org.apache.isis.schema.common.v2.ValueType;
 import org.apache.isis.schema.common.v2.ValueWithTypeDto;
 
-import static 
org.apache.isis.commons.internal.resources._Json.jaxbAnnotationSupport;
-import static 
org.apache.isis.commons.internal.resources._Json.onlyIncludeNonNull;
-
 public final class ValueDecomposition extends _Either<ValueWithTypeDto, 
TypedTupleDto> {
     private static final long serialVersionUID = 1L;
 
@@ -49,8 +46,8 @@ public final class ValueDecomposition extends 
_Either<ValueWithTypeDto, TypedTup
                 CommonDtoUtils::getFundamentalValueAsJson,
                 composite->_Json.toString(
                         composite,
-                        jaxbAnnotationSupport(),
-                        onlyIncludeNonNull()));
+                        _Json::jaxbAnnotationSupport,
+                        _Json::onlyIncludeNonNull));
     }
 
     // used by EncodableFacet
diff --git 
a/commons/src/main/java/org/apache/isis/commons/internal/resources/_Json.java 
b/commons/src/main/java/org/apache/isis/commons/internal/resources/_Json.java
index 0bf7f40..b9dfc05 100644
--- 
a/commons/src/main/java/org/apache/isis/commons/internal/resources/_Json.java
+++ 
b/commons/src/main/java/org/apache/isis/commons/internal/resources/_Json.java
@@ -211,23 +211,23 @@ public class _Json {
     public static interface JsonCustomizer extends UnaryOperator<ObjectMapper> 
{};
 
     /** enable indentation for the underlying generator */
-    public static JsonCustomizer indentedOutput() {
-        return mapper->mapper.enable(SerializationFeature.INDENT_OUTPUT);
+    public static ObjectMapper indentedOutput(final ObjectMapper mapper) {
+        return mapper.enable(SerializationFeature.INDENT_OUTPUT);
     }
 
     /** only properties with non-null values are to be included */
-    public static JsonCustomizer onlyIncludeNonNull() {
-        return mapper->mapper.setSerializationInclusion(Include.NON_NULL);
+    public static ObjectMapper onlyIncludeNonNull(final ObjectMapper mapper) {
+        return mapper.setSerializationInclusion(Include.NON_NULL);
     }
 
     /** add support for JAXB annotations */
-    public static JsonCustomizer jaxbAnnotationSupport() {
-        return mapper->mapper.registerModule(new JaxbAnnotationModule());
+    public static ObjectMapper jaxbAnnotationSupport(final ObjectMapper 
mapper) {
+        return mapper.registerModule(new JaxbAnnotationModule());
     }
 
     /** when arrays or map, only non-null values are to be included */
-    public static JsonCustomizer onlyIncludeNonNullWhenNonScalar() {
-        return mapper->mapper
+    public static ObjectMapper onlyIncludeNonNullWhenNonScalar(final 
ObjectMapper mapper) {
+        return mapper
                 .disable(SerializationFeature.WRITE_NULL_MAP_VALUES) // 
doesn't seem to work...
                 .disable(SerializationFeature.WRITE_EMPTY_JSON_ARRAYS);
     }
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
index 2fecf4d..3710bd0 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
@@ -30,7 +30,7 @@ import 
org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.core.metamodel.valuesemantics.BigDecimalValueSemantics;
 
 public class BigDecimalValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<BigDecimal> {
 
     private BigDecimalValueSemantics value;
     private BigDecimal bigDecimal;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
index 6a3d99c..01c17c6 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
@@ -30,7 +30,7 @@ import 
org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.core.metamodel.valuesemantics.BigIntegerValueSemantics;
 
 public class BigIntValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<BigInteger> {
 
     private BigIntegerValueSemantics value;
     private BigInteger bigInt;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BlobValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BlobValueSemanticsProviderTest.java
index b48e132..b410232 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BlobValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BlobValueSemanticsProviderTest.java
@@ -30,7 +30,7 @@ import 
org.apache.isis.core.metamodel.facets.object.value.ValueSerializer.Format
 import org.apache.isis.core.metamodel.valuesemantics.BlobValueSemantics;
 
 public class BlobValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Blob> {
 
     private Blob blob;
 
@@ -54,7 +54,7 @@ extends ValueSemanticsProviderAbstractTestCase {
         assertEquals(
                 
"{\"name\":\"myfile1.docx\",\"mimeType\":\"application/vnd.ms-word\",\"bytes\":\"AQIDBA==\"}",
                 encoded);
-        Blob decoded = (Blob) 
getValueSerializer().fromEncodedString(Format.JSON, encoded);
+        Blob decoded = getValueSerializer().fromEncodedString(Format.JSON, 
encoded);
         assertThat(decoded.getName(), is("myfile1.docx"));
         assertThat(decoded.getMimeType().getPrimaryType(), is("application"));
         assertThat(decoded.getMimeType().getSubType(), is("vnd.ms-word"));
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
index 4d7fc20..3de93c3 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
@@ -29,7 +29,7 @@ import 
org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
 import org.apache.isis.core.metamodel.valuesemantics.BooleanValueSemantics;
 
 public class BooleanValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Boolean> {
 
     private BooleanValueSemantics value;
 
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
index dba5213..4bf071c 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
@@ -28,7 +28,7 @@ import 
org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.core.metamodel.valuesemantics.ByteValueSemantics;
 
 public class ByteValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Byte> {
 
     private ByteValueSemantics value;
 
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/CharacterValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/CharacterValueSemanticsProviderTest.java
index a2dabda..5c23880 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/CharacterValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/CharacterValueSemanticsProviderTest.java
@@ -29,7 +29,7 @@ import 
org.apache.isis.applib.value.semantics.ValueDecomposition;
 import org.apache.isis.core.metamodel.valuesemantics.CharacterValueSemantics;
 
 public class CharacterValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Character> {
 
     private CharacterValueSemantics valueSemantics;
 
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ClobValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ClobValueSemanticsProviderTest.java
index 93741ba..c34c959 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ClobValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ClobValueSemanticsProviderTest.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.value.Clob;
 import org.apache.isis.core.metamodel.valuesemantics.ClobValueSemantics;
 
 public class ClobValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Clob> {
 
     private ClobValueSemantics value;
     private Clob clob;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
index a181bf8..b421cef 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
@@ -28,7 +28,7 @@ import 
org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.core.metamodel.valuesemantics.DoubleValueSemantics;
 
 public class DoubleValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Double> {
 
     private DoubleValueSemantics value;
     private Double doubleObj;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
index 3be425d..8d26187 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
@@ -28,7 +28,7 @@ import 
org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.core.metamodel.valuesemantics.FloatValueSemantics;
 
 public class FloatValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Float> {
 
     private FloatValueSemantics value;
     private Float float1;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
index 47c813c..5e5a44b 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
@@ -28,7 +28,7 @@ import 
org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.core.metamodel.valuesemantics.IntValueSemantics;
 
 public class IntValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Integer> {
 
     private IntValueSemantics value;
     private Integer integer;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
index 34115a0..7572aab 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
@@ -26,17 +26,18 @@ import java.time.LocalDate;
 import org.junit.Before;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 import org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
 import 
org.apache.isis.core.metamodel.valuesemantics.temporal.LocalDateValueSemantics;
 import 
org.apache.isis.core.metamodel.valuesemantics.temporal.legacy.JavaSqlDateValueSemantics;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
 import lombok.val;
 
-public class JavaSqlDateValueSemanticsProviderTest extends 
ValueSemanticsProviderAbstractTestCase {
+public class JavaSqlDateValueSemanticsProviderTest
+extends ValueSemanticsProviderAbstractTestCase<Date> {
 
     private JavaSqlDateValueSemantics value;
     private Date date;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
index ed856f1..71a8ec5 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
@@ -44,7 +44,7 @@ import lombok.val;
  * Testing the LocalDateTimeValueSemantics under the hood.
  */
 public class JavaTimeValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<java.util.Date> {
 
     @SuppressWarnings("deprecation")
     private final java.util.Date date = new java.util.Date(2013-1900, 03-1, 
13, 17, 59, 03);
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
index 772c1f9..f8e948c 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
@@ -28,7 +28,7 @@ import 
org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.core.metamodel.valuesemantics.LongValueSemantics;
 
 public class LongValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Long> {
 
     private LongValueSemantics value;
 
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/PasswordValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/PasswordValueSemanticsProviderTest.java
index ebe64b3..8041092 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/PasswordValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/PasswordValueSemanticsProviderTest.java
@@ -28,7 +28,7 @@ import 
org.apache.isis.applib.value.semantics.ValueDecomposition;
 import org.apache.isis.core.metamodel.valuesemantics.PasswordValueSemantics;
 
 public class PasswordValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Password> {
 
     private PasswordValueSemantics valueSemantics;
     private Password password;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
index 15ba999..8185f73 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
@@ -28,7 +28,7 @@ import 
org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
 import org.apache.isis.core.metamodel.valuesemantics.ShortValueSemantics;
 
 public class ShortValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<Short> {
 
     private ShortValueSemantics value;
     private Short short1;
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/StringValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/StringValueSemanticsProviderTest.java
index 17a1c60..21fb3b2 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/StringValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/StringValueSemanticsProviderTest.java
@@ -26,7 +26,7 @@ import static org.junit.Assert.assertEquals;
 import org.apache.isis.core.metamodel.valuesemantics.StringValueSemantics;
 
 public class StringValueSemanticsProviderTest
-extends ValueSemanticsProviderAbstractTestCase {
+extends ValueSemanticsProviderAbstractTestCase<String> {
 
     private StringValueSemantics value;
 
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
index 1ddc1b2..42c996c 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
@@ -51,7 +51,7 @@ import 
org.apache.isis.core.metamodel.valuesemantics.StringValueSemantics;
 
 import lombok.Getter;
 
-public abstract class ValueSemanticsProviderAbstractTestCase {
+public abstract class ValueSemanticsProviderAbstractTestCase<T> {
 
     @Rule
     public JUnitRuleMockery2 context = 
JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
@@ -61,8 +61,8 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
 
     protected MetaModelContext metaModelContext;
 
-    @Getter private ValueSemanticsProvider<?> semantics;
-    @Getter private ValueSerializer valueSerializer;
+    @Getter private ValueSemanticsProvider<T> semantics;
+    @Getter private ValueSerializer<T> valueSerializer;
 
     @Before
     public void setUp() throws Exception {
@@ -94,7 +94,7 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
         });
     }
 
-    protected void setSemantics(final ValueSemanticsAbstract<?> 
valueSemantics) {
+    protected void setSemantics(final ValueSemanticsAbstract<T> 
valueSemantics) {
         this.semantics = valueSemantics;
         this.valueSerializer = ValueSerializerDefault
                 .forSemantics(valueSemantics);
@@ -104,11 +104,11 @@ public abstract class 
ValueSemanticsProviderAbstractTestCase {
         return mockAdapter;
     }
 
-    protected Parser getParser() {
+    protected Parser<T> getParser() {
         return semantics.getParser();
     }
 
-    protected Renderer getRenderer() {
+    protected Renderer<T> getRenderer() {
         return semantics.getRenderer();
     }
 
diff --git 
a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/serialization/SerializationStrategy.java
 
b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/serialization/SerializationStrategy.java
index 58d1cb5..cb00845 100644
--- 
a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/serialization/SerializationStrategy.java
+++ 
b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/serialization/SerializationStrategy.java
@@ -25,10 +25,6 @@ import javax.ws.rs.core.MediaType;
 import org.apache.isis.commons.internal.resources._Json;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
 
-import static org.apache.isis.commons.internal.resources._Json.indentedOutput;
-import static 
org.apache.isis.commons.internal.resources._Json.jaxbAnnotationSupport;
-import static 
org.apache.isis.commons.internal.resources._Json.onlyIncludeNonNullWhenNonScalar;
-
 public enum SerializationStrategy {
 
     XML {
@@ -42,8 +38,8 @@ public enum SerializationStrategy {
         @Override public Object entity(final Object jaxbAnnotatedObject) {
             return _Json.toString(
                     jaxbAnnotatedObject,
-                    jaxbAnnotationSupport(),
-                    onlyIncludeNonNullWhenNonScalar());
+                    _Json::jaxbAnnotationSupport,
+                    _Json::onlyIncludeNonNullWhenNonScalar);
         }
 
     },
@@ -52,9 +48,9 @@ public enum SerializationStrategy {
         @Override public Object entity(final Object jaxbAnnotatedObject) {
             return _Json.toString(
                     jaxbAnnotatedObject,
-                    jaxbAnnotationSupport(),
-                    onlyIncludeNonNullWhenNonScalar(),
-                    indentedOutput());
+                    _Json::jaxbAnnotationSupport,
+                    _Json::onlyIncludeNonNullWhenNonScalar,
+                    _Json::indentedOutput);
         }
 
     },

Reply via email to