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 5e68ed3 ISIS-2877: fixes xml based value-types
5e68ed3 is described below
commit 5e68ed3efc6caa6783f367aee834d86d64910a97
Author: Andi Huber <[email protected]>
AuthorDate: Tue Feb 1 10:07:07 2022 +0100
ISIS-2877: fixes xml based value-types
- also activating test scenarios
---
.../valuesemantics/ChangesDtoValueSemantics.java | 27 ++-------
.../valuesemantics/CommandDtoValueSemantics.java | 27 ++-------
.../InteractionDtoValueSemantics.java | 27 ++-------
...mantics.java => XmlValueSemanticsAbstract.java} | 67 +++++++++++++---------
.../isis/testdomain/value/ValueSemanticsTest.java | 6 +-
.../model/valuetypes/ValueTypeExample.java | 22 ++++---
.../ChangesDtoValueSemanticsPrettyRender.java | 14 ++---
.../CommandDtoValueSemanticsPrettyRender.java | 14 ++---
.../InteractionDtoValueSemanticsPrettyRender.java | 14 ++---
...ValueSemanticsAbstract.java => _XmlToHtml.java} | 34 ++---------
10 files changed, 85 insertions(+), 167 deletions(-)
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ChangesDtoValueSemantics.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ChangesDtoValueSemantics.java
index 1d21c0f..755a10f 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ChangesDtoValueSemantics.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ChangesDtoValueSemantics.java
@@ -23,49 +23,32 @@ import javax.inject.Named;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.util.schema.ChangesDtoUtils;
-import org.apache.isis.applib.value.semantics.EncoderDecoder;
-import org.apache.isis.applib.value.semantics.Renderer;
-import org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.schema.chg.v2.ChangesDto;
-import org.apache.isis.schema.common.v2.ValueType;
@Component
@Named("isis.val.ChangesDtoValueSemantics")
public class ChangesDtoValueSemantics
-extends ValueSemanticsAbstract<ChangesDto>
-implements
- EncoderDecoder<ChangesDto>,
- Renderer<ChangesDto> {
+extends XmlValueSemanticsAbstract<ChangesDto> {
@Override
- public Class<ChangesDto> getCorrespondingClass() {
+ public final Class<ChangesDto> getCorrespondingClass() {
return ChangesDto.class;
}
- @Override
- public ValueType getSchemaValueType() {
- return UNREPRESENTED;
- }
-
// -- ENCODER DECODER
@Override
- public String toEncodedString(final ChangesDto changesDto) {
+ public final String toEncodedString(final ChangesDto changesDto) {
return ChangesDtoUtils.toXml(changesDto);
}
@Override
- public ChangesDto fromEncodedString(final String xml) {
+ public final ChangesDto fromEncodedString(final String xml) {
return ChangesDtoUtils.fromXml(xml);
}
- // -- RENDERER
-
- @Override
- public String simpleTextPresentation(final Context context, final
ChangesDto value) {
- return render(value, ChangesDtoUtils::toXml);
- }
+ // -- EXAMPLES
@Override
public Can<ChangesDto> getExamples() {
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CommandDtoValueSemantics.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CommandDtoValueSemantics.java
index 06bc345..211ce14 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CommandDtoValueSemantics.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CommandDtoValueSemantics.java
@@ -23,49 +23,32 @@ import javax.inject.Named;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.util.schema.CommandDtoUtils;
-import org.apache.isis.applib.value.semantics.EncoderDecoder;
-import org.apache.isis.applib.value.semantics.Renderer;
-import org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.schema.cmd.v2.CommandDto;
-import org.apache.isis.schema.common.v2.ValueType;
@Component
@Named("isis.val.CommandDtoValueSemantics")
public class CommandDtoValueSemantics
-extends ValueSemanticsAbstract<CommandDto>
-implements
- EncoderDecoder<CommandDto>,
- Renderer<CommandDto> {
+extends XmlValueSemanticsAbstract<CommandDto> {
@Override
- public Class<CommandDto> getCorrespondingClass() {
+ public final Class<CommandDto> getCorrespondingClass() {
return CommandDto.class;
}
- @Override
- public ValueType getSchemaValueType() {
- return UNREPRESENTED;
- }
-
// -- ENCODER DECODER
@Override
- public String toEncodedString(final CommandDto commandDto) {
+ public final String toEncodedString(final CommandDto commandDto) {
return CommandDtoUtils.toXml(commandDto);
}
@Override
- public CommandDto fromEncodedString(final String xml) {
+ public final CommandDto fromEncodedString(final String xml) {
return CommandDtoUtils.fromXml(xml);
}
- // -- RENDERER
-
- @Override
- public String simpleTextPresentation(final Context context, final
CommandDto value) {
- return render(value, CommandDtoUtils::toXml);
- }
+ // -- EXAMPLES
@Override
public Can<CommandDto> getExamples() {
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/InteractionDtoValueSemantics.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/InteractionDtoValueSemantics.java
index 3417b21..4748db9 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/InteractionDtoValueSemantics.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/InteractionDtoValueSemantics.java
@@ -23,49 +23,32 @@ import javax.inject.Named;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.util.schema.InteractionDtoUtils;
-import org.apache.isis.applib.value.semantics.EncoderDecoder;
-import org.apache.isis.applib.value.semantics.Renderer;
-import org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.isis.commons.collections.Can;
-import org.apache.isis.schema.common.v2.ValueType;
import org.apache.isis.schema.ixn.v2.InteractionDto;
@Component
@Named("isis.val.InteractionDtoValueSemantics")
public class InteractionDtoValueSemantics
-extends ValueSemanticsAbstract<InteractionDto>
-implements
- EncoderDecoder<InteractionDto>,
- Renderer<InteractionDto> {
+extends XmlValueSemanticsAbstract<InteractionDto> {
@Override
- public Class<InteractionDto> getCorrespondingClass() {
+ public final Class<InteractionDto> getCorrespondingClass() {
return InteractionDto.class;
}
- @Override
- public ValueType getSchemaValueType() {
- return UNREPRESENTED;
- }
-
// -- ENCODER DECODER
@Override
- public String toEncodedString(final InteractionDto interactionDto) {
+ public final String toEncodedString(final InteractionDto interactionDto) {
return InteractionDtoUtils.toXml(interactionDto);
}
@Override
- public InteractionDto fromEncodedString(final String xml) {
+ public final InteractionDto fromEncodedString(final String xml) {
return InteractionDtoUtils.fromXml(xml);
}
- // -- RENDERER
-
- @Override
- public String simpleTextPresentation(final Context context, final
InteractionDto value) {
- return render(value, InteractionDtoUtils::toXml);
- }
+ // -- EXAMPLES
@Override
public Can<InteractionDto> getExamples() {
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ChangesDtoValueSemantics.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/XmlValueSemanticsAbstract.java
similarity index 50%
copy from
core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ChangesDtoValueSemantics.java
copy to
core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/XmlValueSemanticsAbstract.java
index 1d21c0f..977ba1c 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ChangesDtoValueSemantics.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/XmlValueSemanticsAbstract.java
@@ -18,58 +18,71 @@
*/
package org.apache.isis.core.metamodel.valuesemantics;
-import javax.inject.Named;
+import java.util.Objects;
-import org.springframework.stereotype.Component;
-
-import org.apache.isis.applib.util.schema.ChangesDtoUtils;
import org.apache.isis.applib.value.semantics.EncoderDecoder;
+import org.apache.isis.applib.value.semantics.OrderRelation;
import org.apache.isis.applib.value.semantics.Renderer;
import org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.schema.chg.v2.ChangesDto;
import org.apache.isis.schema.common.v2.ValueType;
-@Component
-@Named("isis.val.ChangesDtoValueSemantics")
-public class ChangesDtoValueSemantics
-extends ValueSemanticsAbstract<ChangesDto>
+import lombok.NonNull;
+import lombok.val;
+
+public abstract class XmlValueSemanticsAbstract<T>
+extends ValueSemanticsAbstract<T>
implements
- EncoderDecoder<ChangesDto>,
- Renderer<ChangesDto> {
+ OrderRelation<T, Void>,
+ EncoderDecoder<T>,
+ Renderer<T> {
@Override
- public Class<ChangesDto> getCorrespondingClass() {
- return ChangesDto.class;
+ public final ValueType getSchemaValueType() {
+ return ValueType.STRING;
}
+ // -- ORDER RELATION
+
@Override
- public ValueType getSchemaValueType() {
- return UNREPRESENTED;
+ public final Void epsilon() {
+ return null; // not used
}
- // -- ENCODER DECODER
-
@Override
- public String toEncodedString(final ChangesDto changesDto) {
- return ChangesDtoUtils.toXml(changesDto);
+ public final int compare(final T a, final T b, final Void epsilon) {
+ if(a==null
+ || b==null) {
+ return Objects.equals(a, b)
+ ? 0
+ : a==null
+ ? -1
+ : 1;
+ }
+ val _a = toEncodedString(a);
+ val _b = toEncodedString(b);
+ return _a.compareTo(_b);
}
@Override
- public ChangesDto fromEncodedString(final String xml) {
- return ChangesDtoUtils.fromXml(xml);
+ public final boolean equals(final T a, final T b, final Void epsilon) {
+ if(a==null
+ || b==null) {
+ return Objects.equals(a, b);
+ }
+ val _a = toEncodedString(a);
+ val _b = toEncodedString(b);
+ return _a.equals(_b);
}
// -- RENDERER
@Override
- public String simpleTextPresentation(final Context context, final
ChangesDto value) {
- return render(value, ChangesDtoUtils::toXml);
+ public String simpleTextPresentation(final Context context, final T value)
{
+ return render(value, v->renderXml(context, toEncodedString(v)));
}
- @Override
- public Can<ChangesDto> getExamples() {
- return Can.of(new ChangesDto(), new ChangesDto());
+ protected String renderXml(final @NonNull Context context, final @NonNull
String xml) {
+ return xml;
}
}
diff --git
a/regressiontests/stable-value/src/test/java/org/apache/isis/testdomain/value/ValueSemanticsTest.java
b/regressiontests/stable-value/src/test/java/org/apache/isis/testdomain/value/ValueSemanticsTest.java
index 05c905c..a7e8a10 100644
---
a/regressiontests/stable-value/src/test/java/org/apache/isis/testdomain/value/ValueSemanticsTest.java
+++
b/regressiontests/stable-value/src/test/java/org/apache/isis/testdomain/value/ValueSemanticsTest.java
@@ -89,7 +89,7 @@ class ValueSemanticsTest {
valueSemanticsResolver.streamClassesWithValueSemantics()
.forEach(valueType->System.err.printf("%s%n", valueType.getName()));
- final Set<Class<?>> valueTypesCovered =
valueTypeExampleProvider.streamExamples()
+ final Set<Class<?>> valueTypesCovered =
valueTypeExampleService.streamExamples()
.map(ValueTypeExample::getValueType)
.collect(Collectors.toSet());
@@ -227,7 +227,7 @@ class ValueSemanticsTest {
// -- DEPENDENCIES
- @Inject ValueTypeExampleService valueTypeExampleProvider;
+ @Inject ValueTypeExampleService valueTypeExampleService;
@Inject SpecificationLoader specLoader;
@Inject InteractionService interactionService;
@Inject ServiceInjector serviceInjector;
@@ -235,7 +235,7 @@ class ValueSemanticsTest {
@Inject SchemaValueMarshaller valueMarshaller;
Stream<Arguments> provideValueTypeExamples() {
- return valueTypeExampleProvider.streamScenarios()
+ return valueTypeExampleService.streamScenarios()
.map(Scenario::getArguments);
}
diff --git
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/ValueTypeExample.java
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/ValueTypeExample.java
index 550fd35..6911027 100644
---
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/ValueTypeExample.java
+++
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/ValueTypeExample.java
@@ -429,6 +429,7 @@ public abstract class ValueTypeExample<T> {
@Getter
private ZonedDateTime updateValue =
ZonedDateTime.now().plusDays(2).plusSeconds(15);
}
+
// -- EXAMPLES - TEMPORAL - JODA TIME
@DomainObject(
@@ -542,7 +543,6 @@ public abstract class ValueTypeExample<T> {
private Bookmark updateValue = Bookmark.parseElseFail("c:d");
}
- //TODO OidDto
@DomainObject(
logicalTypeName =
"isis.testdomain.valuetypes.ValueTypeExampleOidDto",
nature = Nature.BEAN)
@@ -555,9 +555,9 @@ public abstract class ValueTypeExample<T> {
}
//TODO ChangesDto
-// @DomainObject(
-// logicalTypeName =
"isis.testdomain.valuetypes.ValueTypeExampleChangesDto",
-// nature = Nature.BEAN)
+ @DomainObject(
+ logicalTypeName =
"isis.testdomain.valuetypes.ValueTypeExampleChangesDto",
+ nature = Nature.BEAN)
public static class ValueTypeExampleChangesDto
extends ValueTypeExample<ChangesDto> {
@Property @Getter @Setter
@@ -566,10 +566,9 @@ public abstract class ValueTypeExample<T> {
private ChangesDto updateValue = new ChangesDto();
}
- //TODO CommandDto
-// @DomainObject(
-// logicalTypeName =
"isis.testdomain.valuetypes.ValueTypeExampleCommandDto",
-// nature = Nature.BEAN)
+ @DomainObject(
+ logicalTypeName =
"isis.testdomain.valuetypes.ValueTypeExampleCommandDto",
+ nature = Nature.BEAN)
public static class ValueTypeExampleCommandDto
extends ValueTypeExample<CommandDto> {
@Property @Getter @Setter
@@ -578,10 +577,9 @@ public abstract class ValueTypeExample<T> {
private CommandDto updateValue = new CommandDto();
}
- //TODO InteractionDto
-// @DomainObject(
-// logicalTypeName =
"isis.testdomain.valuetypes.ValueTypeExampleInteractionDto",
-// nature = Nature.BEAN)
+ @DomainObject(
+ logicalTypeName =
"isis.testdomain.valuetypes.ValueTypeExampleInteractionDto",
+ nature = Nature.BEAN)
public static class ValueTypeExampleInteractionDto
extends ValueTypeExample<InteractionDto> {
@Property @Getter @Setter
diff --git
a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/ChangesDtoValueSemanticsPrettyRender.java
b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/ChangesDtoValueSemanticsPrettyRender.java
index 212d45f..67005f6 100644
---
a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/ChangesDtoValueSemanticsPrettyRender.java
+++
b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/ChangesDtoValueSemanticsPrettyRender.java
@@ -24,8 +24,7 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.util.schema.ChangesDtoUtils;
-import org.apache.isis.schema.chg.v2.ChangesDto;
+import org.apache.isis.core.metamodel.valuesemantics.ChangesDtoValueSemantics;
import lombok.NonNull;
@@ -33,16 +32,11 @@ import lombok.NonNull;
@Named("isis.val.ChangesDtoValueSemanticsPrettyRender")
@Order(PriorityPrecedence.EARLY)
public class ChangesDtoValueSemanticsPrettyRender
-extends XmlValueSemanticsAbstract<ChangesDto> {
+extends ChangesDtoValueSemantics {
@Override
- public Class<ChangesDto> getCorrespondingClass() {
- return ChangesDto.class;
- }
-
- @Override
- protected String asXml(final Context context, @NonNull final ChangesDto
value) {
- return ChangesDtoUtils.toXml(value);
+ protected String renderXml(@NonNull final Context context, @NonNull final
String xml) {
+ return _XmlToHtml.toHtml(xml);
}
}
diff --git
a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/CommandDtoValueSemanticsPrettyRender.java
b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/CommandDtoValueSemanticsPrettyRender.java
index 0b7a877..a9ad121 100644
---
a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/CommandDtoValueSemanticsPrettyRender.java
+++
b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/CommandDtoValueSemanticsPrettyRender.java
@@ -24,8 +24,7 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.util.schema.CommandDtoUtils;
-import org.apache.isis.schema.cmd.v2.CommandDto;
+import org.apache.isis.core.metamodel.valuesemantics.CommandDtoValueSemantics;
import lombok.NonNull;
@@ -33,16 +32,11 @@ import lombok.NonNull;
@Named("isis.val.CommandDtoValueSemanticsPrettyRender")
@Order(PriorityPrecedence.EARLY)
public class CommandDtoValueSemanticsPrettyRender
-extends XmlValueSemanticsAbstract<CommandDto> {
+extends CommandDtoValueSemantics {
@Override
- public Class<CommandDto> getCorrespondingClass() {
- return CommandDto.class;
- }
-
- @Override
- protected String asXml(final Context context, @NonNull final CommandDto
value) {
- return CommandDtoUtils.toXml(value);
+ protected String renderXml(@NonNull final Context context, @NonNull final
String xml) {
+ return _XmlToHtml.toHtml(xml);
}
}
diff --git
a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/InteractionDtoValueSemanticsPrettyRender.java
b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/InteractionDtoValueSemanticsPrettyRender.java
index c2cb951..37274eb 100644
---
a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/InteractionDtoValueSemanticsPrettyRender.java
+++
b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/InteractionDtoValueSemanticsPrettyRender.java
@@ -24,8 +24,7 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.util.schema.InteractionDtoUtils;
-import org.apache.isis.schema.ixn.v2.InteractionDto;
+import
org.apache.isis.core.metamodel.valuesemantics.InteractionDtoValueSemantics;
import lombok.NonNull;
@@ -33,16 +32,11 @@ import lombok.NonNull;
@Named("isis.val.InteractionDtoValueSemanticsPrettyRender")
@Order(PriorityPrecedence.EARLY)
public class InteractionDtoValueSemanticsPrettyRender
-extends XmlValueSemanticsAbstract<InteractionDto> {
+extends InteractionDtoValueSemantics {
@Override
- public Class<InteractionDto> getCorrespondingClass() {
- return InteractionDto.class;
- }
-
- @Override
- protected String asXml(final Context context, @NonNull final
InteractionDto value) {
- return InteractionDtoUtils.toXml(value);
+ protected String renderXml(@NonNull final Context context, @NonNull final
String xml) {
+ return _XmlToHtml.toHtml(xml);
}
}
diff --git
a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/XmlValueSemanticsAbstract.java
b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/_XmlToHtml.java
similarity index 52%
rename from
valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/XmlValueSemanticsAbstract.java
rename to
valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/_XmlToHtml.java
index e143d45..8e409cf 100644
---
a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/XmlValueSemanticsAbstract.java
+++
b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/_XmlToHtml.java
@@ -18,42 +18,18 @@
*/
package org.apache.isis.valuetypes.asciidoc.metamodel.semantics;
-import org.apache.isis.applib.value.semantics.Renderer;
-import org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
-import org.apache.isis.applib.value.semantics.ValueSemanticsProvider;
-import org.apache.isis.schema.common.v2.ValueType;
import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
-import lombok.NonNull;
import lombok.val;
+import lombok.experimental.UtilityClass;
-/**
- * Provides a {@link Renderer} that generates syntax highlighted XML.
- * @implNote using ascii-doctor under the hoods
- */
-abstract class XmlValueSemanticsAbstract<T>
-extends ValueSemanticsAbstract<T>
-implements
- Renderer<T> {
-
- @Override
- public ValueType getSchemaValueType() {
- return ValueType.STRING;
- }
-
- // -- RENDERER
+@UtilityClass
+class _XmlToHtml {
- @Override
- public String simpleTextPresentation(final ValueSemanticsProvider.Context
context, final T value) {
- return render(value, xmlContainer->presentationValue(context,
value).asHtml());
+ public String toHtml(final String xml) {
+ return asAdoc(xml).asHtml();
}
- private AsciiDoc presentationValue(final Context context, final T value) {
- return asAdoc(asXml(context, value));
- }
-
- protected abstract String asXml(Context context, @NonNull T value);
-
private AsciiDoc asAdoc(final String xml) {
val adoc = "[source,xml]\n----\n" + xml + "\n----";
return AsciiDoc.valueOf(adoc);