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/16 15:12:48 UTC
[isis] branch master updated: ISIS-2871: fixes Markdown type
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 6c88869 ISIS-2871: fixes Markdown type
6c88869 is described below
commit 6c88869f2d15fce7fe234d96ec82340ab00815ce
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 16 17:12:36 2021 +0200
ISIS-2871: fixes Markdown type
also unifying prism resources (css/js)
---
...ionOrAnyMatchingValueSemanticsFacetFactory.java | 5 +-
.../ValueFacetUsingSemanticsProviderFactory.java | 5 -
.../dflt/ProgrammingModelFacetsJava11.java | 4 -
.../facets/param/name/ParameterNameFacetTest.java | 2 +-
.../dom/_infra/LibraryPreloadingService.java | 4 +-
.../AsciiDocValueSemanticsWithPreprocessing.java | 18 +++
.../_infra/resources/MarkdownReaderService.java | 4 +-
.../webapp/wicket/jdo/DemoAppWicketJdo.java | 2 +
.../webapp/wicket/jpa/DemoAppWicketJpa.java | 2 +
incubator/pom.xml | 1 +
.../valuetypes/asciidoc/applib/value/AsciiDoc.java | 4 +-
.../metamodel/IsisModuleValAsciidocMetaModel.java | 46 +++----
...csProvider.java => AsciiDocValueSemantics.java} | 33 +----
valuetypes/asciidoc/ui/vaadin/pom.xml | 6 +
.../ui/vaa/components/AsciiDocFieldVaa.java | 9 +-
valuetypes/asciidoc/ui/wicket/pom.xml | 6 +
.../ui/wkt/components/AsciiDocComponentWkt.java | 12 +-
.../wkt/components/AsciiDocForXmlComponentWkt.java | 20 +--
.../markdown/applib/jaxb/MarkdownJaxbAdapter.java | 2 +-
.../valuetypes/markdown/applib/value/Markdown.java | 38 +++---
.../metamodel/IsisModuleValMarkdownMetaModel.java | 48 +++----
.../metamodel/facets/MarkdownValueFacet.java | 29 ----
.../facets/MarkdownValueSemanticsProvider.java | 83 ------------
.../semantics/MarkdownValueSemantics.java | 88 ++++++++++++
.../jdo/dn5/converters/IsisMarkdownConverter.java | 2 +-
.../jpa/converters/IsisMarkdownConverter.java | 2 +-
valuetypes/markdown/ui/wicket/pom.xml | 6 +
.../ui/wkt/IsisModuleValMarkdownUiWkt.java | 7 +-
...ownComponent.java => MarkdownComponentWkt.java} | 29 ++--
...rWicket.java => MarkdownPanelFactoriesWkt.java} | 16 +--
.../markdown/ui/wkt/components/css/prism.css | 150 ---------------------
.../markdown/ui/wkt/components/js/prism1.14.js | 8 --
valuetypes/pom.xml | 1 +
valuetypes/{asciidoc/ui/vaadin => prism}/pom.xml | 27 ++--
.../{asciidoc/ui/vaadin => prism/res}/pom.xml | 21 +--
.../org/apache/isis/valuetypes/prism}/Prism.java | 2 +-
.../static/prism/css/prism1.20-default.css | 0
.../static}/prism/css/prism1.24.1-coy.css | 0
.../static}/prism/css/prism1.24.1-default.css | 0
.../main/resources/static}/prism/js/prism1.20.js | 0
.../main/resources/static}/prism/js/prism1.24.1.js | 0
.../{asciidoc/ui/vaadin => prism/vaa}/pom.xml | 27 ++--
.../valuetypes/prism/vaa/PrismResourcesVaa.java} | 8 +-
valuetypes/prism/wkt/pom.xml | 73 ++++++++++
.../valuetypes/prism/wkt/PrismResourcesWkt.java} | 12 +-
.../prism/wkt}/css/prism1.20-default.css | 0
.../valuetypes/prism/wkt}/css/prism1.24.1-coy.css | 0
.../prism/wkt}/css/prism1.24.1-default.css | 0
.../isis/valuetypes/prism/wkt}/js/prism1.20.js | 0
.../isis/valuetypes/prism/wkt}/js/prism1.24.1.js | 0
50 files changed, 374 insertions(+), 488 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
index 6b39527..997e6f1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
@@ -93,6 +93,7 @@ extends ValueFacetUsingSemanticsProviderFactory {
//FIXME install them all, then enable qualifiers
if(!valueSemantics.isEmpty()) {
super.addAllFacetsForValueSemantics(valueSemantics, facetHolder);
+ log.debug("found ValueSemanticsProvider for value type {}", cls);
}
// if(valueIfAny.isPresent()
@@ -106,8 +107,8 @@ extends ValueFacetUsingSemanticsProviderFactory {
if(valueSemantics.isCardinalityMultiple()) {
log.warn("found multiple ValueSemanticsProvider for value type {}; using the first", cls);
- } else {
- log.warn("could not find a ValueSemanticsProvider for value type {}; using a no-op fallback", cls);
+ } else if(valueSemantics.isEmpty()) {
+ log.warn("could not find a ValueSemanticsProvider for value type {}; using a no-op fallback",cls);
super.addAllFacetsForValueSemantics(getFallbackValueSemantics(), facetHolder);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
index 8a3387d..8a6eed5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
@@ -104,11 +104,6 @@ extends FacetFactoryAbstract {
holder.addFacet(new DefaultedFacetUsingDefaultsProvider(defaultsProvider, holder));
}
- // if the SemanticsProvider is a facet then add it as a contributing facet
- if(semanticsProvider instanceof Facet) {
- holder.addFacet(((Facet) semanticsProvider));
- }
-
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
index 5530f57..66a2b8b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
@@ -307,10 +307,6 @@ extends ProgrammingModelAbstract {
// must come after CollectionFacetFactory
addFactory(FacetProcessingOrder.Z1_FINALLY, new ParentedFacetSinceCollectionFactory(mmc));
- // so we can dogfood the applib "value" types
- addFactory(FacetProcessingOrder.Z1_FINALLY, new ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory(mmc));
-
-
// should come near the end, after any facets that install PropertySetterFacet have run.
addFactory(FacetProcessingOrder.Z1_FINALLY, new DisabledFacetOnPropertyInferredFactory(mmc));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
index 30857f7..b83db45 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
@@ -67,7 +67,7 @@ extends AbstractFacetFactoryJUnit4TestCase {
@Test
public void verifyProgrammingModelNumberOfFactories() {
- assertEquals(95, programmingModel.streamFactories().count());
+ assertEquals(94, programmingModel.streamFactories().count());
}
@Test //verify we have the javac -parameter flag set when compiling this class
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 53c10c6..ab94058 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.metamodel.semantics.AsciiDocValueSemanticsProvider;
+import org.apache.isis.valuetypes.asciidoc.metamodel.semantics.AsciiDocValueSemantics;
import lombok.val;
@@ -36,7 +36,7 @@ public class LibraryPreloadingService {
@PostConstruct
public void preloadLibraries() {
val tasks = _ConcurrentTaskList.named("LibraryPreloading")
- .addRunnable("Preload JRuby for AsciiDoc", AsciiDocValueSemanticsProvider::loadJRuby);
+ .addRunnable("Preload JRuby for AsciiDoc", AsciiDocValueSemantics::loadJRuby);
tasks.submit(_ConcurrentContext.forkJoin());
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java
new file mode 100644
index 0000000..d60ca07
--- /dev/null
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java
@@ -0,0 +1,18 @@
+package demoapp.dom._infra.resources;
+
+import javax.inject.Named;
+
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import org.apache.isis.valuetypes.asciidoc.metamodel.semantics.AsciiDocValueSemantics;
+
+@Component
+@Named("demo.AsciiDocValueSemantics")
+@Qualifier("adoc-pre-processor")
+public class AsciiDocValueSemanticsWithPreprocessing
+extends AsciiDocValueSemantics {
+
+ //FIXME add pre-processing stuff
+
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/MarkdownReaderService.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/MarkdownReaderService.java
index 463ed5c..83d68ad 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/MarkdownReaderService.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/MarkdownReaderService.java
@@ -43,13 +43,13 @@ public class MarkdownReaderService {
public Markdown readFor(Class<?> aClass) {
val markdownResourceName = String.format("%s.md", aClass.getSimpleName());
val markdown = resourceReaderService.readResource(aClass, markdownResourceName);
- return Markdown.valueOfMarkdown(markdown);
+ return Markdown.valueOf(markdown);
}
public Markdown readFor(Class<?> aClass, final String member) {
val markdownResourceName = String.format("%s-%s.md", aClass.getSimpleName(), member);
val markdown = resourceReaderService.readResource(aClass, markdownResourceName);
- return Markdown.valueOfMarkdown(markdown);
+ return Markdown.valueOf(markdown);
}
diff --git a/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java b/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
index 9d99917..91587c1 100644
--- a/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
+++ b/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
@@ -28,6 +28,7 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.ui.IsisModuleExtPdfjsUi;
import org.apache.isis.valuetypes.asciidoc.metamodel.IsisModuleValAsciidocMetaModel;
import org.apache.isis.valuetypes.asciidoc.persistence.jdo.dn5.IsisModuleValAsciidocPersistenceJdoDn5;
import org.apache.isis.valuetypes.asciidoc.ui.wkt.IsisModuleValAsciidocUiWkt;
+import org.apache.isis.valuetypes.markdown.metamodel.IsisModuleValMarkdownMetaModel;
import org.apache.isis.valuetypes.markdown.persistence.jdo.dn5.IsisModuleValMarkdownPersistenceJdoDn5;
import org.apache.isis.valuetypes.markdown.ui.wkt.IsisModuleValMarkdownUiWkt;
import org.apache.isis.valuetypes.sse.ui.wkt.IsisModuleValSseUiWkt;
@@ -46,6 +47,7 @@ import demoapp.webapp.wicket.common.ui.DemoAppWicketCommon;
// Metamodel
IsisModuleValAsciidocMetaModel.class,
+ IsisModuleValMarkdownMetaModel.class,
// UI (Wicket Viewer)
IsisModuleViewerWicketViewer.class,
diff --git a/examples/demo/wicket/jpa/src/main/java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java b/examples/demo/wicket/jpa/src/main/java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java
index eecfe2c..e83c52e 100644
--- a/examples/demo/wicket/jpa/src/main/java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java
+++ b/examples/demo/wicket/jpa/src/main/java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java
@@ -28,6 +28,7 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.ui.IsisModuleExtPdfjsUi;
import org.apache.isis.valuetypes.asciidoc.metamodel.IsisModuleValAsciidocMetaModel;
import org.apache.isis.valuetypes.asciidoc.persistence.jpa.IsisModuleValAsciidocPersistenceJpa;
import org.apache.isis.valuetypes.asciidoc.ui.wkt.IsisModuleValAsciidocUiWkt;
+import org.apache.isis.valuetypes.markdown.metamodel.IsisModuleValMarkdownMetaModel;
import org.apache.isis.valuetypes.markdown.persistence.jpa.IsisModuleValMarkdownPersistenceJpa;
import org.apache.isis.valuetypes.markdown.ui.wkt.IsisModuleValMarkdownUiWkt;
import org.apache.isis.valuetypes.sse.ui.wkt.IsisModuleValSseUiWkt;
@@ -46,6 +47,7 @@ import demoapp.webapp.wicket.common.ui.DemoAppWicketCommon;
// Metamodel
IsisModuleValAsciidocMetaModel.class,
+ IsisModuleValMarkdownMetaModel.class,
// UI (Wicket Viewer)
IsisModuleViewerWicketViewer.class,
diff --git a/incubator/pom.xml b/incubator/pom.xml
index 7473fdd..05122ef 100644
--- a/incubator/pom.xml
+++ b/incubator/pom.xml
@@ -187,6 +187,7 @@
<!-- <module>clients/kroviz</module> -->
<module>viewers/vaadin</module>
<module>viewers/javafx</module>
+ <module>../valuetypes/prism/vaadin</module>
<module>../valuetypes/asciidoc/ui/vaadin</module>
</modules>
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 b971819..ddaa9de 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
@@ -75,9 +75,7 @@ public final class AsciiDoc implements HasHtml, Serializable {
@Override
public String toString() {
- return "AsciiDoc[length="+ adoc.length()+"]";
+ return "AsciiDoc[length=" + adoc.length() + "]";
}
-
-
}
diff --git a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/IsisModuleValAsciidocMetaModel.java b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/IsisModuleValAsciidocMetaModel.java
index 29ddae4..5a94add 100644
--- a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/IsisModuleValAsciidocMetaModel.java
+++ b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/IsisModuleValAsciidocMetaModel.java
@@ -33,40 +33,40 @@ import org.apache.isis.core.metamodel.valuetypes.ValueTypeDefinition;
import org.apache.isis.core.metamodel.valuetypes.ValueTypeProvider;
import org.apache.isis.schema.common.v2.ValueType;
import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
-import org.apache.isis.valuetypes.asciidoc.metamodel.semantics.AsciiDocValueSemanticsProvider;
+import org.apache.isis.valuetypes.asciidoc.metamodel.semantics.AsciiDocValueSemantics;
/**
* @since 2.0 {@index}
*/
@Configuration
@Import({
- AsciiDocMetaModelRefiner.class,
- AsciiDocValueTypeProvider.class,
+ IsisModuleValAsciidocMetaModel.AsciiDocMetaModelRefiner.class,
+ IsisModuleValAsciidocMetaModel.AsciiDocValueTypeProvider.class,
- AsciiDocValueSemanticsProvider.class,
+ AsciiDocValueSemantics.class,
})
public class IsisModuleValAsciidocMetaModel {
-}
-
-@Component
-@Named("isis.val.AsciiDocMetaModelRefiner")
-class AsciiDocMetaModelRefiner implements MetaModelRefiner {
- @Override
- public void refineProgrammingModel(final ProgrammingModel programmingModel) {
-// blueprint
-// programmingModel.addFactory(
-// ProgrammingModel.FacetProcessingOrder.G1_VALUE_TYPES,
-// AsciiDocValueFacetUsingSemanticsProviderFactory.class);
+ @Component
+ @Named("isis.val.AsciiDocMetaModelRefiner")
+ class AsciiDocMetaModelRefiner implements MetaModelRefiner {
+ @Override
+ public void refineProgrammingModel(final ProgrammingModel programmingModel) {
+ // blueprint
+ // programmingModel.addFactory(
+ // ProgrammingModel.FacetProcessingOrder.G1_VALUE_TYPES,
+ // AsciiDocValueFacetUsingSemanticsProviderFactory.class);
+ }
}
-}
-@Component
-@Named("isis.val.AsciiDocValueTypeProvider")
-class AsciiDocValueTypeProvider implements ValueTypeProvider {
- @Override
- public Collection<ValueTypeDefinition> definitions() {
- return Collections.singletonList(
- ValueTypeDefinition.of(AsciiDoc.class, ValueType.STRING));
+ @Component
+ @Named("isis.val.AsciiDocValueTypeProvider")
+ class AsciiDocValueTypeProvider implements ValueTypeProvider {
+ @Override
+ public Collection<ValueTypeDefinition> definitions() {
+ return Collections.singletonList(
+ ValueTypeDefinition.of(AsciiDoc.class, ValueType.STRING));
+ }
}
+
}
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/AsciiDocValueSemantics.java
similarity index 75%
rename from valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemanticsProvider.java
rename to valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemantics.java
index 66523af..c775999 100644
--- 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/AsciiDocValueSemantics.java
@@ -23,27 +23,28 @@ import javax.inject.Named;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.adapters.AbstractValueSemanticsProvider;
-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.Renderer;
import org.apache.isis.applib.adapters.ValueSemanticsProvider;
import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
@Component
-@Named("isis.val.AsciiDocValueSemanticsProvider")
-public class AsciiDocValueSemanticsProvider
+@Named("isis.val.AsciiDocValueSemantics")
+public class AsciiDocValueSemantics
extends AbstractValueSemanticsProvider<AsciiDoc>
implements
- //EncoderDecoder<AsciiDoc>,
Renderer<AsciiDoc>,
Parser<AsciiDoc> {
+ // -- RENDERER
+
@Override
public String presentationValue(final ValueSemanticsProvider.Context context, final AsciiDoc adoc) {
- return adoc != null? adoc.asHtml(): "[null]";
+ return render(adoc, AsciiDoc::asHtml);
}
+ // -- PARSER
+
@Override
public String parseableTextRepresentation(final ValueSemanticsProvider.Context context, final AsciiDoc adoc) {
return adoc!=null ? adoc.getAdoc() : null;
@@ -59,26 +60,6 @@ implements
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/ui/vaadin/pom.xml b/valuetypes/asciidoc/ui/vaadin/pom.xml
index fe94201..aaa1d24 100644
--- a/valuetypes/asciidoc/ui/vaadin/pom.xml
+++ b/valuetypes/asciidoc/ui/vaadin/pom.xml
@@ -36,6 +36,12 @@
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-prism-vaadin</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
diff --git a/valuetypes/asciidoc/ui/vaadin/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/vaa/components/AsciiDocFieldVaa.java b/valuetypes/asciidoc/ui/vaadin/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/vaa/components/AsciiDocFieldVaa.java
index cbf6c9a..61370a6 100644
--- a/valuetypes/asciidoc/ui/vaadin/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/vaa/components/AsciiDocFieldVaa.java
+++ b/valuetypes/asciidoc/ui/vaadin/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/vaa/components/AsciiDocFieldVaa.java
@@ -26,6 +26,7 @@ import com.vaadin.flow.component.html.Div;
import org.apache.isis.incubator.viewer.vaadin.ui.util.LocalResourceUtil;
import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
+import org.apache.isis.valuetypes.prism.vaa.PrismResourcesVaa;
public class AsciiDocFieldVaa extends CustomField<AsciiDoc> {
@@ -34,13 +35,13 @@ public class AsciiDocFieldVaa extends CustomField<AsciiDoc> {
private final Div div = new Div();
private AsciiDoc markup;
- public AsciiDocFieldVaa(String label) {
+ public AsciiDocFieldVaa(final String label) {
super();
setLabel(label);
add(div);
- LocalResourceUtil.addStyleSheet(PrismResources.getCssResourceReference());
- LocalResourceUtil.executeJavaScript(PrismResources::readJsResource);
+ LocalResourceUtil.addStyleSheet(PrismResourcesVaa.getCssResourceReference());
+ LocalResourceUtil.executeJavaScript(PrismResourcesVaa::readJsResource);
}
@Override
@@ -49,7 +50,7 @@ public class AsciiDocFieldVaa extends CustomField<AsciiDoc> {
}
@Override
- protected void setPresentationValue(@Nullable AsciiDoc markup) {
+ protected void setPresentationValue(@Nullable final AsciiDoc markup) {
this.markup = markup;
div.removeAll();
diff --git a/valuetypes/asciidoc/ui/wicket/pom.xml b/valuetypes/asciidoc/ui/wicket/pom.xml
index e396262..7831c34 100644
--- a/valuetypes/asciidoc/ui/wicket/pom.xml
+++ b/valuetypes/asciidoc/ui/wicket/pom.xml
@@ -52,6 +52,12 @@
<artifactId>isis-viewer-wicket-ui</artifactId>
<scope>provided</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-prism-wicket</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
diff --git a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocComponentWkt.java b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocComponentWkt.java
index b4c13b8..61419a6 100644
--- a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocComponentWkt.java
+++ b/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/AsciiDocComponentWkt.java
@@ -26,7 +26,7 @@ import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.resource.ResourceReference;
-import org.apache.isis.valuetypes.asciidoc.ui.wkt.components.prism.PrismResources;
+import org.apache.isis.valuetypes.prism.wkt.PrismResourcesWkt;
import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponent;
import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponent_reloadJs;
@@ -36,27 +36,27 @@ public class AsciiDocComponentWkt extends MarkupComponent {
private static final long serialVersionUID = 1L;
- public AsciiDocComponentWkt(String id, IModel<?> model) {
+ public AsciiDocComponentWkt(final String id, final IModel<?> model) {
super(id, model);
}
@Override
- public void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
+ public void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) {
val htmlContent = extractHtmlOrElse(getDefaultModelObject(), "" /*fallback*/);
replaceComponentTagBody(markupStream, openTag,
MarkupComponent_reloadJs.decorate(htmlContent, jsRef()));
}
@Override
- public void renderHead(IHeaderResponse response) {
+ public void renderHead(final IHeaderResponse response) {
super.renderHead(response);
- response.render(CssHeaderItem.forReference(PrismResources.getCssResourceReferenceWkt()));
+ response.render(CssHeaderItem.forReference(PrismResourcesWkt.getCssResourceReferenceWkt()));
response.render(JavaScriptHeaderItem.forReference(jsRef()));
}
private static final ResourceReference jsRef() {
- return PrismResources.getJsResourceReferenceWkt();
+ return PrismResourcesWkt.getJsResourceReferenceWkt();
}
}
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 937d82f..29a4864 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,6 +20,10 @@ 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;
@@ -29,13 +33,13 @@ public class AsciiDocForXmlComponentWkt extends AsciiDocComponentWkt {
setEnabled(false);
}
-// /**
-// * 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();
-// }
+ /**
+ * for convenience of subtypes.
+ * @param xml
+ */
+ protected final String asHtml(final String xml) {
+ val adoc = "[source,xml]\n----\n" + xml + "\n----";
+ return AsciiDoc.valueOf(adoc).asHtml();
+ }
}
diff --git a/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/jaxb/MarkdownJaxbAdapter.java b/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/jaxb/MarkdownJaxbAdapter.java
index ae3b4df..0bd4e6c 100644
--- a/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/jaxb/MarkdownJaxbAdapter.java
+++ b/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/jaxb/MarkdownJaxbAdapter.java
@@ -46,7 +46,7 @@ public final class MarkdownJaxbAdapter extends XmlAdapter<String, Markdown> {
return null;
}
final String markdown = _Strings.ofBytes(decoder.decode(v), StandardCharsets.UTF_8);
- return Markdown.valueOfMarkdown(markdown);
+ return Markdown.valueOf(markdown);
}
@Override
diff --git a/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/value/Markdown.java b/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/value/Markdown.java
index 53dd7d7..be1949a 100644
--- a/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/value/Markdown.java
+++ b/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/value/Markdown.java
@@ -19,6 +19,7 @@
package org.apache.isis.valuetypes.markdown.applib.value;
import java.io.Serializable;
+import java.util.Objects;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@@ -26,25 +27,34 @@ import org.apache.isis.applib.IsisModuleApplib;
import org.apache.isis.applib.value.HasHtml;
import org.apache.isis.valuetypes.markdown.applib.jaxb.MarkdownJaxbAdapter;
+import lombok.AccessLevel;
+import lombok.EqualsAndHashCode;
import lombok.Getter;
+import lombok.experimental.Accessors;
/**
* Immutable value type holding pre-rendered HTML.
*
+ * @since 2.0 {@index}
*/
@org.apache.isis.applib.annotation.Value(
logicalTypeName = IsisModuleApplib.NAMESPACE + ".value.Markdown")
+@EqualsAndHashCode
@XmlJavaTypeAdapter(MarkdownJaxbAdapter.class) // for JAXB view model support
public class Markdown implements HasHtml, Serializable {
private static final long serialVersionUID = 1L;
- public static Markdown valueOfMarkdown(final String markdown) {
+ public static Markdown valueOf(final String markdown) {
return new Markdown(markdown);
}
- @Getter
- private final String markdown;
+ @Getter private final String markdown;
+
+ @EqualsAndHashCode.Exclude
+ @Getter(lazy = true, value = AccessLevel.PRIVATE)
+ @Accessors(fluent = true)
+ private final String html = Converter.mdToHtml(getMarkdown());
public Markdown() {
this(null);
@@ -56,32 +66,16 @@ public class Markdown implements HasHtml, Serializable {
@Override
public String asHtml() {
- return Converter.mdToHtml(markdown);
+ return html();
}
public boolean isEqualTo(final Markdown other) {
- return other != null && this.markdown.equals(other.markdown);
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- return isEqualTo((Markdown) obj);
- }
-
- @Override
- public int hashCode() {
- return markdown.hashCode();
+ return Objects.equals(this, other);
}
@Override
public String toString() {
- return "Markdown[length="+ markdown.length()+", html="+ markdown +"]";
+ return "Markdown[length=" + markdown.length() + "]";
}
}
diff --git a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/IsisModuleValMarkdownMetaModel.java b/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/IsisModuleValMarkdownMetaModel.java
index f85bba1..5da6620 100644
--- a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/IsisModuleValMarkdownMetaModel.java
+++ b/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/IsisModuleValMarkdownMetaModel.java
@@ -33,41 +33,41 @@ import org.apache.isis.core.metamodel.valuetypes.ValueTypeDefinition;
import org.apache.isis.core.metamodel.valuetypes.ValueTypeProvider;
import org.apache.isis.schema.common.v2.ValueType;
import org.apache.isis.valuetypes.markdown.applib.value.Markdown;
-import org.apache.isis.valuetypes.markdown.metamodel.facets.MarkdownValueSemanticsProvider;
+import org.apache.isis.valuetypes.markdown.metamodel.semantics.MarkdownValueSemantics;
/**
* @since 2.0 {@index}
*/
@Configuration
@Import({
- MarkdownMetaModelRefiner.class,
- MarkdownValueTypeProvider.class,
+ IsisModuleValMarkdownMetaModel.MarkdownMetaModelRefiner.class,
+ IsisModuleValMarkdownMetaModel.MarkdownValueTypeProvider.class,
- MarkdownValueSemanticsProvider.class,
+ MarkdownValueSemantics.class,
})
public class IsisModuleValMarkdownMetaModel {
-}
-
-@Component
-@Named("isis.val.MarkdownMetaModelRefiner")
-class MarkdownMetaModelRefiner implements MetaModelRefiner {
- @Override
- public void refineProgrammingModel(final ProgrammingModel programmingModel) {
-//blueprint
-// programmingModel.addFactory(
-// ProgrammingModel.FacetProcessingOrder.G1_VALUE_TYPES,
-// MarkdownValueFacetUsingSemanticsProviderFactory.class);
+ @Component
+ @Named("isis.val.MarkdownMetaModelRefiner")
+ class MarkdownMetaModelRefiner implements MetaModelRefiner {
+ @Override
+ public void refineProgrammingModel(final ProgrammingModel programmingModel) {
+ //blueprint
+ // programmingModel.addFactory(
+ // ProgrammingModel.FacetProcessingOrder.G1_VALUE_TYPES,
+ // MarkdownValueFacetUsingSemanticsProviderFactory.class);
+ }
}
-}
-@Component
-@Named("isis.val.MarkdownValueTypeProvider")
-class MarkdownValueTypeProvider implements ValueTypeProvider {
- @Override
- public Collection<ValueTypeDefinition> definitions() {
- return Collections.singletonList(
- ValueTypeDefinition.of(Markdown.class, ValueType.STRING));
+ @Component
+ @Named("isis.val.MarkdownValueTypeProvider")
+ class MarkdownValueTypeProvider implements ValueTypeProvider {
+ @Override
+ public Collection<ValueTypeDefinition> definitions() {
+ return Collections.singletonList(
+ ValueTypeDefinition.of(Markdown.class, ValueType.STRING));
+ }
}
-}
+
+}
\ No newline at end of file
diff --git a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/facets/MarkdownValueFacet.java b/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/facets/MarkdownValueFacet.java
deleted file mode 100644
index abb9df8..0000000
--- a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/facets/MarkdownValueFacet.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.markdown.metamodel.facets;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-
-public interface MarkdownValueFacet extends Facet {
-
- String markdownValue(ManagedObject object);
- ManagedObject createValue(ManagedObject object, String html);
-
-}
diff --git a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/facets/MarkdownValueSemanticsProvider.java b/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/facets/MarkdownValueSemanticsProvider.java
deleted file mode 100644
index 19bff4a..0000000
--- a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/facets/MarkdownValueSemanticsProvider.java
+++ /dev/null
@@ -1,83 +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.markdown.metamodel.facets;
-
-import org.apache.isis.applib.adapters.EncoderDecoder;
-import org.apache.isis.applib.adapters.ValueSemanticsProvider;
-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.markdown.applib.value.Markdown;
-
-public class MarkdownValueSemanticsProvider
-extends ValueSemanticsProviderAndFacetAbstract<Markdown>
-implements MarkdownValueFacet {
-
- private static final int TYPICAL_LENGTH = 0;
-
- private static Class<? extends Facet> type() {
- return MarkdownValueFacet.class;
- }
-
- private static final Markdown DEFAULT_VALUE = null;
-
- public MarkdownValueSemanticsProvider(final FacetHolder holder) {
- super(type(), holder, Markdown.class, TYPICAL_LENGTH, -1, Immutability.IMMUTABLE, EqualByContent.NOT_HONOURED, DEFAULT_VALUE);
- }
-
-
- @Override
- protected Markdown doParse(final ValueSemanticsProvider.Context context, final String html) {
- return fromEncodedString(html);
- }
-
- @Override
- public String titleString(final Object object) {
- return object != null? ((Markdown)object).asHtml(): "[null]";
- }
-
- @Override
- public String toEncodedString(final Markdown markdown) {
- return markdown.getMarkdown();
- }
-
- @Override
- public Markdown fromEncodedString(final String markdown) {
- return new Markdown(markdown);
- }
-
- // -- MarkdownValueFacet
-
- @Override
- public String markdownValue(final ManagedObject object) {
- if (object == null) {
- return "";
- }
- final Markdown markdown = (Markdown) object.getPojo();
- return markdown.getMarkdown();
- }
-
- @Override
- public ManagedObject createValue(final ManagedObject object, final String md) {
- final Markdown markdown = Markdown.valueOfMarkdown(md);
- return getObjectManager().adapt(markdown);
- }
-
-}
diff --git a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/semantics/MarkdownValueSemantics.java b/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/semantics/MarkdownValueSemantics.java
new file mode 100644
index 0000000..70238e7
--- /dev/null
+++ b/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/semantics/MarkdownValueSemantics.java
@@ -0,0 +1,88 @@
+/*
+ * 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.markdown.metamodel.semantics;
+
+import javax.inject.Named;
+
+import org.springframework.stereotype.Component;
+
+import org.apache.isis.applib.adapters.AbstractValueSemanticsProvider;
+import org.apache.isis.applib.adapters.EncoderDecoder;
+import org.apache.isis.applib.adapters.Parser;
+import org.apache.isis.applib.adapters.Renderer;
+import org.apache.isis.valuetypes.markdown.applib.value.Markdown;
+
+@Component
+@Named("isis.val.MarkdownValueSemantics")
+public class MarkdownValueSemantics
+extends AbstractValueSemanticsProvider<Markdown>
+implements
+ EncoderDecoder<Markdown>,
+ Parser<Markdown>,
+ Renderer<Markdown> {
+
+ // -- ENCODER DECODER
+
+ @Override
+ public String toEncodedString(final Markdown markdown) {
+ if(markdown==null) {
+ return null;
+ }
+ return markdown.getMarkdown();
+ }
+
+ @Override
+ public Markdown fromEncodedString(final String data) {
+ if(data==null) {
+ return null;
+ }
+ return Markdown.valueOf(data);
+ }
+
+ // -- RENDERER
+
+ @Override
+ public String presentationValue(final Context context, final Markdown value) {
+ return render(value, Markdown::asHtml);
+ }
+
+ // -- PARSER
+
+ @Override
+ public String parseableTextRepresentation(final Context context, final Markdown value) {
+ if(value==null) {
+ return null;
+ }
+ return value.getMarkdown();
+ }
+
+ @Override
+ public Markdown parseTextRepresentation(final Context context, final String text) {
+ if(text==null) {
+ return null;
+ }
+ return Markdown.valueOf(text);
+ }
+
+ @Override
+ public int typicalLength() {
+ return 0;
+ }
+
+}
diff --git a/valuetypes/markdown/persistence/jdo/src/main/java/org/apache/isis/valuetypes/markdown/persistence/jdo/dn5/converters/IsisMarkdownConverter.java b/valuetypes/markdown/persistence/jdo/src/main/java/org/apache/isis/valuetypes/markdown/persistence/jdo/dn5/converters/IsisMarkdownConverter.java
index d6a6f2c..7798477 100644
--- a/valuetypes/markdown/persistence/jdo/src/main/java/org/apache/isis/valuetypes/markdown/persistence/jdo/dn5/converters/IsisMarkdownConverter.java
+++ b/valuetypes/markdown/persistence/jdo/src/main/java/org/apache/isis/valuetypes/markdown/persistence/jdo/dn5/converters/IsisMarkdownConverter.java
@@ -39,7 +39,7 @@ public class IsisMarkdownConverter implements TypeConverter<Markdown, String>{
@Override
public Markdown toMemberType(final String datastoreValue) {
return datastoreValue != null
- ? Markdown.valueOfMarkdown(datastoreValue)
+ ? Markdown.valueOf(datastoreValue)
: null;
}
diff --git a/valuetypes/markdown/persistence/jpa/src/main/java/org/apache/isis/valuetypes/markdown/persistence/jpa/converters/IsisMarkdownConverter.java b/valuetypes/markdown/persistence/jpa/src/main/java/org/apache/isis/valuetypes/markdown/persistence/jpa/converters/IsisMarkdownConverter.java
index f812c39..dac34ee 100644
--- a/valuetypes/markdown/persistence/jpa/src/main/java/org/apache/isis/valuetypes/markdown/persistence/jpa/converters/IsisMarkdownConverter.java
+++ b/valuetypes/markdown/persistence/jpa/src/main/java/org/apache/isis/valuetypes/markdown/persistence/jpa/converters/IsisMarkdownConverter.java
@@ -39,7 +39,7 @@ public class IsisMarkdownConverter implements AttributeConverter<Markdown, Strin
@Override
public Markdown convertToEntityAttribute(final String datastoreValue) {
return datastoreValue != null
- ? Markdown.valueOfMarkdown(datastoreValue)
+ ? Markdown.valueOf(datastoreValue)
: null;
}
diff --git a/valuetypes/markdown/ui/wicket/pom.xml b/valuetypes/markdown/ui/wicket/pom.xml
index c180c2d..9ec1e3f 100644
--- a/valuetypes/markdown/ui/wicket/pom.xml
+++ b/valuetypes/markdown/ui/wicket/pom.xml
@@ -51,6 +51,12 @@
<groupId>org.apache.isis.viewer</groupId>
<artifactId>isis-viewer-wicket-ui</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-prism-wicket</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
diff --git a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/IsisModuleValMarkdownUiWkt.java b/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/IsisModuleValMarkdownUiWkt.java
index 94a63c9..d3a50b9 100644
--- a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/IsisModuleValMarkdownUiWkt.java
+++ b/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/IsisModuleValMarkdownUiWkt.java
@@ -22,7 +22,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.apache.isis.valuetypes.markdown.applib.IsisModuleValMarkdownApplib;
-import org.apache.isis.valuetypes.markdown.ui.wkt.components.MarkdownPanelFactoriesForWicket;
+import org.apache.isis.valuetypes.markdown.ui.wkt.components.MarkdownPanelFactoriesWkt;
/**
* @since 2.0 {@index}
@@ -30,8 +30,9 @@ import org.apache.isis.valuetypes.markdown.ui.wkt.components.MarkdownPanelFactor
@Configuration
@Import({
IsisModuleValMarkdownApplib.class,
- MarkdownPanelFactoriesForWicket.Parented.class,
- MarkdownPanelFactoriesForWicket.Standalone.class,
+ MarkdownPanelFactoriesWkt.Parented.class,
+ MarkdownPanelFactoriesWkt.Standalone.class,
})
public class IsisModuleValMarkdownUiWkt {
+
}
diff --git a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownComponent.java b/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownComponentWkt.java
similarity index 67%
rename from valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownComponent.java
rename to valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownComponentWkt.java
index 781df45..8715899 100644
--- a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownComponent.java
+++ b/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownComponentWkt.java
@@ -24,44 +24,39 @@ 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.CssResourceReference;
-import org.apache.wicket.request.resource.JavaScriptResourceReference;
+import org.apache.wicket.request.resource.ResourceReference;
-import org.apache.isis.commons.internal.base._Lazy;
+import org.apache.isis.valuetypes.prism.wkt.PrismResourcesWkt;
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 MarkdownComponent extends MarkupComponent {
+public class MarkdownComponentWkt extends MarkupComponent {
private static final long serialVersionUID = 1L;
- public MarkdownComponent(String id, IModel<?> model) {
+ public MarkdownComponentWkt(final String id, final IModel<?> model) {
super(id, model);
}
@Override
- public void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
+ public void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) {
val htmlContent = extractHtmlOrElse(getDefaultModelObject(), "" /*fallback*/);
replaceComponentTagBody(markupStream, openTag,
- MarkupComponent_reloadJs.decorate(htmlContent, jsRef.get()));
+ MarkupComponent_reloadJs.decorate(htmlContent, jsRef()));
}
@Override
- public void renderHead(IHeaderResponse response) {
+ public void renderHead(final IHeaderResponse response) {
super.renderHead(response);
- response.render(CssHeaderItem.forReference(
- new CssResourceReference(MarkdownComponent.class, "css/prism.css")));
-
- response.render(JavaScriptHeaderItem.forReference(jsRef.get()));
-
+ response.render(CssHeaderItem.forReference(PrismResourcesWkt.getCssResourceReferenceWkt()));
+ response.render(JavaScriptHeaderItem.forReference(jsRef()));
}
- // -- HELPER
-
- private static final _Lazy<JavaScriptResourceReference> jsRef = _Lazy.threadSafe(()->
- new JavaScriptResourceReference(MarkdownComponent.class, "js/prism1.14.js"));
+ private static final ResourceReference jsRef() {
+ return PrismResourcesWkt.getJsResourceReferenceWkt();
+ }
}
diff --git a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownPanelFactoriesForWicket.java b/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownPanelFactoriesWkt.java
similarity index 84%
rename from valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownPanelFactoriesForWicket.java
rename to valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownPanelFactoriesWkt.java
index 570a491..ca69bda 100644
--- a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownPanelFactoriesForWicket.java
+++ b/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/MarkdownPanelFactoriesWkt.java
@@ -18,7 +18,8 @@
*/
package org.apache.isis.valuetypes.markdown.ui.wkt.components;
-import org.apache.isis.applib.annotation.Programmatic;
+import org.springframework.stereotype.Component;
+
import org.apache.isis.valuetypes.markdown.applib.value.Markdown;
import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponentFactory;
import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactories;
@@ -31,11 +32,11 @@ import lombok.val;
* the {@link Markdown} value-type which requires client-side java-script to be
* executed to enable syntax highlighting
*/
-public class MarkdownPanelFactoriesForWicket {
+public class MarkdownPanelFactoriesWkt {
// -- PARENTED
- @Programmatic
+ @Component
public static class Parented extends MarkupPanelFactories.ParentedAbstract {
private static final long serialVersionUID = 1L;
@@ -46,7 +47,7 @@ public class MarkdownPanelFactoriesForWicket {
@Override
protected MarkupComponentFactory getMarkupComponentFactory() {
return (id, model) -> {
- val markupComponent = new org.apache.isis.valuetypes.markdown.ui.wkt.components.MarkdownComponent(id, model);
+ val markupComponent = new MarkdownComponentWkt(id, model);
markupComponent.setEnabled(false);
return markupComponent;
};
@@ -57,7 +58,7 @@ public class MarkdownPanelFactoriesForWicket {
// -- STANDALONE
- @Programmatic
+ @Component
public static class Standalone extends MarkupPanelFactories.StandaloneAbstract {
private static final long serialVersionUID = 1L;
@@ -67,10 +68,7 @@ public class MarkdownPanelFactoriesForWicket {
@Override
protected MarkupComponentFactory getMarkupComponentFactory() {
- return (id, model) -> {
- val markupComponent = new MarkdownComponent(id, model);
- return markupComponent;
- };
+ return MarkdownComponentWkt::new;
}
}
diff --git a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/css/prism.css b/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/css/prism.css
deleted file mode 100644
index 2a760d2..0000000
--- a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/css/prism.css
+++ /dev/null
@@ -1,150 +0,0 @@
-/* PrismJS 1.14.0
-http://prismjs.com/download.html#themes=prism-solarizedlight&languages=markup+css+clike+javascript+java */
-/*
- Solarized Color Schemes originally by Ethan Schoonover
- http://ethanschoonover.com/solarized
-
- Ported for PrismJS by Hector Matos
- Website: https://krakendev.io
- Twitter Handle: https://twitter.com/allonsykraken)
-*/
-
-/*
-SOLARIZED HEX
---------- -------
-base03 #002b36
-base02 #073642
-base01 #586e75
-base00 #657b83
-base0 #839496
-base1 #93a1a1
-base2 #eee8d5
-base3 #fdf6e3
-yellow #b58900
-orange #cb4b16
-red #dc322f
-magenta #d33682
-violet #6c71c4
-blue #268bd2
-cyan #2aa198
-green #859900
-*/
-
-code[class*="language-"],
-pre[class*="language-"] {
- color: #657b83; /* base00 */
- font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
- text-align: left;
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
- word-wrap: normal;
-
- line-height: 1.5;
-
- -moz-tab-size: 4;
- -o-tab-size: 4;
- tab-size: 4;
-
- -webkit-hyphens: none;
- -moz-hyphens: none;
- -ms-hyphens: none;
- hyphens: none;
-}
-
-pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
-code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
- background: #073642; /* base02 */
-}
-
-pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
-code[class*="language-"]::selection, code[class*="language-"] ::selection {
- background: #073642; /* base02 */
-}
-
-/* Code blocks */
-pre[class*="language-"] {
- padding: 1em;
- margin: .5em 0;
- overflow: auto;
- border-radius: 0.3em;
-}
-
-:not(pre) > code[class*="language-"],
-pre[class*="language-"] {
- background-color: #fdf6e3; /* base3 */
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
- padding: .1em;
- border-radius: .3em;
-}
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata {
- color: #93a1a1; /* base1 */
-}
-
-.token.punctuation {
- color: #586e75; /* base01 */
-}
-
-.namespace {
- opacity: .7;
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: #268bd2; /* blue */
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.url,
-.token.inserted {
- color: #2aa198; /* cyan */
-}
-
-.token.entity {
- color: #657b83; /* base00 */
- background: #eee8d5; /* base2 */
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: #859900; /* green */
-}
-
-.token.function {
- color: #b58900; /* yellow */
-}
-
-.token.regex,
-.token.important,
-.token.variable {
- color: #cb4b16; /* orange */
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/js/prism1.14.js b/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/js/prism1.14.js
deleted file mode 100644
index 2d22f87..0000000
--- a/valuetypes/markdown/ui/wicket/src/main/java/org/apache/isis/valuetypes/markdown/ui/wkt/components/js/prism1.14.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/* PrismJS 1.14.0
-http://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+java */
-var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-([\w-]+)\b/i,t=0,n=_self.Prism={manual:_self.Prism&&_self.Prism.manual,disableWorkerMessageHandler:_self.Prism&&_self.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof r?new r(e.type,n.util.encode(e.content),e.alias):"Array"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,"&").replace(/</ [...]
-Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehin [...]
-Prism.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},Prism.languages.css.atrule.inside.rest=Prism.languages [...]
-Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|conti [...]
-Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+ [...]
-Prism.languages.java=Prism.languages.extend("clike",{keyword:/\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d [...]
\ No newline at end of file
diff --git a/valuetypes/pom.xml b/valuetypes/pom.xml
index 994c42b..dc2664b 100644
--- a/valuetypes/pom.xml
+++ b/valuetypes/pom.xml
@@ -160,6 +160,7 @@
</dependencies>
<modules>
+ <module>prism</module>
<module>jodatime</module>
<module>asciidoc</module>
<module>markdown</module>
diff --git a/valuetypes/asciidoc/ui/vaadin/pom.xml b/valuetypes/prism/pom.xml
similarity index 63%
copy from valuetypes/asciidoc/ui/vaadin/pom.xml
copy to valuetypes/prism/pom.xml
index fe94201..e42862b 100644
--- a/valuetypes/asciidoc/ui/vaadin/pom.xml
+++ b/valuetypes/prism/pom.xml
@@ -16,27 +16,20 @@
<parent>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes-asciidoc-ui</artifactId>
+ <artifactId>isis-valuetypes</artifactId>
<version>2.0.0-SNAPSHOT</version>
</parent>
- <artifactId>isis-valuetypes-asciidoc-ui-vaa</artifactId>
- <name>Apache Isis Val - Asciidoctor (ui vaadin)</name>
+ <artifactId>isis-valuetypes-prism</artifactId>
+ <name>Apache Isis Val - Prism (Parent)</name>
+ <description>Client Side Syntax Highlighting</description>
- <properties>
- <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.asciidoc.ui.vaa</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/valuetypes/asciidoc/ui/vaa</git-plugin.propertiesDir>
- </properties>
-
- <dependencies>
+ <packaging>pom</packaging>
- <dependency>
- <groupId>org.apache.isis.incubator.viewer</groupId>
- <artifactId>isis-viewer-vaadin-ui</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
-
- </dependencies>
+ <modules>
+ <module>res</module>
+ <module>wkt</module>
+<!-- <module>vaa</module> incubator -->
+ </modules>
</project>
diff --git a/valuetypes/asciidoc/ui/vaadin/pom.xml b/valuetypes/prism/res/pom.xml
similarity index 64%
copy from valuetypes/asciidoc/ui/vaadin/pom.xml
copy to valuetypes/prism/res/pom.xml
index fe94201..77eb268 100644
--- a/valuetypes/asciidoc/ui/vaadin/pom.xml
+++ b/valuetypes/prism/res/pom.xml
@@ -16,27 +16,16 @@
<parent>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes-asciidoc-ui</artifactId>
+ <artifactId>isis-valuetypes-prism</artifactId>
<version>2.0.0-SNAPSHOT</version>
</parent>
- <artifactId>isis-valuetypes-asciidoc-ui-vaa</artifactId>
- <name>Apache Isis Val - Asciidoctor (ui vaadin)</name>
+ <artifactId>isis-valuetypes-prism-resources</artifactId>
+ <name>Apache Isis Val - Prism (resources)</name>
<properties>
- <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.asciidoc.ui.vaa</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/valuetypes/asciidoc/ui/vaa</git-plugin.propertiesDir>
+ <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.prism.resources</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/isis/valuetypes/prism/resources</git-plugin.propertiesDir>
</properties>
- <dependencies>
-
- <dependency>
- <groupId>org.apache.isis.incubator.viewer</groupId>
- <artifactId>isis-viewer-vaadin-ui</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
-
- </dependencies>
-
</project>
diff --git a/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/ui/Prism.java b/valuetypes/prism/res/src/main/java/org/apache/isis/valuetypes/prism/Prism.java
similarity index 95%
rename from valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/ui/Prism.java
rename to valuetypes/prism/res/src/main/java/org/apache/isis/valuetypes/prism/Prism.java
index f6642b0..954475d 100644
--- a/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/ui/Prism.java
+++ b/valuetypes/prism/res/src/main/java/org/apache/isis/valuetypes/prism/Prism.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.valuetypes.asciidoc.applib.ui;
+package org.apache.isis.valuetypes.prism;
import lombok.RequiredArgsConstructor;
diff --git a/valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/css/prism1.20-default.css b/valuetypes/prism/res/src/main/resources/static/prism/css/prism1.20-default.css
similarity index 100%
rename from valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/css/prism1.20-default.css
rename to valuetypes/prism/res/src/main/resources/static/prism/css/prism1.20-default.css
diff --git a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/css/prism1.24.1-coy.css b/valuetypes/prism/res/src/main/resources/static/prism/css/prism1.24.1-coy.css
similarity index 100%
rename from valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/css/prism1.24.1-coy.css
rename to valuetypes/prism/res/src/main/resources/static/prism/css/prism1.24.1-coy.css
diff --git a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/css/prism1.24.1-default.css b/valuetypes/prism/res/src/main/resources/static/prism/css/prism1.24.1-default.css
similarity index 100%
rename from valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/css/prism1.24.1-default.css
rename to valuetypes/prism/res/src/main/resources/static/prism/css/prism1.24.1-default.css
diff --git a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/js/prism1.20.js b/valuetypes/prism/res/src/main/resources/static/prism/js/prism1.20.js
similarity index 100%
rename from valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/js/prism1.20.js
rename to valuetypes/prism/res/src/main/resources/static/prism/js/prism1.20.js
diff --git a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/js/prism1.24.1.js b/valuetypes/prism/res/src/main/resources/static/prism/js/prism1.24.1.js
similarity index 100%
rename from valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/js/prism1.24.1.js
rename to valuetypes/prism/res/src/main/resources/static/prism/js/prism1.24.1.js
diff --git a/valuetypes/asciidoc/ui/vaadin/pom.xml b/valuetypes/prism/vaa/pom.xml
similarity index 64%
copy from valuetypes/asciidoc/ui/vaadin/pom.xml
copy to valuetypes/prism/vaa/pom.xml
index fe94201..a0ccdb7 100644
--- a/valuetypes/asciidoc/ui/vaadin/pom.xml
+++ b/valuetypes/prism/vaa/pom.xml
@@ -16,27 +16,32 @@
<parent>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes-asciidoc-ui</artifactId>
+ <artifactId>isis-valuetypes-prism</artifactId>
<version>2.0.0-SNAPSHOT</version>
</parent>
- <artifactId>isis-valuetypes-asciidoc-ui-vaa</artifactId>
- <name>Apache Isis Val - Asciidoctor (ui vaadin)</name>
+ <artifactId>isis-valuetypes-prism-vaadin</artifactId>
+ <name>Apache Isis Val - Prism (Vaadin)</name>
<properties>
- <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.asciidoc.ui.vaa</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/valuetypes/asciidoc/ui/vaa</git-plugin.propertiesDir>
+ <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.prism.vaadin</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/isis/valuetypes/prism/vaadin</git-plugin.propertiesDir>
</properties>
-
- <dependencies>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-prism-resources</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
<dependency>
- <groupId>org.apache.isis.incubator.viewer</groupId>
- <artifactId>isis-viewer-vaadin-ui</artifactId>
+ <groupId>org.apache.isis.incubator.viewer</groupId>
+ <artifactId>isis-viewer-vaadin-ui</artifactId>
<version>${project.version}</version>
- <scope>provided</scope>
+ <optional>true</optional>
</dependency>
-
+
</dependencies>
</project>
diff --git a/valuetypes/asciidoc/ui/vaadin/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/vaa/components/PrismResources.java b/valuetypes/prism/vaa/src/main/java/org/apache/isis/valuetypes/prism/vaa/PrismResourcesVaa.java
similarity index 86%
rename from valuetypes/asciidoc/ui/vaadin/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/vaa/components/PrismResources.java
rename to valuetypes/prism/vaa/src/main/java/org/apache/isis/valuetypes/prism/vaa/PrismResourcesVaa.java
index e22a8cc..6e0913a 100644
--- a/valuetypes/asciidoc/ui/vaadin/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/vaa/components/PrismResources.java
+++ b/valuetypes/prism/vaa/src/main/java/org/apache/isis/valuetypes/prism/vaa/PrismResourcesVaa.java
@@ -16,18 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.valuetypes.asciidoc.ui.vaa.components;
+package org.apache.isis.valuetypes.prism.vaa;
import java.io.InputStream;
import org.apache.isis.incubator.viewer.vaadin.ui.util.LocalResourceUtil;
-import org.apache.isis.valuetypes.asciidoc.applib.ui.Prism;
+import org.apache.isis.valuetypes.prism.Prism;
import lombok.Getter;
import lombok.experimental.UtilityClass;
@UtilityClass
-public final class PrismResources {
+public final class PrismResourcesVaa {
@Getter(lazy = true) private static final LocalResourceUtil.ResourceDescriptor cssResourceReference =
//LocalResourceUtil.ResourceDescriptor.webjars("prism/1.16.0/themes/prism.css");
@@ -39,7 +39,7 @@ public final class PrismResources {
LocalResourceUtil.ResourceDescriptor.staticRoot("prism/" + Prism.VAADIN.jsFile());
public static InputStream readJsResource() {
- return PrismResources.class.getResourceAsStream("/static/prism/" + Prism.VAADIN.jsFile());
+ return PrismResourcesVaa.class.getResourceAsStream("/static/prism/" + Prism.VAADIN.jsFile());
}
diff --git a/valuetypes/prism/wkt/pom.xml b/valuetypes/prism/wkt/pom.xml
new file mode 100644
index 0000000..0a079e4
--- /dev/null
+++ b/valuetypes/prism/wkt/pom.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 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. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-prism</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>isis-valuetypes-prism-wicket</artifactId>
+ <name>Apache Isis Val - Prism (Wicket)</name>
+
+ <properties>
+ <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.prism.wicket</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/isis/valuetypes/prism/wicket</git-plugin.propertiesDir>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-prism-resources</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- wicket-core only, non-transitive -->
+ <dependency>
+ <groupId>org.apache.wicket</groupId>
+ <artifactId>wicket-core</artifactId>
+ <optional>true</optional>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.wicket</groupId>
+ <artifactId>wicket-request</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.danekja</groupId>
+ <artifactId>jdk-serializable-functional</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.github.openjson</groupId>
+ <artifactId>openjson</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.wicket</groupId>
+ <artifactId>wicket-util</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ </dependencies>
+
+</project>
diff --git a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/PrismResources.java b/valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/PrismResourcesWkt.java
similarity index 82%
rename from valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/PrismResources.java
rename to valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/PrismResourcesWkt.java
index 4e6519c..3a56285 100644
--- a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/PrismResources.java
+++ b/valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/PrismResourcesWkt.java
@@ -16,28 +16,30 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.valuetypes.asciidoc.ui.wkt.components.prism;
+package org.apache.isis.valuetypes.prism.wkt;
import org.apache.wicket.request.resource.CssResourceReference;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.apache.wicket.request.resource.ResourceReference;
-import org.apache.isis.valuetypes.asciidoc.applib.ui.Prism;
+import org.apache.isis.valuetypes.prism.Prism;
import lombok.Getter;
import lombok.experimental.UtilityClass;
@UtilityClass
-public final class PrismResources {
+public final class PrismResourcesWkt{
+
+ //TODO convert to ContextRelativeResourceReference(s)
@Getter(lazy = true) private static final ResourceReference cssResourceReferenceWkt =
//new WebjarsCssResourceReference("prism/1.16.0/themes/prism.css");
- new CssResourceReference(PrismResources.class,
+ new CssResourceReference(PrismResourcesWkt.class,
Prism.WICKET.cssFile());
@Getter(lazy = true) private static final ResourceReference jsResourceReferenceWkt =
//new WebjarsJavaScriptResourceReference("prism/1.16.0/components/prism-java.min.js");
- new JavaScriptResourceReference(PrismResources.class,
+ new JavaScriptResourceReference(PrismResourcesWkt.class,
Prism.WICKET.jsFile());
}
diff --git a/valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/css/prism1.20-default.css b/valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/css/prism1.20-default.css
similarity index 100%
rename from valuetypes/asciidoc/ui/wicket/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/wkt/components/prism/css/prism1.20-default.css
rename to valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/css/prism1.20-default.css
diff --git a/valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/css/prism1.24.1-coy.css b/valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/css/prism1.24.1-coy.css
similarity index 100%
rename from valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/css/prism1.24.1-coy.css
rename to valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/css/prism1.24.1-coy.css
diff --git a/valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/css/prism1.24.1-default.css b/valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/css/prism1.24.1-default.css
similarity index 100%
rename from valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/css/prism1.24.1-default.css
rename to valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/css/prism1.24.1-default.css
diff --git a/valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/js/prism1.20.js b/valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/js/prism1.20.js
similarity index 100%
rename from valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/js/prism1.20.js
rename to valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/js/prism1.20.js
diff --git a/valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/js/prism1.24.1.js b/valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/js/prism1.24.1.js
similarity index 100%
rename from valuetypes/asciidoc/ui/vaadin/src/main/resources/static/prism/js/prism1.24.1.js
rename to valuetypes/prism/wkt/src/main/java/org/apache/isis/valuetypes/prism/wkt/js/prism1.24.1.js