You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/09/14 16:36:15 UTC
[isis] branch master updated: ISIS-2871: AsciiDoc value edit fixes
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 efabec3 ISIS-2871: AsciiDoc value edit fixes
efabec3 is described below
commit efabec3fb0ad4ed374c66b5ca2090db15ce52def
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Sep 14 18:36:03 2021 +0200
ISIS-2871: AsciiDoc value edit fixes
---
.../org/apache/isis/applib/adapters/Parser.java | 54 +++++------
.../facets/object/parseable/ParseableFacet.java | 2 +-
.../object/parseable/ParseableFacetAbstract.java | 4 +-
.../parser/ParseableFacetUsingParser.java | 23 +++--
.../object/title/parser/TitleFacetUsingParser.java | 27 +++---
.../ValueSemanticsProviderAndFacetAbstract.java | 30 +++---
.../core/metamodel/util/snapshot/XmlSnapshot.java | 2 +-
.../parseable/ParseableFacetUsingParserTest.java | 16 ++--
...eFacetAnnotationOrConfigurationFactoryTest.java | 39 +++-----
.../BigDecimalValueSemanticsProviderTest.java | 6 +-
.../value/BigIntValueSemanticsProviderTest.java | 6 +-
.../value/BlobValueSemanticsProviderTest.java | 2 +-
.../value/BooleanValueSemanticsProviderTest.java | 12 +--
.../value/ByteValueSemanticsProviderTest.java | 6 +-
.../value/CharacterValueSemanticsProviderTest.java | 6 +-
.../value/ClobValueSemanticsProviderTest.java | 2 +-
.../value/DoubleValueSemanticsProviderTest.java | 10 +-
.../value/FloatValueSemanticsProviderTest.java | 8 +-
.../value/IntValueSemanticsProviderTest.java | 8 +-
.../JavaSqlDateValueSemanticsProviderTest.java | 6 +-
.../JavaUtilDateValueSemanticsProviderTest.java | 6 +-
.../value/LongValueSemanticsProviderTest.java | 8 +-
.../value/ShortValueSemanticsProviderTest.java | 10 +-
.../value/StringValueSemanticsProviderTest.java | 4 +-
.../ValueSemanticsProviderAbstractTestCase.java | 8 +-
.../dom/_infra/LibraryPreloadingService.java | 5 +-
.../HasAsciiDocDescription_sources.java | 2 +-
.../_infra/resources/AsciiDocReaderService.java | 2 +-
.../jdo/ComplexNumberJdoValueSemantics.java | 16 ++--
.../jpa/ComplexNumberJpaValueSemantics.java | 16 ++--
.../isis/testdomain/rest/CorsFilterTest.java | 58 ++++++------
.../testdomain/rest/DomainObjectResourceTest.java | 22 ++---
.../asciidoc/applib/jaxb/AsciiDocJaxbAdapter.java | 2 +-
.../valuetypes/asciidoc/applib/value/AsciiDoc.java | 9 +-
.../metamodel/facets/AsciiDocValueFacet.java | 29 ------
.../facets/AsciiDocValueSemanticsProvider.java | 102 ---------------------
.../semantics/AsciiDocValueSemanticsProvider.java | 77 ++++++++++++++++
.../asciidoc/metamodel/semantics/Converter.java | 96 +++++++++++++++++++
.../jdo/dn5/converters/IsisAsciiDocConverter.java | 2 +-
.../jpa/converters/IsisAsciiDocConverter.java | 2 +-
.../wkt/components/AsciiDocForXmlComponentWkt.java | 22 ++---
.../binding/NumberConverterForStringComponent.java | 14 +--
.../TemporalConverterForLocalDateComponent.java | 16 ++--
.../viewer/wicket/model/models/ScalarModel.java | 11 ++-
44 files changed, 413 insertions(+), 395 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
index d549b1c..21865e6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
@@ -18,6 +18,11 @@
*/
package org.apache.isis.applib.adapters;
+import org.apache.isis.applib.Identifier;
+import org.apache.isis.applib.services.iactnlayer.InteractionContext;
+
+import lombok.Value;
+
/**
* Provides a mechanism for parsing and rendering string representations of
* objects.
@@ -40,9 +45,9 @@ package org.apache.isis.applib.adapters;
* than having the framework do this).
*
* <p>
- * For third-party value types,
- * eg see <a href="http://timeandmoney.sourceforge.net/">Time-and-Money</a>
- * there is no ability to write <tt>title()</tt> methods;
+ * For third-party value types,
+ * eg see <a href="http://timeandmoney.sourceforge.net/">Time-and-Money</a>
+ * there is no ability to write <tt>title()</tt> methods;
* so this is the main reason that this
* interface has to deal with titles and lengths.
*
@@ -69,35 +74,20 @@ package org.apache.isis.applib.adapters;
*/
public interface Parser<T> {
- /**
- * Parses a string to an instance of the object.
- *
- * <p>
- * Note that here the implementing class is acting as a factory for itself.
- * @param contextPojo
- * - the context domain object for which the text is being
- * parsed. For example +3 might mean add 3 to the current number.
- */
- T parseTextEntry(Object contextPojo, String entry);
-
- /**
- * The typical length of objects that can be parsed.
- */
- int typicalLength();
-
- /**
- * The title of the object.
- */
- String displayTitleOf(T object);
+ @Value(staticConstructor = "of")
+ static class Context {
+ Identifier identifier;
+ InteractionContext interactionContext;
+ }
/**
- * The title of the object using a mask.
+ * The value in its read-only presentation form, eg. html. (irreversible)
*/
- String displayTitleOf(T object, String usingMask);
+ String presentationValue(Context context, T value);
/**
* A title for the object that is valid but which may be easier to edit than
- * the title provided by a <code>TitleFacet</code>.
+ * the title provided by a <code>TitleFacet</code>. (bijective)
*
* <p>
* The idea here is that the viewer can display a parseable title for an
@@ -105,7 +95,17 @@ public interface Parser<T> {
* field. So, a date might be rendered via a <code>TitleFacet</code> as
* <tt>May 2, 2007</tt>, but its editable form might be <tt>20070502</tt>.
*/
- String parseableTitleOf(T existing);
+ String parseableTextRepresentation(Context context, T value);
+
+ /**
+ * Parses a string to an instance of the object. (bijective)
+ */
+ T parseTextRepresentation(Context context, String text);
+
+ /**
+ * The typical length of objects that can be parsed.
+ */
+ int typicalLength();
/**
* The max length of objects that can be parsed (if any).
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacet.java
index 8c50ca1..d0c9f40 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacet.java
@@ -50,5 +50,5 @@ public interface ParseableFacet extends Facet {
* field. So, a date might be rendered via a {@link TitleFacet} as
* <tt>May 2, 2007</tt>, but its parseable form might be <tt>20070502</tt>.
*/
- String parseableTitle(ManagedObject obj);
+ String parseableTextRepresentation(ManagedObject obj);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java
index d1f0e84..7e1d014 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAbstract.java
@@ -88,7 +88,7 @@ implements ParseableFacet {
}
@Override
- public String parseableTitle(final ManagedObject existing) {
- return parseableFacetUsingParser.parseableTitle(existing);
+ public String parseableTextRepresentation(final ManagedObject existing) {
+ return parseableFacetUsingParser.parseableTextRepresentation(existing);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
index ae473f0..21fcad4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/parser/ParseableFacetUsingParser.java
@@ -21,6 +21,8 @@ package org.apache.isis.core.metamodel.facets.object.parseable.parser;
import java.util.IllegalFormatException;
import java.util.function.BiConsumer;
+import org.springframework.lang.Nullable;
+
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.adapters.Parser;
import org.apache.isis.applib.adapters.ParsingException;
@@ -30,6 +32,7 @@ import org.apache.isis.core.metamodel.consent.InteractionResultSet;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderAbstract;
import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
@@ -79,7 +82,7 @@ implements ParseableFacet {
@Override
public ManagedObject parseTextEntry(
- final ManagedObject contextAdapter,
+ final @Nullable ManagedObject contextAdapter,
final String entry,
final InteractionInitiatedBy interactionInitiatedBy) {
@@ -101,10 +104,8 @@ implements ParseableFacet {
validate(parseValueContext);
}
- final Object context = UnwrapUtil.single(contextAdapter);
-
try {
- final Object parsed = parser.parseTextEntry(context, entry);
+ final Object parsed = parser.parseTextRepresentation(parserContext(), entry);
if (parsed == null) {
return null;
}
@@ -138,10 +139,20 @@ implements ParseableFacet {
*/
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
- public String parseableTitle(final ManagedObject contextAdapter) {
+ public String parseableTextRepresentation(final ManagedObject contextAdapter) {
final Object pojo = UnwrapUtil.single(contextAdapter);
- return ((Parser)parser).parseableTitleOf(pojo);
+ return ((Parser)parser).parseableTextRepresentation(parserContext(), pojo);
+ }
+
+ private Parser.Context parserContext() {
+ val iaProvider = super.getInteractionProvider();
+ if(iaProvider==null) {
+ return null; // JUnit context
+ }
+ return Parser.Context.of(
+ ((FacetHolderAbstract)getFacetHolder()).getFeatureIdentifier(),
+ iaProvider.currentInteractionContext().orElse(null));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetUsingParser.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetUsingParser.java
index 552f01a..e9e7f98 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetUsingParser.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetUsingParser.java
@@ -25,10 +25,12 @@ import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderAbstract;
import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import lombok.NonNull;
+import lombok.val;
public final class TitleFacetUsingParser
extends FacetAbstract
@@ -61,21 +63,7 @@ implements TitleFacet {
if (object == null) {
return null;
}
- return parser.displayTitleOf(_Casts.uncheckedCast(object));
- }
-
- /**
- * not API
- */
- public String title(final ManagedObject adapter, final String usingMask) {
- if (adapter == null) {
- return null;
- }
- final Object object = adapter.getPojo();
- if (object == null) {
- return null;
- }
- return parser.displayTitleOf(_Casts.uncheckedCast(object), usingMask);
+ return parser.presentationValue(parserContext(), _Casts.uncheckedCast(object));
}
@Override
@@ -84,5 +72,14 @@ implements TitleFacet {
visitor.accept("parser", parser.toString());
}
+ private Parser.Context parserContext() {
+ val iaProvider = super.getInteractionProvider();
+ if(iaProvider==null) {
+ return null; // JUnit context
+ }
+ return Parser.Context.of(
+ ((FacetHolderAbstract)getFacetHolder()).getFeatureIdentifier(),
+ iaProvider.currentInteractionContext().orElse(null));
+ }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java
index 4d2578a..1d96ea5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java
@@ -49,7 +49,7 @@ implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProv
IMMUTABLE,
NOT_IMMUTABLE;
- public static Immutability of(boolean immutable) {
+ public static Immutability of(final boolean immutable) {
return immutable? IMMUTABLE: NOT_IMMUTABLE;
}
}
@@ -58,7 +58,7 @@ implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProv
HONOURED,
NOT_HONOURED;
- public static EqualByContent of(boolean equalByContent) {
+ public static EqualByContent of(final boolean equalByContent) {
return equalByContent? HONOURED: NOT_HONOURED;
}
}
@@ -137,7 +137,7 @@ implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProv
// ///////////////////////////////////////////////////////////////////////////
@Override
- public T parseTextEntry(final Object context, final String entry) {
+ public T parseTextRepresentation(final Parser.Context context, final String entry) {
if (entry == null) {
throw new IllegalArgumentException();
}
@@ -151,9 +151,9 @@ implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProv
return doParse(context, entry);
}
- public Optional<Exception> tryParseTextEntry(final Object context, final String entry) {
+ public Optional<Exception> tryParseTextEntry(final Parser.Context context, final String entry) {
try {
- parseTextEntry(context, entry);
+ parseTextRepresentation(context, entry);
} catch (Exception e) {
return Optional.of(e);
}
@@ -167,12 +167,12 @@ implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProv
* - the proposed new object, as a string representation to be
* parsed
*/
- protected T doParse(Object context, String entry) {
+ protected T doParse(final Object context, final String entry) {
return doParse(entry, context);
}
// REVIEW: this method used to take Localization as a third param, could now inline
- protected T doParse(String entry, Object context) {
+ protected T doParse(final String entry, final Object context) {
return doParse(context, entry);
}
@@ -187,27 +187,19 @@ implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProv
}
@Override
- public String displayTitleOf(final Object object) {
+ public String presentationValue(final Parser.Context context, final Object object) {
if (object == null) {
return "";
}
return titleString(object);
}
- @Override
- public String displayTitleOf(final Object object, final String usingMask) {
- if (object == null) {
- return "";
- }
- return titleStringWithMask(object, usingMask);
- }
-
/**
- * Defaults to {@link Parser#displayTitleOf(Object)}.
+ * Defaults to {@link Parser#presentationValue(org.apache.isis.applib.adapters.Parser.Context, Object)}.
*/
@Override
- public String parseableTitleOf(final Object existing) {
- return displayTitleOf(existing);
+ public String parseableTextRepresentation(final Parser.Context context, final Object existing) {
+ return presentationValue(context, existing);
}
protected String titleString(final Format formatter, final Object object) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/snapshot/XmlSnapshot.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/snapshot/XmlSnapshot.java
index d8e506f..c510489 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/snapshot/XmlSnapshot.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/snapshot/XmlSnapshot.java
@@ -713,7 +713,7 @@ public class XmlSnapshot implements Snapshot {
final ParseableFacet parseableFacet = fieldNos.getFacet(ParseableFacet.class);
final EncodableFacet encodeableFacet = fieldNos.getFacet(EncodableFacet.class);
if (parseableFacet != null) {
- valueStr = parseableFacet.parseableTitle(value);
+ valueStr = parseableFacet.parseableTextRepresentation(value);
} else if (encodeableFacet != null) {
valueStr = encodeableFacet.toEncodedString(value);
} else {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
index 7f1be16..1b19776 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
@@ -58,7 +58,7 @@ public class ParseableFacetUsingParserTest {
public void setUp() throws Exception {
metaModelContext = MetaModelContext_forTesting.builder()
- .interactionProvider(mockInteractionProvider)
+ //.interactionProvider(mockInteractionProvider)
.build();
@@ -73,12 +73,15 @@ public class ParseableFacetUsingParserTest {
allowing(mockFacetHolder).containsFacet(ValueFacet.class);
will(returnValue(Boolean.FALSE));
+ allowing(mockFacetHolder).getInteractionProvider();
+ will(returnValue(null));
+
}
});
final Parser<String> parser = new Parser<String>() {
@Override
- public String parseTextEntry(final Object contextPojo, final String entry) {
+ public String parseTextRepresentation(final Parser.Context context, final String entry) {
if (entry.equals("invalid")) {
throw new ParsingException();
}
@@ -97,17 +100,12 @@ public class ParseableFacetUsingParserTest {
}
@Override
- public String displayTitleOf(final String object) {
- return null;
- }
-
- @Override
- public String displayTitleOf(final String object, final String usingMask) {
+ public String presentationValue(final Parser.Context context, final String object) {
return null;
}
@Override
- public String parseableTitleOf(final String existing) {
+ public String parseableTextRepresentation(final Parser.Context context, final String existing) {
return null;
}
};
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
index 7a328b3..c3a9ed1 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
@@ -150,24 +150,19 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace
}
@Override
- public MyValueSemanticsProviderThatIsAParser parseTextEntry(
- final Object context,
+ public MyValueSemanticsProviderThatIsAParser parseTextRepresentation(
+ final Parser.Context context,
final String entry) {
return null;
}
@Override
- public String displayTitleOf(final MyValueSemanticsProviderThatIsAParser object) {
+ public String presentationValue(final Parser.Context context, final MyValueSemanticsProviderThatIsAParser object) {
return null;
}
@Override
- public String displayTitleOf(final MyValueSemanticsProviderThatIsAParser object, final String usingMask) {
- return null;
- }
-
- @Override
- public String parseableTitleOf(final MyValueSemanticsProviderThatIsAParser existing) {
+ public String parseableTextRepresentation(final Parser.Context context, final MyValueSemanticsProviderThatIsAParser existing) {
return null;
}
@@ -322,24 +317,19 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace
}
@Override
- public MyValueWithSemanticsProviderSpecifiedUsingConfiguration parseTextEntry(
- final Object context,
+ public MyValueWithSemanticsProviderSpecifiedUsingConfiguration parseTextRepresentation(
+ final Parser.Context context,
final String entry) {
return null;
}
@Override
- public String displayTitleOf(final MyValueWithSemanticsProviderSpecifiedUsingConfiguration object) {
- return null;
- }
-
- @Override
- public String displayTitleOf(final MyValueWithSemanticsProviderSpecifiedUsingConfiguration object, final String usingMask) {
+ public String presentationValue(final Parser.Context context, final MyValueWithSemanticsProviderSpecifiedUsingConfiguration object) {
return null;
}
@Override
- public String parseableTitleOf(final MyValueWithSemanticsProviderSpecifiedUsingConfiguration existing) {
+ public String parseableTextRepresentation(final Parser.Context context, final MyValueWithSemanticsProviderSpecifiedUsingConfiguration existing) {
return null;
}
@@ -379,24 +369,19 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace
}
@Override
- public NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration parseTextEntry(
- final Object context,
+ public NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration parseTextRepresentation(
+ final Parser.Context context,
final String entry) {
return null;
}
@Override
- public String displayTitleOf(final NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration object) {
- return null;
- }
-
- @Override
- public String displayTitleOf(final NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration object, final String usingMask) {
+ public String presentationValue(final Parser.Context context, final NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration object) {
return null;
}
@Override
- public String parseableTitleOf(final NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration existing) {
+ public String parseableTextRepresentation(final Parser.Context context, final NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration existing) {
return null;
}
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 f1b7235..deac09a 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
@@ -50,14 +50,14 @@ public class BigDecimalValueSemanticsProviderTest extends ValueSemanticsProvider
@Test
public void testParseValidString() throws Exception {
- final Object newValue = value.parseTextEntry(null, "2142342334");
+ final Object newValue = value.parseTextRepresentation(null, "2142342334");
assertEquals(new BigDecimal(2142342334L), newValue);
}
@Test
public void testParseInvalidString() throws Exception {
try {
- value.parseTextEntry(null, "214xxx2342334");
+ value.parseTextRepresentation(null, "214xxx2342334");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -65,7 +65,7 @@ public class BigDecimalValueSemanticsProviderTest extends ValueSemanticsProvider
@Test
public void testTitleOf() {
- assertEquals("34,132.199", value.displayTitleOf(bigDecimal));
+ assertEquals("34,132.199", value.presentationValue(null, bigDecimal));
}
@Test
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 ac35b4d..544bf3f 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
@@ -52,14 +52,14 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testParseValidString() throws Exception {
- final Object newValue = getValue().parseTextEntry(null, "2142342334");
+ final Object newValue = getValue().parseTextRepresentation(null, "2142342334");
assertEquals(new BigInteger("2142342334"), newValue);
}
@Test
public void testParseInvalidString() throws Exception {
try {
- getValue().parseTextEntry(null, "214xxx2342334");
+ getValue().parseTextRepresentation(null, "214xxx2342334");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -67,7 +67,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitle() throws Exception {
- assertEquals("132,199", getValue().displayTitleOf(bigInt));
+ assertEquals("132,199", getValue().presentationValue(null, bigInt));
}
@Test
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 4527089..831f762 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
@@ -48,7 +48,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOf() {
- assertEquals("myfile1.docx", value.displayTitleOf(blob));
+ assertEquals("myfile1.docx", value.presentationValue(null, blob));
}
@Test
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 0b826f9..e074e80 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
@@ -47,32 +47,32 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testParseFalseString() throws Exception {
- final Object parsed = value.parseTextEntry(null, "faLSe");
+ final Object parsed = value.parseTextRepresentation(null, "faLSe");
assertEquals(Boolean.valueOf(false), parsed);
}
@Test
public void testParseStringWithPrecedingSpace() throws Exception {
- final Object parsed = value.parseTextEntry(null, " false");
+ final Object parsed = value.parseTextRepresentation(null, " false");
assertEquals(Boolean.valueOf(false), parsed);
}
@Test
public void testParseStringWithTrailingSpace() throws Exception {
- final Object parsed = value.parseTextEntry(null, " false");
+ final Object parsed = value.parseTextRepresentation(null, " false");
assertEquals(Boolean.valueOf(false), parsed);
}
@Test
public void testParseTrueString() throws Exception {
- final Object parsed = value.parseTextEntry(null, "TRue");
+ final Object parsed = value.parseTextRepresentation(null, "TRue");
assertEquals(Boolean.valueOf(true), parsed);
}
@Test
public void testParseInvalidString() throws Exception {
try {
- value.parseTextEntry(null, "yes");
+ value.parseTextRepresentation(null, "yes");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -80,7 +80,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitle() throws Exception {
- assertEquals("True", value.displayTitleOf(booleanObj));
+ assertEquals("True", value.presentationValue(null, booleanObj));
}
@Test
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 7bffb33..cd3b1f9 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
@@ -49,14 +49,14 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testParseValidString() throws Exception {
- final Object parsed = value.parseTextEntry(null, "21");
+ final Object parsed = value.parseTextRepresentation(null, "21");
assertEquals(Byte.valueOf((byte) 21), parsed);
}
@Test
public void testParseInvalidString() throws Exception {
try {
- value.parseTextEntry(null, "xs21z4xxx23");
+ value.parseTextRepresentation(null, "xs21z4xxx23");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -64,7 +64,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOf() throws Exception {
- assertEquals("102", value.displayTitleOf(byteObj));
+ assertEquals("102", value.presentationValue(null, byteObj));
}
@Test
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 63f4312..97ee221 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
@@ -49,7 +49,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testParseLongString() throws Exception {
try {
- value.parseTextEntry(null, "one");
+ value.parseTextRepresentation(null, "one");
fail();
} catch (final InvalidEntryException expected) {
}
@@ -57,12 +57,12 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOf() {
- assertEquals("r", value.displayTitleOf(character));
+ assertEquals("r", value.presentationValue(null, character));
}
@Test
public void testValidParse() throws Exception {
- final Object parse = value.parseTextEntry(null, "t");
+ final Object parse = value.parseTextRepresentation(null, "t");
assertEquals(Character.valueOf('t'), parse);
}
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 b0f466a..41c524e 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
@@ -48,7 +48,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOf() {
- assertEquals("myfile1.xml", value.displayTitleOf(clob));
+ assertEquals("myfile1.xml", value.presentationValue(null, clob));
}
@Test
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 7b76e97..63a97d4 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
@@ -49,13 +49,13 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testValue() {
- assertEquals("32.5", getValue().displayTitleOf(doubleObj));
+ assertEquals("32.5", getValue().presentationValue(null, doubleObj));
}
@Test
public void testInvalidParse() throws Exception {
try {
- getValue().parseTextEntry(null, "one");
+ getValue().parseTextRepresentation(null, "one");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -63,18 +63,18 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOf() {
- assertEquals("35,000,000", getValue().displayTitleOf(Double.valueOf(35000000.0)));
+ assertEquals("35,000,000", getValue().presentationValue(null, Double.valueOf(35000000.0)));
}
@Test
public void testParse() throws Exception {
- final Object newValue = getValue().parseTextEntry(null, "120.56");
+ final Object newValue = getValue().parseTextRepresentation(null, "120.56");
assertEquals(120.56, ((Double) newValue).doubleValue(), 0.0);
}
@Test
public void testParse2() throws Exception {
- final Object newValue = getValue().parseTextEntry(null, "1,20.0");
+ final Object newValue = getValue().parseTextRepresentation(null, "1,20.0");
assertEquals(120, ((Double) newValue).doubleValue(), 0.0);
}
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 da65026..ac6ee53 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
@@ -51,7 +51,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testInvalidParse() throws Exception {
try {
- value.parseTextEntry(null, "one");
+ value.parseTextRepresentation(null, "one");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -59,18 +59,18 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOf() {
- assertEquals("32.5", value.displayTitleOf(float1));
+ assertEquals("32.5", value.presentationValue(null, float1));
}
@Test
public void testParse() throws Exception {
- final Object parsed = value.parseTextEntry(null, "120.50");
+ final Object parsed = value.parseTextRepresentation(null, "120.50");
assertEquals(120.5f, ((Float) parsed).floatValue(), 0.0);
}
@Test
public void testParseBadlyFormatedEntry() throws Exception {
- final Object parsed = value.parseTextEntry(null, "1,20.0");
+ final Object parsed = value.parseTextRepresentation(null, "1,20.0");
assertEquals(120.0f, ((Float) parsed).floatValue(), 0.0);
}
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 a9678ff..c968c67 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
@@ -50,7 +50,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testInvalidParse() throws Exception {
try {
- value.parseTextEntry(null, "one");
+ value.parseTextRepresentation(null, "one");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -58,18 +58,18 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleString() {
- assertEquals("32", value.displayTitleOf(integer));
+ assertEquals("32", value.presentationValue(null, integer));
}
@Test
public void testParse() throws Exception {
- final Object newValue = value.parseTextEntry(null, "120");
+ final Object newValue = value.parseTextRepresentation(null, "120");
assertEquals(Integer.valueOf(120), newValue);
}
@Test
public void testParseOddlyFormedEntry() throws Exception {
- final Object newValue = value.parseTextEntry(null, "1,20.0");
+ final Object newValue = value.parseTextRepresentation(null, "1,20.0");
assertEquals(Integer.valueOf(120), newValue);
}
}
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 bebaa7d..df8d8ef 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
@@ -54,7 +54,7 @@ public class JavaSqlDateValueSemanticsProviderTest extends ValueSemanticsProvide
@Test
public void testInvalidParse() throws Exception {
try {
- adapter.parseTextEntry(null, "date");
+ adapter.parseTextRepresentation(null, "date");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -62,12 +62,12 @@ public class JavaSqlDateValueSemanticsProviderTest extends ValueSemanticsProvide
@Test
public void testTitleOf() {
- assertEquals(DateFormat.getDateInstance(SimpleDateFormat.MEDIUM).format(new Date(0)), adapter.displayTitleOf(date));
+ assertEquals(DateFormat.getDateInstance(SimpleDateFormat.MEDIUM).format(new Date(0)), adapter.presentationValue(null, date));
}
@Test
public void testParse() throws Exception {
- final Object newValue = adapter.parseTextEntry(null, "1/1/1980");
+ final Object newValue = adapter.parseTextRepresentation(null, "1/1/1980");
final Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
index f419c86..f74e64b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
@@ -58,7 +58,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testInvalidParse() throws Exception {
try {
- getValue().parseTextEntry(null, "invalid entry");
+ getValue().parseTextRepresentation(null, "invalid entry");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -72,7 +72,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOf() {
final String EXPECTED = DateFormat.getDateTimeInstance(SimpleDateFormat.MEDIUM, SimpleDateFormat.SHORT).format(new java.util.Date(0));
- assertEquals(EXPECTED, getValue().displayTitleOf(date));
+ assertEquals(EXPECTED, getValue().presentationValue(null, date));
}
@Test
@@ -84,7 +84,7 @@ extends ValueSemanticsProviderAbstractTestCase {
Locale.setDefault(Locale.UK);
TimeZone.setDefault(TimeZone.getTimeZone("Etc/UTC"));
- val parsedDate = getValue().parseTextEntry(null, "1980-01-01 10:40");
+ val parsedDate = getValue().parseTextRepresentation(null, "1980-01-01 10:40");
// restore environment
Locale.setDefault(defaultLocale);
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 488452c..2475ea3 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
@@ -50,7 +50,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testInvalidParse() throws Exception {
try {
- value.parseTextEntry(null, "one");
+ value.parseTextRepresentation(null, "one");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -58,18 +58,18 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testOutputAsString() {
- assertEquals("367,322", value.displayTitleOf(longObj));
+ assertEquals("367,322", value.presentationValue(null, longObj));
}
@Test
public void testParse() throws Exception {
- final Object parsed = value.parseTextEntry(null, "120");
+ final Object parsed = value.parseTextRepresentation(null, "120");
assertEquals("120", parsed.toString());
}
@Test
public void testParseWithBadlyFormattedEntry() throws Exception {
- final Object parsed = value.parseTextEntry(null, "1,20.0");
+ final Object parsed = value.parseTextRepresentation(null, "1,20.0");
assertEquals("120", parsed.toString());
}
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 4e7d6bd..318e086 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
@@ -51,7 +51,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testInvalidParse() throws Exception {
try {
- value.parseTextEntry(null, "one");
+ value.parseTextRepresentation(null, "one");
fail();
} catch (final TextEntryParseException expected) {
}
@@ -59,23 +59,23 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOfForPositiveValue() {
- assertEquals("32", value.displayTitleOf(short1));
+ assertEquals("32", value.presentationValue(null, short1));
}
@Test
public void testTitleOfForLargestNegativeValue() {
- assertEquals("-128", value.displayTitleOf(Short.valueOf((short) -128)));
+ assertEquals("-128", value.presentationValue(null, Short.valueOf((short) -128)));
}
@Test
public void testParse() throws Exception {
- final Object newValue = value.parseTextEntry(null, "120");
+ final Object newValue = value.parseTextRepresentation(null, "120");
assertEquals(Short.valueOf((short) 120), newValue);
}
@Test
public void testParseOfOddEntry() throws Exception {
- final Object newValue = value.parseTextEntry(null, "1,20.0");
+ final Object newValue = value.parseTextRepresentation(null, "1,20.0");
assertEquals(Short.valueOf((short) 120), newValue);
}
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 02e1def..f6453c3 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
@@ -45,12 +45,12 @@ public class StringValueSemanticsProviderTest extends ValueSemanticsProviderAbst
@Test
public void testTitleOf() {
- assertEquals("text entry", value.displayTitleOf(string));
+ assertEquals("text entry", value.presentationValue(null, string));
}
@Test
public void testParse() throws Exception {
- final Object parsed = value.parseTextEntry(null, "tRUe");
+ final Object parsed = value.parseTextRepresentation(null, "tRUe");
assertEquals("tRUe", parsed.toString());
}
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 276890a..37b149f 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
@@ -107,7 +107,7 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
this.parseableFacet = ParseableFacetUsingParser.create(value, mockFacetHolder);
}
- protected <T> ValueSemanticsProviderAndFacetAbstract<T> getValue(Class<T> type) {
+ protected <T> ValueSemanticsProviderAndFacetAbstract<T> getValue(final Class<T> type) {
return _Casts.uncheckedCast(valueSemanticsProvider);
}
@@ -127,7 +127,7 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
public void testParseNull() throws Exception {
Assume.assumeThat(valueSemanticsProvider.getParser(), is(not(nullValue())));
try {
- valueSemanticsProvider.parseTextEntry(null, null);
+ valueSemanticsProvider.parseTextRepresentation(null, null);
fail();
} catch (final IllegalArgumentException expected) {
}
@@ -137,7 +137,7 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
public void testParseEmptyString() throws Exception {
Assume.assumeThat(valueSemanticsProvider.getParser(), is(not(nullValue())));
- final Object newValue = valueSemanticsProvider.parseTextEntry(null, "");
+ final Object newValue = valueSemanticsProvider.parseTextRepresentation(null, "");
assertNull(newValue);
}
@@ -158,6 +158,6 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleOfForNullObject() {
- assertEquals("", valueSemanticsProvider.displayTitleOf(null));
+ assertEquals("", valueSemanticsProvider.presentationValue(null, null));
}
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/LibraryPreloadingService.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/LibraryPreloadingService.java
index db7ffda..53c10c6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/_infra/LibraryPreloadingService.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/LibraryPreloadingService.java
@@ -25,7 +25,7 @@ import org.springframework.stereotype.Service;
import org.apache.isis.commons.internal.concurrent._ConcurrentContext;
import org.apache.isis.commons.internal.concurrent._ConcurrentTaskList;
-import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
+import org.apache.isis.valuetypes.asciidoc.metamodel.semantics.AsciiDocValueSemanticsProvider;
import lombok.val;
@@ -36,8 +36,7 @@ public class LibraryPreloadingService {
@PostConstruct
public void preloadLibraries() {
val tasks = _ConcurrentTaskList.named("LibraryPreloading")
- .addRunnable("Preload JRuby for AsciiDoc", ()->AsciiDoc.valueOfAdoc("Dummy").asHtml());
-
+ .addRunnable("Preload JRuby for AsciiDoc", AsciiDocValueSemanticsProvider::loadJRuby);
tasks.submit(_ConcurrentContext.forkJoin());
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/asciidocdesc/HasAsciiDocDescription_sources.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/asciidocdesc/HasAsciiDocDescription_sources.java
index 8d09d6a..7282e1e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/_infra/asciidocdesc/HasAsciiDocDescription_sources.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/asciidocdesc/HasAsciiDocDescription_sources.java
@@ -43,7 +43,7 @@ public class HasAsciiDocDescription_sources {
public AsciiDoc prop() {
val packageName = hasAsciiDocDescription.getClass().getPackage().getName();
val sourceLocation = packageName.replace('.', '/');
- return AsciiDoc.valueOfAdoc(
+ return AsciiDoc.valueOf(
markupVariableResolverService.resolveVariables(
String.format("link:${SOURCES_DEMO}/%s[Sources] for this demo", sourceLocation)));
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocReaderService.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocReaderService.java
index 07adfa7..b8f35d0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocReaderService.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocReaderService.java
@@ -74,7 +74,7 @@ public class AsciiDocReaderService {
}
private AsciiDoc toAsciiDoc(final StringReference adocRef, final Class<?> aClass) {
- return AsciiDoc.valueOfAdoc(
+ return AsciiDoc.valueOf(
adocRef
.update(this::replaceVersion)
//.update(this::replaceJavaSourceReferences)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/ComplexNumberJdoValueSemantics.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/ComplexNumberJdoValueSemantics.java
index a7ca37f..94d1294 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/ComplexNumberJdoValueSemantics.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/ComplexNumberJdoValueSemantics.java
@@ -42,7 +42,7 @@ public class ComplexNumberJdoValueSemantics
// tag::getParser[]
return new Parser<ComplexNumberJdo>() {
@Override
- public ComplexNumberJdo parseTextEntry(Object contextPojo, String entry) {
+ public ComplexNumberJdo parseTextRepresentation(final Parser.Context context, final String entry) {
return ComplexNumberJdo.parse(entry).orElse(null);
}
@Override
@@ -50,16 +50,12 @@ public class ComplexNumberJdoValueSemantics
return 30;
}
@Override
- public String displayTitleOf(ComplexNumberJdo object) {
+ public String presentationValue(final Parser.Context context, final ComplexNumberJdo object) {
return object!=null ? object.title() : "NaN";
}
@Override
- public String displayTitleOf(ComplexNumberJdo object, String usingMask) {
- return displayTitleOf(object);
- }
- @Override
- public String parseableTitleOf(ComplexNumberJdo existing) {
- return displayTitleOf(existing);
+ public String parseableTextRepresentation(final Parser.Context context, final ComplexNumberJdo existing) {
+ return presentationValue(context, existing);
}
};
}
@@ -73,7 +69,7 @@ public class ComplexNumberJdoValueSemantics
// tag::getEncoderDecoder[]
return new EncoderDecoder<ComplexNumberJdo>() {
@Override
- public String toEncodedString(ComplexNumberJdo cn) {
+ public String toEncodedString(final ComplexNumberJdo cn) {
if(cn==null) {
return null;
}
@@ -83,7 +79,7 @@ public class ComplexNumberJdoValueSemantics
Long.toHexString(re), Long.toHexString(im));
}
@Override
- public ComplexNumberJdo fromEncodedString(String str) {
+ public ComplexNumberJdo fromEncodedString(final String str) {
if(_NullSafe.isEmpty(str)) {
return null;
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/ComplexNumberJpaValueSemantics.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/ComplexNumberJpaValueSemantics.java
index 7647100..c060a0b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/ComplexNumberJpaValueSemantics.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/ComplexNumberJpaValueSemantics.java
@@ -42,7 +42,7 @@ public class ComplexNumberJpaValueSemantics
// tag::getParser[]
return new Parser<ComplexNumberJpa>() {
@Override
- public ComplexNumberJpa parseTextEntry(Object contextPojo, String entry) {
+ public ComplexNumberJpa parseTextRepresentation(final Parser.Context context, final String entry) {
return ComplexNumberJpa.parse(entry).orElse(null);
}
@Override
@@ -50,16 +50,12 @@ public class ComplexNumberJpaValueSemantics
return 30;
}
@Override
- public String displayTitleOf(ComplexNumberJpa object) {
+ public String presentationValue(final Parser.Context context, final ComplexNumberJpa object) {
return object!=null ? object.title() : "NaN";
}
@Override
- public String displayTitleOf(ComplexNumberJpa object, String usingMask) {
- return displayTitleOf(object);
- }
- @Override
- public String parseableTitleOf(ComplexNumberJpa existing) {
- return displayTitleOf(existing);
+ public String parseableTextRepresentation(final Parser.Context context, final ComplexNumberJpa existing) {
+ return presentationValue(context, existing);
}
};
}
@@ -73,7 +69,7 @@ public class ComplexNumberJpaValueSemantics
// tag::getEncoderDecoder[]
return new EncoderDecoder<ComplexNumberJpa>() {
@Override
- public String toEncodedString(ComplexNumberJpa cn) {
+ public String toEncodedString(final ComplexNumberJpa cn) {
if(cn==null) {
return null;
}
@@ -83,7 +79,7 @@ public class ComplexNumberJpaValueSemantics
Long.toHexString(re), Long.toHexString(im));
}
@Override
- public ComplexNumberJpa fromEncodedString(String str) {
+ public ComplexNumberJpa fromEncodedString(final String str) {
if(_NullSafe.isEmpty(str)) {
return null;
}
diff --git a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/rest/CorsFilterTest.java b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/rest/CorsFilterTest.java
index 6abfc2a..1121cc3 100644
--- a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/rest/CorsFilterTest.java
+++ b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/rest/CorsFilterTest.java
@@ -38,7 +38,7 @@ import static org.junit.jupiter.api.Assertions.fail;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.extensions.cors.impl.IsisModuleExtCorsImpl;
+import org.apache.isis.extensions.cors.impl.IsisModuleExtCors;
import org.apache.isis.extensions.restclient.ResponseDigest;
import org.apache.isis.extensions.restclient.log.ClientConversationFilter;
import org.apache.isis.testdomain.conf.Configuration_headless;
@@ -64,34 +64,34 @@ import lombok.val;
Configuration_headless.class,
Configuration_usingRoSpec.class,
IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
- IsisModuleExtCorsImpl.class
+ IsisModuleExtCors.class
})
@TestMethodOrder(OrderAnnotation.class) // run tests in sequence, to ease debugging
class CorsFilterTest {
- @LocalServerPort int port;
+ @LocalServerPort int port;
@Inject RestEndpointService restService;
private final RoSpecSampler refSampler = new RoSpecSampler();
private final Can<ClientConversationFilter> conversationFilters = Can.empty();
-
+
// -- STRING
- @Test @Order(1)
+ @Test @Order(1)
void requestWithValidOriginAndMethod_shouldSucceed() {
val digest = digestUsingPost("string", String.class, builder->builder
.header("Origin", validOrigin()));
assertHttpResponse200(digest);
}
- @Test @Order(2)
+ @Test @Order(2)
void requestWithInvalidOrigin_shouldFail() {
val digest = digestUsingPost("string", String.class, builder->builder
.header("Origin", invalidOrigin()));
assertHttpResponse403(digest);
}
-
- @Test @Order(3)
+
+ @Test @Order(3)
void requestWithMissingOrigin_shouldSucceed() {
val digest = digestUsingPost("string", String.class, builder->builder);
assertHttpResponse200(digest);
@@ -107,41 +107,41 @@ class CorsFilterTest {
// -- HELPER
<T> ResponseDigest<T> digestUsingPost(
- String actionName,
- Class<T> entityType,
- UnaryOperator<javax.ws.rs.client.Invocation.Builder> onRequestBuilder) {
+ final String actionName,
+ final Class<T> entityType,
+ final UnaryOperator<javax.ws.rs.client.Invocation.Builder> onRequestBuilder) {
assertTrue(restService.getPort()>0);
val useRequestDebugLogging = false;
val client = restService.newClient(useRequestDebugLogging, conversationFilters);
- val request = onRequestBuilder.apply(
- restService.newInvocationBuilder(client,
+ val request = onRequestBuilder.apply(
+ restService.newInvocationBuilder(client,
String.format("services/testdomain.RoSpecSampler/actions/%s/invoke", actionName)));
-
- val args = client.arguments()
+
+ val args = client.arguments()
.build();
-
+
val response = request.post(args);
val digest = client.digest(response, entityType);
return digest;
}
-
+
<T> ResponseDigest<T> digestUsingGet(
- String actionName,
- Class<T> entityType,
- UnaryOperator<javax.ws.rs.client.Invocation.Builder> onRequestBuilder) {
+ final String actionName,
+ final Class<T> entityType,
+ final UnaryOperator<javax.ws.rs.client.Invocation.Builder> onRequestBuilder) {
assertTrue(restService.getPort()>0);
val useRequestDebugLogging = false;
val client = restService.newClient(useRequestDebugLogging, conversationFilters);
- val request = onRequestBuilder.apply(
- restService.newInvocationBuilder(client,
+ val request = onRequestBuilder.apply(
+ restService.newInvocationBuilder(client,
String.format("services/testdomain.RoSpecSampler/actions/%s/invoke", actionName)));
val response = request.get();
@@ -149,25 +149,25 @@ class CorsFilterTest {
return digest;
}
-
-
+
+
private String validOrigin() {
return "http://www.google.com";
}
-
+
private String invalidOrigin() {
return "http://localhost";
}
-
- private void assertHttpResponse200(ResponseDigest<String> digest) {
+
+ private void assertHttpResponse200(final ResponseDigest<String> digest) {
if(!digest.isSuccess()) {
fail(digest.getFailureCause());
}
val returnValue = digest.getEntities().getSingletonOrFail();
assertEquals(refSampler.string(), returnValue);
}
-
- private void assertHttpResponse403(ResponseDigest<String> digest) {
+
+ private void assertHttpResponse403(final ResponseDigest<String> digest) {
assertNotNull(digest.getFailureCause(), "request was expected to fail, but succeeded");
assertTrue(digest.getFailureCause().getMessage().contains("403"));
}
diff --git a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/rest/DomainObjectResourceTest.java b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/rest/DomainObjectResourceTest.java
index 05a7cfd..fac94d1 100644
--- a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/rest/DomainObjectResourceTest.java
+++ b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/rest/DomainObjectResourceTest.java
@@ -53,12 +53,12 @@ import org.apache.isis.viewer.restfulobjects.viewer.resources.serialization.Seri
import lombok.val;
@SpringBootTest(
- classes = {
+ classes = {
Configuration_headless.class,
Configuration_usingLayout.class,
Configuration_usingActionSemantics.class,
DomainObjectResourceTest.TestSetup.class
- },
+ },
properties = {
"isis.core.meta-model.introspector.mode=FULL",
"isis.applib.annotation.domain-object.editing=TRUE",
@@ -92,9 +92,9 @@ class DomainObjectResourceTest {
val objectAdapter = objectManager.adapt(layoutDemo);
val spec = objectAdapter.getSpecification();
val domainType = spec.getLogicalTypeName();
- val instanceId = objectManager.identifyObject(objectAdapter).getIdentifier(); //TODO also needs URL encoding
+ val instanceId = objectManager.bookmarkObject(objectAdapter).getIdentifier(); //TODO also needs URL encoding
- val layoutResourceDescriptor =
+ val layoutResourceDescriptor =
ResourceDescriptor
.of(RepresentationType.OBJECT_LAYOUT, Where.ANYWHERE, RepresentationService.Intent.NOT_APPLICABLE);
@@ -114,7 +114,7 @@ class DomainObjectResourceTest {
.map(String::trim)
.collect(Collectors.joining());
- assertTrue(filteredResult.contains(" 3,"),
+ assertTrue(filteredResult.contains(" 3,"),
String.format("multiLine is expected to be populated, got '%s'", filteredResult));
}
@@ -128,9 +128,9 @@ class DomainObjectResourceTest {
val objectAdapter = objectManager.adapt(blobDemo);
val spec = objectAdapter.getSpecification();
val domainType = spec.getLogicalTypeName();
- val instanceId = objectManager.identifyObject(objectAdapter).getIdentifier(); //TODO also needs URL encoding
+ val instanceId = objectManager.bookmarkObject(objectAdapter).getIdentifier(); //TODO also needs URL encoding
- val layoutResourceDescriptor =
+ val layoutResourceDescriptor =
ResourceDescriptor
.of(RepresentationType.OBJECT_LAYOUT, Where.ANYWHERE, RepresentationService.Intent.NOT_APPLICABLE);
@@ -143,9 +143,9 @@ class DomainObjectResourceTest {
assertNotNull(grid);
val logoProperty = grid.getAllPropertiesById().get("logo");
-
+
assertNotNull(logoProperty);
-
+
val jaxbEntity = SerializationStrategy.JSON_INDENTED.entity(logoProperty);
//System.out.println(jaxbEntity);
@@ -155,9 +155,9 @@ class DomainObjectResourceTest {
.map(String::trim)
.filter(s->s.contains("GET"))
.count();
-
+
assertEquals(1L, linkCountHavingGET);
-
+
}
diff --git a/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/jaxb/AsciiDocJaxbAdapter.java b/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/jaxb/AsciiDocJaxbAdapter.java
index 60ab5a6..eb20e7d 100644
--- a/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/jaxb/AsciiDocJaxbAdapter.java
+++ b/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/jaxb/AsciiDocJaxbAdapter.java
@@ -46,7 +46,7 @@ public final class AsciiDocJaxbAdapter extends XmlAdapter<String, AsciiDoc> {
return null;
}
final String adoc = _Strings.ofBytes(decoder.decode(v), StandardCharsets.UTF_8);
- return AsciiDoc.valueOfAdoc(adoc);
+ return AsciiDoc.valueOf(adoc);
}
@Override
diff --git a/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/value/AsciiDoc.java b/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/value/AsciiDoc.java
index 5c45a7e..92d7158 100644
--- a/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/value/AsciiDoc.java
+++ b/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/value/AsciiDoc.java
@@ -39,21 +39,18 @@ import lombok.experimental.Accessors;
*/
@org.apache.isis.applib.annotation.Value(
logicalTypeName = IsisModuleApplib.NAMESPACE + ".value.AsciiDoc",
- semanticsProviderName = "org.apache.isis.valuetypes.asciidoc.metamodel.facets.AsciiDocValueSemanticsProvider")
+ semanticsProviderName = "org.apache.isis.valuetypes.asciidoc.metamodel.semantics."
+ + "AsciiDocValueSemanticsProvider")
@EqualsAndHashCode
@XmlJavaTypeAdapter(AsciiDocJaxbAdapter.class) // for JAXB view model support
public final class AsciiDoc implements HasHtml, Serializable {
private static final long serialVersionUID = 1L;
- public static AsciiDoc valueOfAdoc(final String adoc) {
+ public static AsciiDoc valueOf(final String adoc) {
return new AsciiDoc(adoc);
}
- public static AsciiDoc valueOfAdocAndHtml(final String adoc, final String html) {
- return null;
- }
-
@Getter private final String adoc;
@EqualsAndHashCode.Exclude
diff --git a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/facets/AsciiDocValueFacet.java b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/facets/AsciiDocValueFacet.java
deleted file mode 100644
index 8578332..0000000
--- a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/facets/AsciiDocValueFacet.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.valuetypes.asciidoc.metamodel.facets;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-
-public interface AsciiDocValueFacet extends Facet {
-
- String asciiDocValue(ManagedObject object);
- ManagedObject createValue(ManagedObject object, String html);
-
-}
diff --git a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/facets/AsciiDocValueSemanticsProvider.java b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/facets/AsciiDocValueSemanticsProvider.java
deleted file mode 100644
index e2ea637..0000000
--- a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/facets/AsciiDocValueSemanticsProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.isis.valuetypes.asciidoc.metamodel.facets;
-
-import org.apache.isis.applib.adapters.EncoderDecoder;
-import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
-
-public class AsciiDocValueSemanticsProvider
-extends ValueSemanticsProviderAndFacetAbstract<AsciiDoc>
-implements AsciiDocValueFacet {
-
- private static final int TYPICAL_LENGTH = 0;
-
- private static Class<? extends Facet> type() {
- return AsciiDocValueFacet.class;
- }
-
- private static final AsciiDoc DEFAULT_VALUE = null;
-
- /**
- * Required because implementation of {@link Parser} and
- * {@link EncoderDecoder}.
- */
- public AsciiDocValueSemanticsProvider() {
- this(null);
- }
-
- public AsciiDocValueSemanticsProvider(final FacetHolder holder) {
- super(type(), holder, AsciiDoc.class, TYPICAL_LENGTH, -1, Immutability.IMMUTABLE, EqualByContent.NOT_HONOURED, DEFAULT_VALUE);
- }
-
-
- @Override
- protected AsciiDoc doParse(final Object context, final String html) {
- return doRestore(html);
- }
-
- @Override
- public String titleString(final Object object) {
- return object != null? ((AsciiDoc)object).asHtml(): "[null]";
- }
-
- @Override
- public String titleStringWithMask(final Object value, final String usingMask) {
- return titleString(value);
- }
-
- @Override
- protected String doEncode(final AsciiDoc asciiDoc) {
- return asciiDoc.getAdoc();
- }
-
- @Override
- protected AsciiDoc doRestore(final String adoc) {
- return AsciiDoc.valueOfAdoc(adoc);
- }
-
-
- @Override
- public String toString() {
- return "AsciiDocValueSemanticsProvider";
- }
-
- // -- AsciiDocValueFacet
-
- @Override
- public String asciiDocValue(final ManagedObject object) {
- if (object == null) {
- return "";
- }
- final AsciiDoc asciiDoc = (AsciiDoc) object.getPojo();
- return asciiDoc.getAdoc();
- }
-
- @Override
- public ManagedObject createValue(final ManagedObject object, final String adoc) {
- final AsciiDoc asciiDoc = AsciiDoc.valueOfAdoc(adoc);
- return getObjectManager().adapt(asciiDoc);
- }
-
-}
diff --git a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemanticsProvider.java b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemanticsProvider.java
new file mode 100644
index 0000000..0201a68
--- /dev/null
+++ b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemanticsProvider.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.valuetypes.asciidoc.metamodel.semantics;
+
+import org.apache.isis.applib.adapters.DefaultsProvider;
+import org.apache.isis.applib.adapters.EncoderDecoder;
+import org.apache.isis.applib.adapters.Parser;
+import org.apache.isis.applib.adapters.ValueSemanticsProvider;
+import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
+
+public class AsciiDocValueSemanticsProvider
+implements
+ ValueSemanticsProvider<AsciiDoc>,
+ //EncoderDecoder<AsciiDoc>,
+ Parser<AsciiDoc> {
+
+ @Override
+ public String parseableTextRepresentation(final Parser.Context context, final AsciiDoc adoc) {
+ return adoc!=null ? adoc.getAdoc() : null;
+ }
+
+ @Override
+ public AsciiDoc parseTextRepresentation(final Parser.Context context, final String adoc) {
+ return adoc!=null ? AsciiDoc.valueOf(adoc) : null;
+ }
+
+ @Override
+ public String presentationValue(final Parser.Context context, final AsciiDoc adoc) {
+ return adoc != null? adoc.asHtml(): "[null]";
+ }
+
+ @Override
+ public int typicalLength() {
+ return 0;
+ }
+
+ @Override
+ public String toString() {
+ return this.getClass().getSimpleName();
+ }
+
+ @Override
+ public Parser<AsciiDoc> getParser() {
+ return this;
+ }
+
+ @Override
+ public EncoderDecoder<AsciiDoc> getEncoderDecoder() {
+ return null;
+ }
+
+ @Override
+ public DefaultsProvider<AsciiDoc> getDefaultsProvider() {
+ return null;
+ }
+
+ public static void loadJRuby() {
+ Converter.getAsciidoctor();
+ }
+
+}
diff --git a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/Converter.java b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/Converter.java
new file mode 100644
index 0000000..6e048cb
--- /dev/null
+++ b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/Converter.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.valuetypes.asciidoc.metamodel.semantics;
+
+import java.util.Optional;
+
+import org.asciidoctor.Asciidoctor;
+import org.asciidoctor.Attributes;
+import org.asciidoctor.Options;
+import org.asciidoctor.SafeMode;
+import org.springframework.lang.Nullable;
+
+import org.apache.isis.commons.internal.base._Strings;
+
+import lombok.Getter;
+
+final class Converter {
+
+ /**
+ * For syntax highlighting to work, the client/browser needs to load specific
+ * java-script and css.
+ * <p>
+ * 1) In your web-app's {@code scripts/application.js} include the bundled
+ * {@code src/main/resources/prism1.14.js}.
+ * <pre>
+ * function includeJs(jsFilePath) {
+ * var js = document.createElement("script");
+ * js.type = "text/javascript";
+ * js.src = jsFilePath;
+ * document.body.appendChild(js);
+ * }
+ *
+ * includeJs("/scripts/prism1.14.js");
+ * </pre>
+ * <p>
+ * 2) In your web-app's {@code css/application.css} include the bundled
+ * {@code src/main/resources/prism.css}.
+ * <pre>
+ * {@code @import "prism.css"}.
+ * </pre>
+ *
+ * @param adoc - formatted input to be converted to HTML
+ * @param options - if {@code null} uses built-in default options
+ */
+ public static String adocToHtml(final @Nullable String adoc, final @Nullable Options options) {
+ return _Strings.isEmpty(adoc)
+ ? ""
+ : convert(adoc,
+ Optional
+ .ofNullable(options)
+ .orElseGet(Converter::getDefaultOptions));
+ }
+
+ /**
+ * Shortcut to {@link #adocToHtml(String, Options)} using default options.
+ */
+ public static String adocToHtml(final String adoc) {
+ return adocToHtml(adoc, null);
+ }
+
+ // -- HELPER
+
+ private static String convert(final String content, final Options options) {
+ return getAsciidoctor()
+ .convert(content, options);
+ }
+
+ @Getter(lazy = true)
+ private final static Asciidoctor asciidoctor = Asciidoctor.Factory.create();
+
+ @Getter(lazy = true)
+ private final static Options defaultOptions = Options.builder()
+ .safe(SafeMode.UNSAFE)
+ .toFile(false)
+ .attributes(Attributes.builder()
+ .sourceHighlighter("prism")
+ .build())
+ .build();
+
+}
diff --git a/valuetypes/asciidoc/persistence/jdo/src/main/java/org/apache/isis/valuetypes/asciidoc/persistence/jdo/dn5/converters/IsisAsciiDocConverter.java b/valuetypes/asciidoc/persistence/jdo/src/main/java/org/apache/isis/valuetypes/asciidoc/persistence/jdo/dn5/converters/IsisAsciiDocConverter.java
index 71be139..ae57e8b 100644
--- a/valuetypes/asciidoc/persistence/jdo/src/main/java/org/apache/isis/valuetypes/asciidoc/persistence/jdo/dn5/converters/IsisAsciiDocConverter.java
+++ b/valuetypes/asciidoc/persistence/jdo/src/main/java/org/apache/isis/valuetypes/asciidoc/persistence/jdo/dn5/converters/IsisAsciiDocConverter.java
@@ -39,7 +39,7 @@ public class IsisAsciiDocConverter implements TypeConverter<AsciiDoc, String>{
@Override
public AsciiDoc toMemberType(final String datastoreValue) {
return datastoreValue != null
- ? AsciiDoc.valueOfAdoc(datastoreValue)
+ ? AsciiDoc.valueOf(datastoreValue)
: null;
}
diff --git a/valuetypes/asciidoc/persistence/jpa/src/main/java/org/apache/isis/valuetypes/asciidoc/persistence/jpa/converters/IsisAsciiDocConverter.java b/valuetypes/asciidoc/persistence/jpa/src/main/java/org/apache/isis/valuetypes/asciidoc/persistence/jpa/converters/IsisAsciiDocConverter.java
index 92ff2cb..60d2f52 100644
--- a/valuetypes/asciidoc/persistence/jpa/src/main/java/org/apache/isis/valuetypes/asciidoc/persistence/jpa/converters/IsisAsciiDocConverter.java
+++ b/valuetypes/asciidoc/persistence/jpa/src/main/java/org/apache/isis/valuetypes/asciidoc/persistence/jpa/converters/IsisAsciiDocConverter.java
@@ -39,7 +39,7 @@ public class IsisAsciiDocConverter implements AttributeConverter<AsciiDoc, Strin
@Override
public AsciiDoc convertToEntityAttribute(final String datastoreValue) {
return datastoreValue != null
- ? AsciiDoc.valueOfAdoc(datastoreValue)
+ ? AsciiDoc.valueOf(datastoreValue)
: null;
}
diff --git a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocForXmlComponentWkt.java b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocForXmlComponentWkt.java
index 4a753c1..937d82f 100644
--- a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocForXmlComponentWkt.java
+++ b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocForXmlComponentWkt.java
@@ -20,26 +20,22 @@ package org.apache.isis.valuetypes.asciidoc.ui.wkt.components;
import org.apache.wicket.model.IModel;
-import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
-
-import lombok.val;
-
public class AsciiDocForXmlComponentWkt extends AsciiDocComponentWkt {
private static final long serialVersionUID = 1L;
- public AsciiDocForXmlComponentWkt(String id, IModel<?> model) {
+ public AsciiDocForXmlComponentWkt(final String id, final IModel<?> model) {
super(id, model);
setEnabled(false);
}
- /**
- * for convenience of subtypes.
- * @param xml
- */
- protected final String asHtml(String xml) {
- val adoc = "[source,xml]\n----\n" + xml + "\n----";
- return AsciiDoc.valueOfAdoc(adoc).asHtml();
- }
+// /**
+// * for convenience of subtypes.
+// * @param xml
+// */
+// protected final String asHtml(String xml) {
+// val adoc = "[source,xml]\n----\n" + xml + "\n----";
+// return AsciiDoc.valueOf(adoc).asHtml();
+// }
}
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/NumberConverterForStringComponent.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/NumberConverterForStringComponent.java
index cdefaa2..565667c 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/NumberConverterForStringComponent.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/NumberConverterForStringComponent.java
@@ -55,21 +55,21 @@ public final class NumberConverterForStringComponent implements BindingConverter
}
@Override
- public ManagedObject wrap(String stringifiedNumber) {
+ public ManagedObject wrap(final String stringifiedNumber) {
if(tryParse(stringifiedNumber).isPresent()) {
// return an intermediate placeholder
return ManagedObject.empty(getValueSpecification());
}
- val number = valueFacet.parseTextEntry(null, stringifiedNumber);
+ val number = valueFacet.parseTextRepresentation(null, stringifiedNumber);
return ManagedObject.of(getValueSpecification(), number);
}
@Override
- public String unwrap(ManagedObject object) {
+ public String unwrap(final ManagedObject object) {
val number = (Number) ManagedObjects.UnwrapUtil.single(object);
- return valueFacet.parseableTitleOf(number);
+ return valueFacet.parseableTextRepresentation(null, number);
}
@@ -86,17 +86,17 @@ public final class NumberConverterForStringComponent implements BindingConverter
FloatingPointValueFacet.class);
@Override
- public String toString(String value) {
+ public String toString(final String value) {
return value; // identity
}
@Override
- public String fromString(String stringifiedValue) {
+ public String fromString(final String stringifiedValue) {
return stringifiedValue; // identity
}
@Override
- public Optional<String> tryParse(String stringifiedValue) {
+ public Optional<String> tryParse(final String stringifiedValue) {
return valueFacet.tryParseTextEntry(null, stringifiedValue)
.map(Exception::getMessage); // TODO should be passed through the ExceptionRecognizer
}
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/TemporalConverterForLocalDateComponent.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/TemporalConverterForLocalDateComponent.java
index 0e3967f..b0ba37b 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/TemporalConverterForLocalDateComponent.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/binding/TemporalConverterForLocalDateComponent.java
@@ -46,36 +46,36 @@ public class TemporalConverterForLocalDateComponent implements BindingConverter<
}
@Override
- public ManagedObject wrap(LocalDate localDate) {
+ public ManagedObject wrap(final LocalDate localDate) {
return ManagedObject.of(getValueSpecification(), localDate);
}
@Override
- public LocalDate unwrap(ManagedObject object) {
+ public LocalDate unwrap(final ManagedObject object) {
val localDate = (LocalDate) ManagedObjects.UnwrapUtil.single(object);
return localDate;
}
@Override
- public String toString(LocalDate value) {
- return valueFacet.parseableTitleOf(value);
+ public String toString(final LocalDate value) {
+ return valueFacet.parseableTextRepresentation(null, value);
}
@Override
- public LocalDate fromString(String stringifiedValue) {
- val value = valueFacet.parseTextEntry(null, stringifiedValue);
+ public LocalDate fromString(final String stringifiedValue) {
+ val value = valueFacet.parseTextRepresentation(null, stringifiedValue);
if(value==null) {
return null;
}
if(value instanceof LocalDate) {
- return (LocalDate) value;
+ return value;
}
// TODO might require additional cases
throw _Exceptions.unmatchedCase(value.getClass());
}
@Override
- public Optional<String> tryParse(String stringifiedValue) {
+ public Optional<String> tryParse(final String stringifiedValue) {
return valueFacet.tryParseTextEntry(null, stringifiedValue)
.map(Exception::getMessage); // TODO should be passed through the ExceptionRecognizer
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index 56d96f9..94c8c2d 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -47,6 +47,7 @@ import lombok.AccessLevel;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
+import lombok.val;
/**
* Represents a scalar of an entity, either a {@link Kind#PROPERTY property} or
@@ -183,12 +184,20 @@ implements HasRenderingHints, ScalarUiModel, LinksProvider, FormExecutorContext
if (adapter == null) {
return null;
}
+ val spec = adapter.getSpecification();
+ if(spec.isValue()) {
+ val parseableFacet = getTypeOfSpecification().getFacet(ParseableFacet.class);
+ if (parseableFacet == null) {
+ throw new RuntimeException("unable to find a parser for " + spec.getFullIdentifier());
+ }
+ return parseableFacet.parseableTextRepresentation(adapter);
+ }
return adapter.titleString();
}
public void setObjectAsString(final String enteredText) {
// parse text to get adapter
- ParseableFacet parseableFacet = getTypeOfSpecification().getFacet(ParseableFacet.class);
+ val parseableFacet = getTypeOfSpecification().getFacet(ParseableFacet.class);
if (parseableFacet == null) {
throw new RuntimeException("unable to find a parser for " + getTypeOfSpecification().getFullIdentifier());
}