You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2020/01/10 12:56:52 UTC
[isis] 06/22: ISIS-2259: reorg sse module
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2259
in repository https://gitbox.apache.org/repos/asf/isis.git
commit aeef432dc489d0bf881d4ee362a88f1ddccf664e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jan 10 12:22:51 2020 +0000
ISIS-2259: reorg sse module
---
examples/demo/pom.xml | 4 +--
.../demoapp/dom/actions/async/AsyncActionDemo.java | 8 ++---
.../java/demoapp/dom/actions/async/DemoTask.java | 4 +--
.../demo/src/main/java/demoapp/webapp/DemoApp.java | 6 ++--
valuetypes/asciidoc/ui/pom.xml | 2 +-
.../asciidoc/ui/IsisModuleValAsciidocUi.java | 4 +--
valuetypes/pom.xml | 16 ++++++---
valuetypes/sse/{ => applib}/pom.xml | 8 ++---
.../sse/applib/IsisModuleValSseApplib.java} | 4 +--
.../sse/applib/annotations}/ServerSentEvents.java | 2 +-
.../sse/applib/annotations}/SseSource.java | 6 ++--
.../extensions/sse/applib/service}/SseChannel.java | 4 ++-
.../extensions/sse/applib/service}/SseService.java | 4 ++-
.../sse/applib/value}/ListeningMarkup.java | 4 +--
valuetypes/sse/{ => metamodel}/pom.xml | 25 +++++--------
.../sse/metamodel/IsisModuleValSseMetaModel.java} | 17 +++++----
.../facets/SseAnnotationFacetFactory.java | 19 ++++++++--
.../sse/metamodel}/facets/SseObserveFacet.java | 4 +--
.../metamodel}/facets/SseObserveFacetAbstract.java | 4 +--
...eObserveFacetForServerSentEventsAnnotation.java | 6 ++--
valuetypes/sse/pom.xml | 41 +++++++---------------
.../isis/extensions/sse/SseMetaModelPlugin.java | 38 --------------------
valuetypes/sse/{ => ui}/pom.xml | 17 +++++----
.../extensions/sse/ui/IsisModuleValSseUi.java} | 15 ++++----
.../sse/ui}/markup/ListeningMarkupComponent.java | 2 +-
.../markup/ListeningMarkupComponent_observing.java | 2 +-
.../ListeningMarkupPanelFactoriesForWicket.java | 4 +--
.../sse/ui}/markup/js/ObservingComponent.js | 0
.../sse/ui}/services/SseServiceDefault.java | 8 ++---
.../sse/ui}/webmodule/ServerSentEventsServlet.java | 10 +++---
.../ui}/webmodule/WebModuleServerSentEvents.java | 2 +-
31 files changed, 131 insertions(+), 159 deletions(-)
diff --git a/examples/demo/pom.xml b/examples/demo/pom.xml
index 3767d13..eca3c8c 100644
--- a/examples/demo/pom.xml
+++ b/examples/demo/pom.xml
@@ -79,7 +79,7 @@
<dependency>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes-asciidoc-applib</artifactId>
+ <artifactId>isis-valuetypes-asciidoc-ui</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.incubator</groupId>
@@ -87,7 +87,7 @@
</dependency>
<dependency>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes-sse</artifactId>
+ <artifactId>isis-valuetypes-sse-ui</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.extensions</groupId>
diff --git a/examples/demo/src/main/java/demoapp/dom/actions/async/AsyncActionDemo.java b/examples/demo/src/main/java/demoapp/dom/actions/async/AsyncActionDemo.java
index 7b33d09..d3196b0 100644
--- a/examples/demo/src/main/java/demoapp/dom/actions/async/AsyncActionDemo.java
+++ b/examples/demo/src/main/java/demoapp/dom/actions/async/AsyncActionDemo.java
@@ -33,10 +33,10 @@ import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.util.JaxbAdapters;
-import org.apache.isis.extensions.sse.api.ServerSentEvents;
-import org.apache.isis.extensions.sse.api.SseService;
-import org.apache.isis.extensions.sse.api.SseService.ExecutionBehavior;
-import org.apache.isis.extensions.sse.markup.ListeningMarkup;
+import org.apache.isis.extensions.sse.applib.annotations.ServerSentEvents;
+import org.apache.isis.extensions.sse.applib.service.SseService;
+import org.apache.isis.extensions.sse.applib.service.SseService.ExecutionBehavior;
+import org.apache.isis.extensions.sse.applib.value.ListeningMarkup;
import lombok.Getter;
import lombok.Setter;
diff --git a/examples/demo/src/main/java/demoapp/dom/actions/async/DemoTask.java b/examples/demo/src/main/java/demoapp/dom/actions/async/DemoTask.java
index 98b82c1..750049a 100644
--- a/examples/demo/src/main/java/demoapp/dom/actions/async/DemoTask.java
+++ b/examples/demo/src/main/java/demoapp/dom/actions/async/DemoTask.java
@@ -23,8 +23,8 @@ import java.util.concurrent.atomic.LongAdder;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.Nature;
-import org.apache.isis.extensions.sse.api.SseChannel;
-import org.apache.isis.extensions.sse.api.SseSource;
+import org.apache.isis.extensions.sse.applib.service.SseChannel;
+import org.apache.isis.extensions.sse.applib.annotations.SseSource;
import lombok.RequiredArgsConstructor;
diff --git a/examples/demo/src/main/java/demoapp/webapp/DemoApp.java b/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
index efd4df9..788c777 100644
--- a/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
+++ b/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
@@ -40,7 +40,7 @@ import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleSecmanEncr
import org.apache.isis.extensions.secman.jdo.IsisModuleSecmanPersistenceJdo;
import org.apache.isis.extensions.secman.model.IsisModuleSecmanModel;
import org.apache.isis.extensions.secman.shiro.IsisModuleSecmanRealmShiro;
-import org.apache.isis.extensions.sse.IsisModuleExtSse;
+import org.apache.isis.extensions.sse.applib.IsisModuleValSseApplib;
import org.apache.isis.incubator.model.metamodel.IsisModuleIncModelMetaModel;
import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
@@ -87,8 +87,8 @@ public class DemoApp extends SpringBootServletInitializer {
IsisModuleSecurityShiro.class,
IsisModuleJdoDataNucleus5.class,
IsisModuleWicketViewer.class,
- IsisModuleExtSse.class, // server sent events
- IsisModuleExtAsciidocUi.class, // ascii-doc rendering support
+ IsisModuleValSseApplib.class, // server sent events
+ IsisModuleValAsciidocUi.class, // ascii-doc rendering support
// REST
IsisModuleRestfulObjectsViewer.class,
diff --git a/valuetypes/asciidoc/ui/pom.xml b/valuetypes/asciidoc/ui/pom.xml
index 1e82885..5658eac 100644
--- a/valuetypes/asciidoc/ui/pom.xml
+++ b/valuetypes/asciidoc/ui/pom.xml
@@ -32,7 +32,7 @@
<dependency>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes-applib</artifactId>
+ <artifactId>isis-valuetypes-asciidoc-applib</artifactId>
</dependency>
<dependency>
diff --git a/valuetypes/asciidoc/ui/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/IsisModuleValAsciidocUi.java b/valuetypes/asciidoc/ui/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/IsisModuleValAsciidocUi.java
index 76f5da0..ce1c446 100644
--- a/valuetypes/asciidoc/ui/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/IsisModuleValAsciidocUi.java
+++ b/valuetypes/asciidoc/ui/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/IsisModuleValAsciidocUi.java
@@ -21,12 +21,12 @@ package org.apache.isis.valuetypes.asciidoc.ui;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.apache.isis.extensions.asciidoc.applib.IsisModuleExtAsciidocApplib;
+import org.apache.isis.valuetypes.asciidoc.applib.IsisModuleValAsciidocApplib;
import org.apache.isis.valuetypes.asciidoc.ui.components.AsciiDocPanelFactoriesForWicket;
@Configuration
@Import({
- IsisModuleExtAsciidocApplib.class,
+ IsisModuleValAsciidocApplib.class,
AsciiDocPanelFactoriesForWicket.Parented.class,
AsciiDocPanelFactoriesForWicket.Standalone.class
})
diff --git a/valuetypes/pom.xml b/valuetypes/pom.xml
index 996783e..38a46f3 100644
--- a/valuetypes/pom.xml
+++ b/valuetypes/pom.xml
@@ -85,7 +85,17 @@
<dependency>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes-sse</artifactId>
+ <artifactId>isis-valuetypes-sse-applib</artifactId>
+ <version>2.0.0-M3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-sse-metamodel</artifactId>
+ <version>2.0.0-M3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-sse-ui</artifactId>
<version>2.0.0-M3-SNAPSHOT</version>
</dependency>
@@ -102,11 +112,7 @@
<modules>
<module>asciidoc</module>
-
<module>markdown</module>
- <module>markdown/applib</module>
- <module>markdown/ui</module>
-
<module>sse</module>
</modules>
diff --git a/valuetypes/sse/pom.xml b/valuetypes/sse/applib/pom.xml
similarity index 88%
copy from valuetypes/sse/pom.xml
copy to valuetypes/sse/applib/pom.xml
index ebbfd1c..5be13fe 100644
--- a/valuetypes/sse/pom.xml
+++ b/valuetypes/sse/applib/pom.xml
@@ -18,16 +18,16 @@
<groupId>org.apache.isis.valuetypes</groupId>
<artifactId>isis-valuetypes</artifactId>
<version>2.0.0-M3-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
+ <relativePath>../../pom.xml</relativePath>
</parent>
- <artifactId>isis-valuetypes-sse</artifactId>
+ <artifactId>isis-valuetypes-sse-applib</artifactId>
<name>Apache Isis Val - Server Sent Events</name>
<description></description>
<properties>
- <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.sse</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/valuetypes/sse</git-plugin.propertiesDir>
+ <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.sse.applib</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/isis/valuetypes/sse/applib</git-plugin.propertiesDir>
</properties>
<dependencies>
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/IsisModuleExtSse.java b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/IsisModuleValSseApplib.java
similarity index 94%
copy from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/IsisModuleExtSse.java
copy to valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/IsisModuleValSseApplib.java
index b62e7b4..dfd66cd 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/IsisModuleExtSse.java
+++ b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/IsisModuleValSseApplib.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.sse;
+package org.apache.isis.extensions.sse.applib;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@@ -36,6 +36,6 @@ import org.apache.isis.extensions.sse.webmodule.WebModuleServerSentEvents;
SseServiceDefault.class,
WebModuleServerSentEvents.class
})
-public class IsisModuleExtSse {
+public class IsisModuleValSseApplib {
}
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/ServerSentEvents.java b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/annotations/ServerSentEvents.java
similarity index 95%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/ServerSentEvents.java
rename to valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/annotations/ServerSentEvents.java
index 4d20df3..3d87bd1 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/ServerSentEvents.java
+++ b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/annotations/ServerSentEvents.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.sse.api;
+package org.apache.isis.extensions.sse.applib.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseSource.java b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/annotations/SseSource.java
similarity index 89%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseSource.java
rename to valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/annotations/SseSource.java
index aa00cbe..5c7756e 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseSource.java
+++ b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/annotations/SseSource.java
@@ -17,7 +17,9 @@
* under the License.
*/
-package org.apache.isis.extensions.sse.api;
+package org.apache.isis.extensions.sse.applib.annotations;
+
+import org.apache.isis.extensions.sse.applib.service.SseChannel;
/**
* Server-sent events.
@@ -37,7 +39,7 @@ public interface SseSource {
/**
* This class is the default for the
- * {@link ServerSentEvents#observe()} annotation attribute.
+ * {@link ServerSentEvents#observe()} annotation attribute.
*/
public static final class Noop implements SseSource {
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseChannel.java b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/service/SseChannel.java
similarity index 91%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseChannel.java
rename to valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/service/SseChannel.java
index a8c3b19..fbc3689 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseChannel.java
+++ b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/service/SseChannel.java
@@ -17,11 +17,13 @@
* under the License.
*/
-package org.apache.isis.extensions.sse.api;
+package org.apache.isis.extensions.sse.applib.service;
import java.util.UUID;
import java.util.function.Predicate;
+import org.apache.isis.extensions.sse.applib.annotations.SseSource;
+
/**
* Server-sent events.
*
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseService.java b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/service/SseService.java
similarity index 90%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseService.java
rename to valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/service/SseService.java
index c81c28c..caad878 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/api/SseService.java
+++ b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/service/SseService.java
@@ -16,10 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.sse.api;
+package org.apache.isis.extensions.sse.applib.service;
import java.util.Optional;
+import org.apache.isis.extensions.sse.applib.annotations.SseSource;
+
/**
* Server-sent events.
*
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkup.java b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/value/ListeningMarkup.java
similarity index 84%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkup.java
rename to valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/value/ListeningMarkup.java
index d03eb45..848c36c 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkup.java
+++ b/valuetypes/sse/applib/src/main/java/org/apache/isis/extensions/sse/applib/value/ListeningMarkup.java
@@ -1,8 +1,8 @@
-package org.apache.isis.extensions.sse.markup;
+package org.apache.isis.extensions.sse.applib.value;
import org.apache.isis.applib.annotation.Value;
import org.apache.isis.applib.value.Markup;
-import org.apache.isis.extensions.sse.api.ServerSentEvents;
+import org.apache.isis.extensions.sse.applib.annotations.ServerSentEvents;
/**
* Immutable value type holding pre-rendered HTML. Supports server sent events.
diff --git a/valuetypes/sse/pom.xml b/valuetypes/sse/metamodel/pom.xml
similarity index 71%
copy from valuetypes/sse/pom.xml
copy to valuetypes/sse/metamodel/pom.xml
index ebbfd1c..4960f42 100644
--- a/valuetypes/sse/pom.xml
+++ b/valuetypes/sse/metamodel/pom.xml
@@ -16,37 +16,28 @@
<parent>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes</artifactId>
+ <artifactId>isis-valuetypes-sse</artifactId>
<version>2.0.0-M3-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>isis-valuetypes-sse</artifactId>
- <name>Apache Isis Val - Server Sent Events</name>
- <description></description>
+ <artifactId>isis-valuetypes-sse-metamodel</artifactId>
+ <name>Apache Isis Val - Server Sent Events (metamodel)</name>
<properties>
- <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.sse</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/valuetypes/sse</git-plugin.propertiesDir>
+ <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.sse.metamodel</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/isis/valuetypes/sse/metamodel</git-plugin.propertiesDir>
</properties>
<dependencies>
<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-metamodel</artifactId>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-sse-applib</artifactId>
</dependency>
<dependency>
<groupId>org.apache.isis.core</groupId>
- <artifactId>isis-webapp</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-viewer-wicket-ui</artifactId>
- <scope>provided</scope>
+ <artifactId>isis-metamodel</artifactId>
</dependency>
</dependencies>
diff --git a/valuetypes/asciidoc/ui/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/IsisModuleValAsciidocUi.java b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/IsisModuleValSseMetaModel.java
similarity index 70%
copy from valuetypes/asciidoc/ui/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/IsisModuleValAsciidocUi.java
copy to valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/IsisModuleValSseMetaModel.java
index 76f5da0..7c6a0f6 100644
--- a/valuetypes/asciidoc/ui/src/main/java/org/apache/isis/valuetypes/asciidoc/ui/IsisModuleValAsciidocUi.java
+++ b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/IsisModuleValSseMetaModel.java
@@ -16,19 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.valuetypes.asciidoc.ui;
+package org.apache.isis.extensions.sse.metamodel;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.apache.isis.extensions.asciidoc.applib.IsisModuleExtAsciidocApplib;
-import org.apache.isis.valuetypes.asciidoc.ui.components.AsciiDocPanelFactoriesForWicket;
+import org.apache.isis.extensions.sse.applib.IsisModuleValSseApplib;
+import org.apache.isis.extensions.sse.metamodel.facets.SseAnnotationFacetFactory;
@Configuration
@Import({
- IsisModuleExtAsciidocApplib.class,
- AsciiDocPanelFactoriesForWicket.Parented.class,
- AsciiDocPanelFactoriesForWicket.Standalone.class
+ // module dependencies
+ IsisModuleValSseApplib.class,
+
+ // @Component's
+ SseAnnotationFacetFactory.Register.class,
})
-public class IsisModuleValAsciidocUi {
+public class IsisModuleValSseMetaModel {
+
}
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseAnnotationFacetFactory.java b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseAnnotationFacetFactory.java
similarity index 72%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseAnnotationFacetFactory.java
rename to valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseAnnotationFacetFactory.java
index dc110fe..c013ca9 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseAnnotationFacetFactory.java
+++ b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseAnnotationFacetFactory.java
@@ -17,17 +17,32 @@
* under the License.
*/
-package org.apache.isis.extensions.sse.facets;
+package org.apache.isis.extensions.sse.metamodel.facets;
-import org.apache.isis.extensions.sse.api.ServerSentEvents;
+import org.springframework.stereotype.Component;
+
+import org.apache.isis.extensions.sse.applib.annotations.ServerSentEvents;
import org.apache.isis.metamodel.facetapi.FacetUtil;
import org.apache.isis.metamodel.facetapi.FeatureType;
+import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
import org.apache.isis.metamodel.facets.FacetFactoryAbstract;
+import org.apache.isis.metamodel.progmodel.ProgrammingModel;
import lombok.val;
public class SseAnnotationFacetFactory extends FacetFactoryAbstract {
+ @Component
+ public static class Register implements MetaModelRefiner {
+
+ @Override
+ public void refineProgrammingModel(ProgrammingModel programmingModel) {
+ programmingModel.addFactory(
+ ProgrammingModel.FacetProcessingOrder.Z2_AFTER_FINALLY,
+ SseAnnotationFacetFactory.class);
+ }
+ }
+
public SseAnnotationFacetFactory() {
super(FeatureType.PROPERTIES_ONLY);
}
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacet.java b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacet.java
similarity index 91%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacet.java
rename to valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacet.java
index 720f9ef..f359e3a 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacet.java
+++ b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacet.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.isis.extensions.sse.facets;
+package org.apache.isis.extensions.sse.metamodel.facets;
import org.apache.isis.applib.value.LocalResourcePath;
-import org.apache.isis.extensions.sse.api.SseSource;
+import org.apache.isis.extensions.sse.applib.annotations.SseSource;
import org.apache.isis.metamodel.facets.SingleClassValueFacet;
/**
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacetAbstract.java b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacetAbstract.java
similarity index 93%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacetAbstract.java
rename to valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacetAbstract.java
index 59bdc27..44051bf 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacetAbstract.java
+++ b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacetAbstract.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.isis.extensions.sse.facets;
+package org.apache.isis.extensions.sse.metamodel.facets;
import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.extensions.sse.api.SseSource;
+import org.apache.isis.extensions.sse.applib.annotations.SseSource;
import org.apache.isis.metamodel.facetapi.Facet;
import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facets.SingleClassValueFacetAbstract;
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacetForServerSentEventsAnnotation.java b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacetForServerSentEventsAnnotation.java
similarity index 89%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacetForServerSentEventsAnnotation.java
rename to valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacetForServerSentEventsAnnotation.java
index 67e6acb..3a75d44 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/facets/SseObserveFacetForServerSentEventsAnnotation.java
+++ b/valuetypes/sse/metamodel/src/main/java/org/apache/isis/extensions/sse/metamodel/facets/SseObserveFacetForServerSentEventsAnnotation.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.isis.extensions.sse.facets;
+package org.apache.isis.extensions.sse.metamodel.facets;
import java.util.Optional;
-import org.apache.isis.extensions.sse.api.ServerSentEvents;
-import org.apache.isis.extensions.sse.api.SseSource;
+import org.apache.isis.extensions.sse.applib.annotations.ServerSentEvents;
+import org.apache.isis.extensions.sse.applib.annotations.SseSource;
import org.apache.isis.metamodel.facetapi.FacetHolder;
/**
diff --git a/valuetypes/sse/pom.xml b/valuetypes/sse/pom.xml
index ebbfd1c..4f2d0a3 100644
--- a/valuetypes/sse/pom.xml
+++ b/valuetypes/sse/pom.xml
@@ -18,37 +18,20 @@
<groupId>org.apache.isis.valuetypes</groupId>
<artifactId>isis-valuetypes</artifactId>
<version>2.0.0-M3-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
</parent>
<artifactId>isis-valuetypes-sse</artifactId>
- <name>Apache Isis Val - Server Sent Events</name>
- <description></description>
-
- <properties>
- <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.sse</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/valuetypes/sse</git-plugin.propertiesDir>
- </properties>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-metamodel</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-webapp</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-viewer-wicket-ui</artifactId>
- <scope>provided</scope>
- </dependency>
-
- </dependencies>
+ <name>Apache Isis Val - Server Sent Events (parent)</name>
+ <description>
+ Dynamically updating HTML markup
+ </description>
+
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>applib</module>
+ <module>metamodel</module>
+ <module>ui</module>
+ </modules>
</project>
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/SseMetaModelPlugin.java b/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/SseMetaModelPlugin.java
deleted file mode 100644
index 1543476..0000000
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/SseMetaModelPlugin.java
+++ /dev/null
@@ -1,38 +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.extensions.sse;
-
-import org.springframework.stereotype.Component;
-
-import org.apache.isis.extensions.sse.facets.SseAnnotationFacetFactory;
-import org.apache.isis.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.metamodel.progmodel.ProgrammingModel;
-
-@Component
-public class SseMetaModelPlugin implements MetaModelRefiner {
-
- @Override
- public void refineProgrammingModel(ProgrammingModel programmingModel) {
- programmingModel.addFactory(
- ProgrammingModel.FacetProcessingOrder.Z2_AFTER_FINALLY,
- SseAnnotationFacetFactory.class,
- ProgrammingModel.Marker.INCUBATING);
- }
-
-}
diff --git a/valuetypes/sse/pom.xml b/valuetypes/sse/ui/pom.xml
similarity index 80%
copy from valuetypes/sse/pom.xml
copy to valuetypes/sse/ui/pom.xml
index ebbfd1c..48b8995 100644
--- a/valuetypes/sse/pom.xml
+++ b/valuetypes/sse/ui/pom.xml
@@ -16,23 +16,26 @@
<parent>
<groupId>org.apache.isis.valuetypes</groupId>
- <artifactId>isis-valuetypes</artifactId>
+ <artifactId>isis-valuetypes-sse</artifactId>
<version>2.0.0-M3-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>isis-valuetypes-sse</artifactId>
- <name>Apache Isis Val - Server Sent Events</name>
- <description></description>
+ <artifactId>isis-valuetypes-sse-ui</artifactId>
+ <name>Apache Isis Val - Server Sent Events (ui)</name>
<properties>
- <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.sse</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/valuetypes/sse</git-plugin.propertiesDir>
+ <jar-plugin.automaticModuleName>org.apache.isis.valuetypes.sse.ui</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/isis/valuetypes/sse/ui</git-plugin.propertiesDir>
</properties>
<dependencies>
<dependency>
+ <groupId>org.apache.isis.valuetypes</groupId>
+ <artifactId>isis-valuetypes-sse-metamodel</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-metamodel</artifactId>
</dependency>
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/IsisModuleExtSse.java b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/IsisModuleValSseUi.java
similarity index 72%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/IsisModuleExtSse.java
rename to valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/IsisModuleValSseUi.java
index b62e7b4..c69d563 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/IsisModuleExtSse.java
+++ b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/IsisModuleValSseUi.java
@@ -16,19 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.sse;
+package org.apache.isis.extensions.sse.ui;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-import org.apache.isis.extensions.sse.markup.ListeningMarkupPanelFactoriesForWicket;
-import org.apache.isis.extensions.sse.services.SseServiceDefault;
-import org.apache.isis.extensions.sse.webmodule.WebModuleServerSentEvents;
+import org.apache.isis.extensions.sse.metamodel.IsisModuleValSseMetaModel;
+import org.apache.isis.extensions.sse.ui.markup.ListeningMarkupPanelFactoriesForWicket;
+import org.apache.isis.extensions.sse.ui.services.SseServiceDefault;
+import org.apache.isis.extensions.sse.ui.webmodule.WebModuleServerSentEvents;
@Configuration
@Import({
+ // module dependencies
+ IsisModuleValSseMetaModel.class,
+
// @Component's
- SseMetaModelPlugin.class,
ListeningMarkupPanelFactoriesForWicket.Parented.class,
ListeningMarkupPanelFactoriesForWicket.Standalone.class,
@@ -36,6 +39,6 @@ import org.apache.isis.extensions.sse.webmodule.WebModuleServerSentEvents;
SseServiceDefault.class,
WebModuleServerSentEvents.class
})
-public class IsisModuleExtSse {
+public class IsisModuleValSseUi {
}
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupComponent.java b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupComponent.java
similarity index 97%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupComponent.java
rename to valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupComponent.java
index 49df232..3565e12 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupComponent.java
+++ b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupComponent.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.sse.markup;
+package org.apache.isis.extensions.sse.ui.markup;
import javax.inject.Inject;
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupComponent_observing.java b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupComponent_observing.java
similarity index 98%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupComponent_observing.java
rename to valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupComponent_observing.java
index 2c6da61..17bec7f 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupComponent_observing.java
+++ b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupComponent_observing.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.isis.extensions.sse.markup;
+package org.apache.isis.extensions.sse.ui.markup;
import java.io.IOException;
import java.util.UUID;
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupPanelFactoriesForWicket.java b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupPanelFactoriesForWicket.java
similarity index 96%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupPanelFactoriesForWicket.java
rename to valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupPanelFactoriesForWicket.java
index d7b7079..84c0d3b 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/ListeningMarkupPanelFactoriesForWicket.java
+++ b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/ListeningMarkupPanelFactoriesForWicket.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.isis.extensions.sse.markup;
+package org.apache.isis.extensions.sse.ui.markup;
import org.springframework.stereotype.Component;
import org.apache.isis.applib.value.LocalResourcePath;
-import org.apache.isis.extensions.sse.facets.SseObserveFacet;
+import org.apache.isis.extensions.sse.metamodel.facets.SseObserveFacet;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponentFactory;
import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactories;
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/js/ObservingComponent.js b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/js/ObservingComponent.js
similarity index 100%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/markup/js/ObservingComponent.js
rename to valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/markup/js/ObservingComponent.js
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/services/SseServiceDefault.java b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/services/SseServiceDefault.java
similarity index 97%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/services/SseServiceDefault.java
rename to valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/services/SseServiceDefault.java
index 0a9be80..2461da4 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/services/SseServiceDefault.java
+++ b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/services/SseServiceDefault.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.sse.services;
+package org.apache.isis.extensions.sse.ui.services;
import java.util.List;
import java.util.Map;
@@ -42,9 +42,9 @@ import org.springframework.stereotype.Service;
import org.apache.isis.applib.annotation.OrderPrecedence;
import org.apache.isis.applib.services.xactn.TransactionService;
import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.extensions.sse.api.SseChannel;
-import org.apache.isis.extensions.sse.api.SseService;
-import org.apache.isis.extensions.sse.api.SseSource;
+import org.apache.isis.extensions.sse.applib.service.SseChannel;
+import org.apache.isis.extensions.sse.applib.service.SseService;
+import org.apache.isis.extensions.sse.applib.annotations.SseSource;
import org.apache.isis.runtime.persistence.transaction.IsisTransactionAspectSupport;
import org.apache.isis.runtime.session.IsisSessionFactory;
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/ServerSentEventsServlet.java b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/webmodule/ServerSentEventsServlet.java
similarity index 93%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/ServerSentEventsServlet.java
rename to valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/webmodule/ServerSentEventsServlet.java
index 585c20c..ce9f79d 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/ServerSentEventsServlet.java
+++ b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/webmodule/ServerSentEventsServlet.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.sse.webmodule;
+package org.apache.isis.extensions.sse.ui.webmodule;
import java.io.IOException;
import java.util.Optional;
@@ -33,9 +33,9 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.isis.applib.util.JaxbAdapters;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.context._Context;
-import org.apache.isis.extensions.sse.api.SseChannel;
-import org.apache.isis.extensions.sse.api.SseService;
-import org.apache.isis.extensions.sse.markup.ListeningMarkup;
+import org.apache.isis.extensions.sse.applib.service.SseChannel;
+import org.apache.isis.extensions.sse.applib.service.SseService;
+import org.apache.isis.extensions.sse.applib.value.ListeningMarkup;
import static org.apache.isis.commons.internal.base._With.requires;
@@ -44,7 +44,7 @@ import lombok.val;
/**
* Server-sent events.
*
- * @see https://www.w3schools.com/html/html5_serversentevents.asp
+ * @see <a href="https://www.w3schools.com/html/html5_serversentevents.asp">Server Sent Events (@ w3schools)</a>
*
* @since 2.0
*
diff --git a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/WebModuleServerSentEvents.java b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/webmodule/WebModuleServerSentEvents.java
similarity index 97%
rename from valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/WebModuleServerSentEvents.java
rename to valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/webmodule/WebModuleServerSentEvents.java
index e0c03d1..66e3d8a 100644
--- a/valuetypes/sse/src/main/java/org/apache/isis/extensions/sse/webmodule/WebModuleServerSentEvents.java
+++ b/valuetypes/sse/ui/src/main/java/org/apache/isis/extensions/sse/ui/webmodule/WebModuleServerSentEvents.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.sse.webmodule;
+package org.apache.isis.extensions.sse.ui.webmodule;
import java.util.List;