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

danhaywood pushed a commit to branch ISIS-2222
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 0b4e0bc9adaf21f151ab625a0f3b421036b0952c
Author: danhaywood <[email protected]>
AuthorDate: Sat Aug 15 17:57:02 2020 +0100

    ISIS-2222: wip adds wicket panel to render InteractionDto, CommandDto, 
ChangesDto.
---
 .../ui/wkt/IsisModuleValAsciidocUiWkt.java         |  3 ++
 .../AsciiDocForXmlComponentWkt.java}               | 38 ++++++++++-----
 .../wkt/components/AsciiDocPanelFactoriesWkt.java  |  5 +-
 .../schema/chg/v2/ChangesDtoComponentWkt.java}     | 33 ++++++++-----
 .../chg/v2/ChangesDtoPanelFactoriesWkt.java}       | 33 +++----------
 .../schema/cmd/v2/CommandDtoComponentWkt.java}     | 33 ++++++++-----
 .../cmd/v2/CommandDtoPanelFactoriesWkt.java}       | 33 +++----------
 .../schema/ixn/v2/InteractionDtoComponentWkt.java  | 56 ++++++++++++++++++++++
 .../ixn/v2/InteractionDtoPanelFactoriesWkt.java}   | 31 +++---------
 .../components/scalars/markup/MarkupComponent.java | 16 +++++--
 10 files changed, 161 insertions(+), 120 deletions(-)

diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
index 0d09de0..dc728d6 100644
--- 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
@@ -23,12 +23,15 @@ import org.springframework.context.annotation.Import;
 
 import org.apache.isis.valuetypes.asciidoc.applib.IsisModuleValAsciidocApplib;
 import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.AsciiDocPanelFactoriesWkt;
+import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.schema.ixn.v2.InteractionDtoPanelFactoriesWkt;
 
 @Configuration
 @Import({
     IsisModuleValAsciidocApplib.class,
     AsciiDocPanelFactoriesWkt.Parented.class,
     AsciiDocPanelFactoriesWkt.Standalone.class,
+    InteractionDtoPanelFactoriesWkt.Parented.class,
+    InteractionDtoPanelFactoriesWkt.Standalone.class,
 })
 public class IsisModuleValAsciidocUiWkt {
 }
diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocForXmlComponentWkt.java
similarity index 50%
copy from 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
copy to 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocForXmlComponentWkt.java
index 0d09de0..1119309 100644
--- 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocForXmlComponentWkt.java
@@ -16,19 +16,33 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.valuetypes.asciidoc.ui.wkt;
+package org.apache.isis.valuetypes.asciidoc.ui.wkt.components;
 
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
+import org.apache.wicket.model.IModel;
 
-import org.apache.isis.valuetypes.asciidoc.applib.IsisModuleValAsciidocApplib;
-import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.AsciiDocPanelFactoriesWkt;
+import org.apache.isis.applib.util.schema.CommandDtoUtils;
+import org.apache.isis.schema.cmd.v2.CommandDto;
+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) {
+        super(id, model);
+        setEnabled(false);
+    }
+
+    /**
+     * for convenience of subtypes.
+     * @param xml
+     * @return
+     */
+    protected final String asHtml(String xml) {
+        val adoc = "[source,xml]\n----\n" + xml + "\n----";
+        return AsciiDoc.valueOfAdoc(adoc).asHtml();
+    }
 
-@Configuration
-@Import({
-    IsisModuleValAsciidocApplib.class,
-    AsciiDocPanelFactoriesWkt.Parented.class,
-    AsciiDocPanelFactoriesWkt.Standalone.class,
-})
-public class IsisModuleValAsciidocUiWkt {
 }
diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
index 1a58f4a..fae7df5 100644
--- 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
@@ -69,10 +69,7 @@ public class AsciiDocPanelFactoriesWkt {
 
         @Override
         protected MarkupComponentFactory getMarkupComponentFactory() {
-            return (id, model) -> {
-                val markupComponent = new AsciiDocComponentWkt(id, model);
-                return markupComponent;    
-            };
+            return AsciiDocComponentWkt::new;
         }
 
     }
diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/chg/v2/ChangesDtoComponentWkt.java
similarity index 56%
copy from 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
copy to 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/chg/v2/ChangesDtoComponentWkt.java
index 0d09de0..02d2f46 100644
--- 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/chg/v2/ChangesDtoComponentWkt.java
@@ -16,19 +16,28 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.valuetypes.asciidoc.ui.wkt;
+package org.apache.isis.valuetypes.asciidoc.ui.wkt.components.schema.chg.v2;
 
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
+import org.apache.wicket.model.IModel;
 
-import org.apache.isis.valuetypes.asciidoc.applib.IsisModuleValAsciidocApplib;
-import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.AsciiDocPanelFactoriesWkt;
+import org.apache.isis.applib.util.schema.ChangesDtoUtils;
+import org.apache.isis.schema.chg.v2.ChangesDto;
+import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.AsciiDocForXmlComponentWkt;
+
+public class ChangesDtoComponentWkt extends AsciiDocForXmlComponentWkt {
+
+    private static final long serialVersionUID = 1L;
+
+    public ChangesDtoComponentWkt(String id, IModel<?> model) {
+        super(id, model);
+    }
+
+    @Override
+    protected String asHtml(Object value) {
+        if(value instanceof ChangesDto) {
+            return asHtml(ChangesDtoUtils.toXml((ChangesDto) value));
+        }
+        return super.asHtml(value);
+    }
 
-@Configuration
-@Import({
-    IsisModuleValAsciidocApplib.class,
-    AsciiDocPanelFactoriesWkt.Parented.class,
-    AsciiDocPanelFactoriesWkt.Standalone.class,
-})
-public class IsisModuleValAsciidocUiWkt {
 }
diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/chg/v2/ChangesDtoPanelFactoriesWkt.java
similarity index 65%
copy from 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
copy to 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/chg/v2/ChangesDtoPanelFactoriesWkt.java
index 1a58f4a..200f797 100644
--- 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/chg/v2/ChangesDtoPanelFactoriesWkt.java
@@ -17,23 +17,15 @@
  *  under the License.
  */
 
-package org.apache.isis.valuetypes.asciidoc.ui.wkt.components;
+package org.apache.isis.valuetypes.asciidoc.ui.wkt.components.schema.chg.v2;
 
 import org.springframework.stereotype.Component;
 
-import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
+import org.apache.isis.schema.chg.v2.ChangesDto;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponentFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactories;
 
-import lombok.val;
-
-/**
- * @implNote Almost a copy of {@code Parented} and {@code Standalone} in 
- * {@link MarkupPanelFactories}, but specific to 
- * the {@link AsciiDoc} value-type which requires client-side java-script to be
- * executed to enable syntax highlighting
- */
-public class AsciiDocPanelFactoriesWkt {
+public class ChangesDtoPanelFactoriesWkt {
 
     // -- PARENTED
 
@@ -42,19 +34,13 @@ public class AsciiDocPanelFactoriesWkt {
         private static final long serialVersionUID = 1L;
 
         public Parented() {
-            super(AsciiDoc.class);
+            super(ChangesDto.class);
         }
 
         @Override
         protected MarkupComponentFactory getMarkupComponentFactory() {
-            return (id, model) -> {
-                val markupComponent = new AsciiDocComponentWkt(id, model);
-                markupComponent.setEnabled(false);
-                return markupComponent;    
-            };
-
+            return ChangesDtoComponentWkt::new;
         }
-
     }
 
     // -- STANDALONE
@@ -64,18 +50,13 @@ public class AsciiDocPanelFactoriesWkt {
         private static final long serialVersionUID = 1L;
 
         public Standalone() {
-            super(AsciiDoc.class);
+            super(ChangesDto.class);
         }
 
         @Override
         protected MarkupComponentFactory getMarkupComponentFactory() {
-            return (id, model) -> {
-                val markupComponent = new AsciiDocComponentWkt(id, model);
-                return markupComponent;    
-            };
+            return ChangesDtoComponentWkt::new;
         }
-
     }
 
-
 }
diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/cmd/v2/CommandDtoComponentWkt.java
similarity index 56%
copy from 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
copy to 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/cmd/v2/CommandDtoComponentWkt.java
index 0d09de0..f8df038 100644
--- 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.java
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/cmd/v2/CommandDtoComponentWkt.java
@@ -16,19 +16,28 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.valuetypes.asciidoc.ui.wkt;
+package org.apache.isis.valuetypes.asciidoc.ui.wkt.components.schema.cmd.v2;
 
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
+import org.apache.wicket.model.IModel;
 
-import org.apache.isis.valuetypes.asciidoc.applib.IsisModuleValAsciidocApplib;
-import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.AsciiDocPanelFactoriesWkt;
+import org.apache.isis.applib.util.schema.CommandDtoUtils;
+import org.apache.isis.schema.cmd.v2.CommandDto;
+import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.AsciiDocForXmlComponentWkt;
+
+public class CommandDtoComponentWkt extends AsciiDocForXmlComponentWkt {
+
+    private static final long serialVersionUID = 1L;
+
+    public CommandDtoComponentWkt(String id, IModel<?> model) {
+        super(id, model);
+    }
+
+    @Override
+    protected String asHtml(Object value) {
+        if(value instanceof CommandDto) {
+            return asHtml(CommandDtoUtils.toXml((CommandDto) value));
+        }
+        return super.asHtml(value);
+    }
 
-@Configuration
-@Import({
-    IsisModuleValAsciidocApplib.class,
-    AsciiDocPanelFactoriesWkt.Parented.class,
-    AsciiDocPanelFactoriesWkt.Standalone.class,
-})
-public class IsisModuleValAsciidocUiWkt {
 }
diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/cmd/v2/CommandDtoPanelFactoriesWkt.java
similarity index 65%
copy from 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
copy to 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/cmd/v2/CommandDtoPanelFactoriesWkt.java
index 1a58f4a..946d492 100644
--- 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/cmd/v2/CommandDtoPanelFactoriesWkt.java
@@ -17,23 +17,15 @@
  *  under the License.
  */
 
-package org.apache.isis.valuetypes.asciidoc.ui.wkt.components;
+package org.apache.isis.valuetypes.asciidoc.ui.wkt.components.schema.cmd.v2;
 
 import org.springframework.stereotype.Component;
 
-import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
+import org.apache.isis.schema.cmd.v2.CommandDto;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponentFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactories;
 
-import lombok.val;
-
-/**
- * @implNote Almost a copy of {@code Parented} and {@code Standalone} in 
- * {@link MarkupPanelFactories}, but specific to 
- * the {@link AsciiDoc} value-type which requires client-side java-script to be
- * executed to enable syntax highlighting
- */
-public class AsciiDocPanelFactoriesWkt {
+public class CommandDtoPanelFactoriesWkt {
 
     // -- PARENTED
 
@@ -42,19 +34,13 @@ public class AsciiDocPanelFactoriesWkt {
         private static final long serialVersionUID = 1L;
 
         public Parented() {
-            super(AsciiDoc.class);
+            super(CommandDto.class);
         }
 
         @Override
         protected MarkupComponentFactory getMarkupComponentFactory() {
-            return (id, model) -> {
-                val markupComponent = new AsciiDocComponentWkt(id, model);
-                markupComponent.setEnabled(false);
-                return markupComponent;    
-            };
-
+            return CommandDtoComponentWkt::new;
         }
-
     }
 
     // -- STANDALONE
@@ -64,18 +50,13 @@ public class AsciiDocPanelFactoriesWkt {
         private static final long serialVersionUID = 1L;
 
         public Standalone() {
-            super(AsciiDoc.class);
+            super(CommandDto.class);
         }
 
         @Override
         protected MarkupComponentFactory getMarkupComponentFactory() {
-            return (id, model) -> {
-                val markupComponent = new AsciiDocComponentWkt(id, model);
-                return markupComponent;    
-            };
+            return CommandDtoComponentWkt::new;
         }
-
     }
 
-
 }
diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/ixn/v2/InteractionDtoComponentWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/ixn/v2/InteractionDtoComponentWkt.java
new file mode 100644
index 0000000..39f4f83
--- /dev/null
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/ixn/v2/InteractionDtoComponentWkt.java
@@ -0,0 +1,56 @@
+/*
+ *  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.ui.wkt.components.schema.ixn.v2;
+
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.resource.ResourceReference;
+import org.asciidoctor.converter.Converter;
+
+import org.apache.isis.applib.util.schema.InteractionDtoUtils;
+import org.apache.isis.schema.ixn.v2.InteractionDto;
+import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
+import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.AsciiDocForXmlComponentWkt;
+import 
org.apache.isis.valuetypes.asciidoc.ui.wkt.components.prism.PrismResources;
+import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponent;
+import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponent_reloadJs;
+
+import lombok.val;
+
+public class InteractionDtoComponentWkt extends AsciiDocForXmlComponentWkt {
+
+    private static final long serialVersionUID = 1L;
+
+    public InteractionDtoComponentWkt(String id, IModel<?> model) {
+        super(id, model);
+    }
+
+    @Override
+    protected String asHtml(Object value) {
+        if(value instanceof InteractionDto) {
+            return asHtml(InteractionDtoUtils.toXml((InteractionDto) value));
+        }
+        return super.asHtml(value);
+    }
+
+}
diff --git 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/ixn/v2/InteractionDtoPanelFactoriesWkt.java
similarity index 65%
copy from 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
copy to 
valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/ixn/v2/InteractionDtoPanelFactoriesWkt.java
index 1a58f4a..a1ddb3e 100644
--- 
a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocPanelFactoriesWkt.java
+++ 
b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/schema/ixn/v2/InteractionDtoPanelFactoriesWkt.java
@@ -17,23 +17,15 @@
  *  under the License.
  */
 
-package org.apache.isis.valuetypes.asciidoc.ui.wkt.components;
+package org.apache.isis.valuetypes.asciidoc.ui.wkt.components.schema.ixn.v2;
 
 import org.springframework.stereotype.Component;
 
-import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
+import org.apache.isis.schema.ixn.v2.InteractionDto;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponentFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactories;
 
-import lombok.val;
-
-/**
- * @implNote Almost a copy of {@code Parented} and {@code Standalone} in 
- * {@link MarkupPanelFactories}, but specific to 
- * the {@link AsciiDoc} value-type which requires client-side java-script to be
- * executed to enable syntax highlighting
- */
-public class AsciiDocPanelFactoriesWkt {
+public class InteractionDtoPanelFactoriesWkt {
 
     // -- PARENTED
 
@@ -42,16 +34,12 @@ public class AsciiDocPanelFactoriesWkt {
         private static final long serialVersionUID = 1L;
 
         public Parented() {
-            super(AsciiDoc.class);
+            super(InteractionDto.class);
         }
 
         @Override
         protected MarkupComponentFactory getMarkupComponentFactory() {
-            return (id, model) -> {
-                val markupComponent = new AsciiDocComponentWkt(id, model);
-                markupComponent.setEnabled(false);
-                return markupComponent;    
-            };
+            return InteractionDtoComponentWkt::new;
 
         }
 
@@ -64,18 +52,13 @@ public class AsciiDocPanelFactoriesWkt {
         private static final long serialVersionUID = 1L;
 
         public Standalone() {
-            super(AsciiDoc.class);
+            super(InteractionDto.class);
         }
 
         @Override
         protected MarkupComponentFactory getMarkupComponentFactory() {
-            return (id, model) -> {
-                val markupComponent = new AsciiDocComponentWkt(id, model);
-                return markupComponent;    
-            };
+            return InteractionDtoComponentWkt::new;
         }
-
     }
 
-
 }
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
index 9d1b4d5..84c2d96 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
@@ -52,7 +52,7 @@ public class MarkupComponent extends WebComponent {
 
     // -- HELPER
 
-    protected static CharSequence extractHtmlOrElse(Object modelObject, final 
String fallback) {
+    protected CharSequence extractHtmlOrElse(Object modelObject, final String 
fallback) {
 
         if(modelObject==null) {
             return fallback;
@@ -67,15 +67,23 @@ public class MarkupComponent extends WebComponent {
 
             final Object value = adapter.getPojo();
 
-            if(!(value instanceof HasHtml))
-                return fallback;
+            val asHtml = asHtml(value);
+            if(asHtml != null) {
+                return asHtml;
+            }
 
-            return ((HasHtml)value).asHtml();
+            return fallback;
         }
 
         return modelObject.toString();
 
     }
 
+    protected String asHtml(Object value) {
+        if (value instanceof HasHtml) {
+            return ((HasHtml)value).asHtml();
+        }
+        return null;
+    }
 
 }

Reply via email to