You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2023/05/19 07:54:22 UTC
[causeway] branch CAUSEWAY-2485 updated (d3d19b91a2 -> 85acfa42ee)
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a change to branch CAUSEWAY-2485
in repository https://gitbox.apache.org/repos/asf/causeway.git
discard d3d19b91a2 CAUSEWAY-2485: updates the EventBusService example
discard e3e98f02ef CAUSEWAY-2485: cleans up words for ErrorReportingService
add cefd3061e0 Bump spring-boot.version from 2.7.11 to 2.7.12
add 8e58524355 Merge pull request #1667 from apache/dependabot/maven/master/spring-boot.version-2.7.12
add ae8f4f5af6 Bump spring-boot-starter-parent from 2.7.11 to 2.7.12
add cae57c5f99 Merge pull request #1666 from apache/dependabot/maven/master/org.springframework.boot-spring-boot-starter-parent-2.7.12
add 6581c393c2 Bump spring-boot-maven-plugin from 2.7.11 to 2.7.12
add 287b26adaf Merge pull request #1668 from apache/dependabot/maven/master/org.springframework.boot-spring-boot-maven-plugin-2.7.12
add 657eda7805 Bump maven-scm-plugin from 2.0.0 to 2.0.1
add a5efd01d24 Merge pull request #1670 from apache/dependabot/maven/master/org.apache.maven.plugins-maven-scm-plugin-2.0.1
add 381a0b7cad CAUSEWAY-2445: demo build fix
new 437873218b CAUSEWAY-2485: cleans up words for ErrorReportingService
new 013e06de02 CAUSEWAY-2485: updates the EventBusService example
new 85acfa42ee CAUSEWAY-2485: tidies up message demo
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (d3d19b91a2)
\
N -- N -- N refs/heads/CAUSEWAY-2485 (85acfa42ee)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
bom/pom.xml | 6 ++--
.../demoapp/dom/services/core/ServicesMenu.java | 6 ++--
.../MessageServiceDemoPage-description.adoc} | 26 +++++++++-----
...viceDemoVm.java => MessageServiceDemoPage.java} | 40 +++++++++++++---------
...ayout.xml => MessageServiceDemoPage.layout.xml} | 6 ++--
.../MessageServiceDemoVm-description.adoc | 32 -----------------
.../causeway/treenode/samples/package-info.java | 0
.../dom/types/javatime/JavaTimeTypesMenu.java | 4 +--
.../javatime/javatimeoffsettime/OffsetTimes.java | 6 ++--
.../holder/OffsetTimeHolder.java | 2 +-
.../holder/OffsetTimeHolder2.java | 2 +-
.../holder/OffsetTimeHolder_actionReturning.java | 2 +-
...OffsetTimeHolder_actionReturningCollection.java | 2 +-
.../holder/OffsetTimeHolder_mixinProperty.java | 2 +-
...tTimeHolder_updateReadOnlyOptionalProperty.java | 2 +-
..._updateReadOnlyOptionalPropertyWithChoices.java | 2 +-
.../OffsetTimeHolder_updateReadOnlyProperty.java | 2 +-
...meHolder_updateReadOnlyPropertyWithChoices.java | 2 +-
.../javatimeoffsettime/jdo/OffsetTimeJdo.java | 4 +--
.../jdo/OffsetTimeJdoEntities.java | 2 +-
.../javatimeoffsettime/jpa/OffsetTimeJpa.java | 4 +--
.../jpa/OffsetTimeJpaEntities.java | 2 +-
.../persistence/OffsetTimeEntity.java | 4 +--
.../persistence/OffsetTimeSeeding.java | 2 +-
.../samples/OffsetTimeSamples.java | 2 +-
.../javatimeoffsettime/vm/OffsetTimeVm.java | 4 +--
starters/pom.xml | 4 +--
.../demoshowcases/value/ValueShowCase.java | 2 +-
28 files changed, 80 insertions(+), 94 deletions(-)
copy examples/demo/domain/src/main/java/demoapp/dom/{types/javalang/voids/JavaLangVoids-description.adoc => services/core/messageservice/MessageServiceDemoPage-description.adoc} (51%)
rename examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/{MessageServiceDemoVm.java => MessageServiceDemoPage.java} (71%)
rename examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/{MessageServiceDemoVm.layout.xml => MessageServiceDemoPage.layout.xml} (92%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm-description.adoc
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/types/causeway/treenode/samples/package-info.java
[causeway] 01/03: CAUSEWAY-2485: cleans up words for ErrorReportingService
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch CAUSEWAY-2485
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 437873218b668776eacd1650998c6700b3626d36
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri May 19 06:53:21 2023 +0100
CAUSEWAY-2485: cleans up words for ErrorReportingService
---
.../ActionDomainEventControlStrategy.java | 28 ++++----
.../ActionDomainEventControlSubscriber.java | 4 +-
.../CollectionDomainEventControlStrategy.java | 12 ++--
.../CollectionDomainEventControlSubscriber.java | 4 +-
.../DomainObjectXxxDomainEventControlStrategy.java | 28 ++++----
...omainObjectXxxDomainEventControlSubscriber.java | 4 +-
.../DomainObjectXxxLifecycleEventSubscriber.java | 4 +-
.../progmodel/compositevalues/ComplexNumber.java | 4 +-
.../ComplexNumberValueSemantics.java | 20 +++---
.../compositevalues/ComplexNumber_default.java | 4 +-
.../compositevalues/CompositeValueTypePage.java | 8 +--
.../CompositeValueTypePage_addComplexNumber.java | 4 +-
...mpositeValueTypePage_subtractComplexNumber.java | 4 +-
.../progmodel/customvalues/EmailAddress.java | 4 +-
.../customvalues/EmailAddressValueSemantics.java | 28 ++++----
.../objects/progmodel/customvalues/Percentage.java | 4 +-
.../customvalues/ScalarValueTypePage.java | 8 +--
.../embeddedvalues/jdo/ComplexNumberJdo.java | 4 +-
.../jdo/ComplexNumberJdoValueSemantics.java | 16 ++---
.../embeddedvalues/jdo/EmbeddedTypePageJdo.java | 8 +--
.../embeddedvalues/jpa/ComplexNumberJpa.java | 4 +-
.../jpa/ComplexNumberJpaValueSemantics.java | 16 ++---
.../embeddedvalues/jpa/EmbeddedTypePageJpa.java | 8 +--
.../mixins/CountHolder_fibonacciSequence.java | 8 +--
.../PropertyDomainEventControlStrategy.java | 28 ++++----
.../PropertyDomainEventControlSubscriber.java | 4 +-
.../core/errorreportingservice/EmailTicket.java | 77 ++++++++++------------
.../ErrorReportingServiceDemoVm-description.adoc | 70 ++++++++++----------
....xml => ErrorReportingServiceDemoVm.layout.xml} | 0
...tion.java => ErrorReportingServiceForDemo.java} | 15 +++--
.../integration/examples/misc.spec.js | 2 +-
31 files changed, 215 insertions(+), 217 deletions(-)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventControlStrategy.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventControlStrategy.java
index 83031ff691..92443beae8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventControlStrategy.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventControlStrategy.java
@@ -24,7 +24,7 @@ import org.apache.causeway.applib.events.domain.ActionDomainEvent;
import org.apache.causeway.applib.services.message.MessageService;
import org.apache.causeway.applib.services.registry.ServiceRegistry;
-// tag::class[]
+//tag::class[]
enum ActionDomainEventControlStrategy {
DO_NOTHING{
@@ -33,9 +33,9 @@ enum ActionDomainEventControlStrategy {
}
},
// ...
-// end::class[]
+//end::class[]
-// tag::hide[]
+//tag::hide[]
HIDE {
@Override
void on(ActionDomainEvent<?> ev, ServiceRegistry serviceRegistry) {
@@ -46,8 +46,8 @@ enum ActionDomainEventControlStrategy {
}
}
},
-// end::hide[]
-// tag::disable[]
+//end::hide[]
+//tag::disable[]
DISABLE {
@Override
void on(ActionDomainEvent<?> ev, ServiceRegistry serviceRegistry) {
@@ -58,8 +58,8 @@ enum ActionDomainEventControlStrategy {
}
}
},
-// end::disable[]
-// tag::validate[]
+//end::disable[]
+//tag::validate[]
VALIDATE_MUST_BE_UPPER_CASE{
@Override
void on(ActionDomainEvent<?> ev, ServiceRegistry serviceRegistry) {
@@ -73,8 +73,8 @@ enum ActionDomainEventControlStrategy {
}
}
},
-// end::validate[]
-// tag::executing[]
+//end::validate[]
+//tag::executing[]
EXECUTING_FORCE_UPPER_CASE{
@Override
void on(ActionDomainEvent<?> ev, ServiceRegistry serviceRegistry) {
@@ -87,8 +87,8 @@ enum ActionDomainEventControlStrategy {
}
}
},
-// end::executing[]
-// tag::executed[]
+//end::executing[]
+//tag::executed[]
EXECUTED_ANNOUNCE{
@Override
void on(ActionDomainEvent<?> ev, ServiceRegistry serviceRegistry) {
@@ -103,10 +103,10 @@ enum ActionDomainEventControlStrategy {
}
}
}
-// end::executed[]
+//end::executed[]
-// tag::class[]
+//tag::class[]
;
abstract void on(ActionDomainEvent<?> ev, ServiceRegistry serviceRegistry);
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventControlSubscriber.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventControlSubscriber.java
index c77eacb246..15cd2318a4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventControlSubscriber.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventControlSubscriber.java
@@ -27,7 +27,7 @@ import org.apache.causeway.applib.services.registry.ServiceRegistry;
import lombok.RequiredArgsConstructor;
-// tag::class[]
+//tag::class[]
@Service
@RequiredArgsConstructor(onConstructor_ = {@Inject})
class ActionDomainEventControlSubscriber {
@@ -42,4 +42,4 @@ class ActionDomainEventControlSubscriber {
controlStrategy.on(ev, serviceRegistry); // <.>
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventControlStrategy.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventControlStrategy.java
index 3ee29e3764..17adb5d324 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventControlStrategy.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventControlStrategy.java
@@ -21,7 +21,7 @@ package demoapp.dom.domain.collections.Collection.domainEvent;
import org.apache.causeway.applib.services.registry.ServiceRegistry;
@SuppressWarnings("SwitchStatementWithTooFewBranches")
-// tag::class[]
+//tag::class[]
enum CollectionDomainEventControlStrategy {
DO_NOTHING{
@@ -30,9 +30,9 @@ enum CollectionDomainEventControlStrategy {
}
},
// ...
-// end::class[]
+//end::class[]
-// tag::hide[]
+//tag::hide[]
HIDE {
@Override
void on(CollectionDomainEventPage.ChildrenDomainEvent ev, ServiceRegistry serviceRegistry) {
@@ -43,10 +43,10 @@ enum CollectionDomainEventControlStrategy {
}
}
},
-// end::hide[]
+//end::hide[]
-// tag::class[]
+//tag::class[]
;
abstract void on(CollectionDomainEventPage.ChildrenDomainEvent ev, ServiceRegistry serviceRegistry);
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventControlSubscriber.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventControlSubscriber.java
index 2ab143720f..d4a7761f7f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventControlSubscriber.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventControlSubscriber.java
@@ -27,7 +27,7 @@ import org.apache.causeway.applib.services.registry.ServiceRegistry;
import lombok.RequiredArgsConstructor;
-// tag::class[]
+//tag::class[]
@Service
@RequiredArgsConstructor(onConstructor_ = { @Inject })
class CollectionDomainEventControlSubscriber {
@@ -42,4 +42,4 @@ class CollectionDomainEventControlSubscriber {
controlStrategy.on(ev, serviceRegistry); // <.>
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectXxxDomainEventControlStrategy.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectXxxDomainEventControlStrategy.java
index ecc81a14a4..e5bd1cf4a6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectXxxDomainEventControlStrategy.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectXxxDomainEventControlStrategy.java
@@ -26,7 +26,7 @@ import org.apache.causeway.applib.services.registry.ServiceRegistry;
import lombok.val;
-// tag::class[]
+//tag::class[]
enum DomainObjectXxxDomainEventControlStrategy {
DO_NOTHING{
@@ -35,9 +35,9 @@ enum DomainObjectXxxDomainEventControlStrategy {
}
},
// ...
-// end::class[]
+//end::class[]
-// tag::hide[]
+//tag::hide[]
HIDE {
@Override
void on(DomainObjectXxxDomainEventPage.DomainEventMarker ev, ServiceRegistry serviceRegistry) {
@@ -51,8 +51,8 @@ enum DomainObjectXxxDomainEventControlStrategy {
}
}
},
-// end::hide[]
-// tag::disable[]
+//end::hide[]
+//tag::disable[]
DISABLE {
@Override
void on(DomainObjectXxxDomainEventPage.DomainEventMarker ev, ServiceRegistry serviceRegistry) {
@@ -66,8 +66,8 @@ enum DomainObjectXxxDomainEventControlStrategy {
}
}
},
-// end::disable[]
-// tag::validate[]
+//end::disable[]
+//tag::validate[]
VALIDATE_MUST_BE_UPPER_CASE{
@Override
void on(DomainObjectXxxDomainEventPage.DomainEventMarker ev, ServiceRegistry serviceRegistry) {
@@ -95,8 +95,8 @@ enum DomainObjectXxxDomainEventControlStrategy {
}
}
},
-// end::validate[]
-// tag::executing[]
+//end::validate[]
+//tag::executing[]
EXECUTING_FORCE_UPPER_CASE{
@Override
void on(DomainObjectXxxDomainEventPage.DomainEventMarker ev, ServiceRegistry serviceRegistry) {
@@ -121,8 +121,8 @@ enum DomainObjectXxxDomainEventControlStrategy {
}
}
},
-// end::executing[]
-// tag::executed[]
+//end::executing[]
+//tag::executed[]
EXECUTED_ANNOUNCE{
@Override
void on(DomainObjectXxxDomainEventPage.DomainEventMarker ev, ServiceRegistry serviceRegistry) {
@@ -156,10 +156,10 @@ enum DomainObjectXxxDomainEventControlStrategy {
}
}
}
-// end::executed[]
+//end::executed[]
-// tag::class[]
+//tag::class[]
;
abstract void on(DomainObjectXxxDomainEventPage.DomainEventMarker ev, ServiceRegistry serviceRegistry);
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectXxxDomainEventControlSubscriber.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectXxxDomainEventControlSubscriber.java
index 37d7a9b54c..667b731891 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectXxxDomainEventControlSubscriber.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectXxxDomainEventControlSubscriber.java
@@ -27,7 +27,7 @@ import org.apache.causeway.applib.services.registry.ServiceRegistry;
import lombok.RequiredArgsConstructor;
-// tag::class[]
+//tag::class[]
@Service
@RequiredArgsConstructor(onConstructor_ = {@Inject})
class DomainObjectXxxDomainEventControlSubscriber {
@@ -42,4 +42,4 @@ class DomainObjectXxxDomainEventControlSubscriber {
controlStrategy.on(ev, serviceRegistry); // <.>
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectXxxLifecycleEventSubscriber.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectXxxLifecycleEventSubscriber.java
index 6b174fbac5..a098428f80 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectXxxLifecycleEventSubscriber.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectXxxLifecycleEventSubscriber.java
@@ -32,7 +32,7 @@ import org.apache.causeway.applib.services.bookmark.BookmarkService;
import lombok.RequiredArgsConstructor;
import lombok.val;
-// tag::class[]
+//tag::class[]
@Service
@RequiredArgsConstructor(onConstructor_ = {@Inject})
class DomainObjectXxxLifecycleEventSubscriber {
@@ -51,4 +51,4 @@ class DomainObjectXxxLifecycleEventSubscriber {
List<DomainObjectLifecycleEventVm> events = new LinkedList<>();
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumber.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumber.java
index 9afe3f7266..2d90460356 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumber.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumber.java
@@ -19,7 +19,7 @@
package demoapp.dom.domain.objects.progmodel.compositevalues;
-// tag::class[]
+//tag::class[]
@org.apache.causeway.applib.annotation.Value // <.>
@lombok.Value // <.>
@lombok.AllArgsConstructor(staticName = "of")
@@ -35,4 +35,4 @@ public class ComplexNumber {
return ComplexNumber.of(re - other.re, im - other.im);
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumberValueSemantics.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumberValueSemantics.java
index 3d61644b25..f84cf5271b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumberValueSemantics.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumberValueSemantics.java
@@ -30,7 +30,7 @@ import org.apache.causeway.applib.value.semantics.ValueDecomposition;
import org.apache.causeway.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.causeway.schema.common.v2.ValueType;
-// tag::class[]
+//tag::class[]
@Named("demo.ComplexNumberValueSemantics")
@Component
@Import({
@@ -38,7 +38,7 @@ import org.apache.causeway.schema.common.v2.ValueType;
})
public class ComplexNumberValueSemantics
extends ValueSemanticsAbstract<ComplexNumber> { // <.>
-// end::class[]
+//end::class[]
@Override
public Class<ComplexNumber> getCorrespondingClass() {
@@ -50,7 +50,7 @@ public class ComplexNumberValueSemantics
return ValueType.COMPOSITE;
}
-// tag::compose[]
+//tag::compose[]
@Override
public ValueDecomposition decompose(final ComplexNumber value) {
return CommonDtoUtils.typedTupleBuilder(value)
@@ -68,16 +68,16 @@ public class ComplexNumberValueSemantics
(Double)map.get("im")))
.orElse(null);
}
-// end::compose[]
+//end::compose[]
-// tag::getDefaultsProvider[]
+//tag::getDefaultsProvider[]
@Override
public DefaultsProvider<ComplexNumber> getDefaultsProvider() {
return ()-> ComplexNumber.of(0, 0);
}
-// end::getDefaultsProvider[]
+//end::getDefaultsProvider[]
-// tag::getRenderer[]
+//tag::getRenderer[]
@Override
public Renderer<ComplexNumber> getRenderer() {
return new Renderer<>() {
@@ -92,8 +92,8 @@ public class ComplexNumberValueSemantics
}
};
}
-// end::getRenderer[]
+//end::getRenderer[]
-// tag::class[]
+//tag::class[]
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumber_default.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumber_default.java
index 2ccb6160e9..1a6ac85c17 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumber_default.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/ComplexNumber_default.java
@@ -8,7 +8,7 @@ import org.apache.causeway.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
-// tag::default-mixin[]
+//tag::default-mixin[]
@Action(semantics = SemanticsOf.SAFE)
@ActionLayout(promptStyle = PromptStyle.INLINE_AS_IF_EDIT) // <.>
@RequiredArgsConstructor
@@ -29,4 +29,4 @@ public class ComplexNumber_default {
return mixee.getIm();
}
}
-// end::default-mixin[]
+//end::default-mixin[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage.java
index f93b2915a4..7277fc30d2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage.java
@@ -31,20 +31,20 @@ import org.apache.causeway.applib.annotation.ObjectSupport;
import org.apache.causeway.applib.annotation.Property;
import org.apache.causeway.applib.annotation.PropertyLayout;
-// tag::class[]
+//tag::class[]
@Named("demo.CompositeValuesPage")
@DomainObject(nature=Nature.VIEW_MODEL)
public class CompositeValueTypePage implements HasAsciiDocDescription {
// ...
-// end::class[]
+//end::class[]
@ObjectSupport public String title() {
return "Composite Value Types";
}
-// tag::class[]
+//tag::class[]
@Property
@Getter @Setter
private ComplexNumber complexNumber;
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage_addComplexNumber.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage_addComplexNumber.java
index 3b5c27abec..34d2b70cad 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage_addComplexNumber.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage_addComplexNumber.java
@@ -4,7 +4,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.causeway.applib.annotation.*;
-// tag::class[]
+//tag::class[]
@Action(semantics = SemanticsOf.NON_IDEMPOTENT)
@ActionLayout(
associateWith = "complexNumber",
@@ -34,4 +34,4 @@ public class CompositeValueTypePage_addComplexNumber {
return ComplexNumber.of(0,0);
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage_subtractComplexNumber.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage_subtractComplexNumber.java
index 470737be02..3546b64360 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage_subtractComplexNumber.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/compositevalues/CompositeValueTypePage_subtractComplexNumber.java
@@ -4,7 +4,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.causeway.applib.annotation.*;
-// tag::class[]
+//tag::class[]
@Action(semantics = SemanticsOf.NON_IDEMPOTENT)
@ActionLayout(
associateWith = "complexNumber",
@@ -34,4 +34,4 @@ public class CompositeValueTypePage_subtractComplexNumber {
return ComplexNumber.of(0,0);
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/EmailAddress.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/EmailAddress.java
index f67333b673..bc2785dd5c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/EmailAddress.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/EmailAddress.java
@@ -19,11 +19,11 @@
package demoapp.dom.domain.objects.progmodel.customvalues;
-// tag::class[]
+//tag::class[]
@org.apache.causeway.applib.annotation.Value // <.>
@lombok.Value // <.>
@lombok.AllArgsConstructor(staticName = "of")
public class EmailAddress {
String emailAddress; // <.>
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/EmailAddressValueSemantics.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/EmailAddressValueSemantics.java
index 1e639613b3..92d9cd9d9f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/EmailAddressValueSemantics.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/EmailAddressValueSemantics.java
@@ -37,13 +37,13 @@ import org.apache.causeway.applib.value.semantics.ValueDecomposition;
import org.apache.causeway.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.causeway.schema.common.v2.ValueType;
-// tag::class[]
+//tag::class[]
@Named("demo.EmailAddressValueSemantics")
@Component
public class EmailAddressValueSemantics
extends ValueSemanticsAbstract<EmailAddress> { // <.>
// ...
-// end::class[]
+//end::class[]
@Override
public Class<EmailAddress> getCorrespondingClass() {
@@ -55,7 +55,7 @@ public class EmailAddressValueSemantics
return ValueType.STRING;
}
-// tag::compose[]
+//tag::compose[]
@Override
public ValueDecomposition decompose(final EmailAddress value) {
return decomposeAsNullable(value, EmailAddress::getEmailAddress, ()->null);
@@ -66,9 +66,9 @@ public class EmailAddressValueSemantics
return composeFromNullable(
decomposition, ValueWithTypeDto::getString, EmailAddress::of, ()->null);
}
-// end::compose[]
+//end::compose[]
-// tag::getDefaultsProvider[]
+//tag::getDefaultsProvider[]
@Override
public DefaultsProvider<EmailAddress> getDefaultsProvider() {
return new DefaultsProvider<EmailAddress>() {
@@ -78,9 +78,9 @@ public class EmailAddressValueSemantics
}
};
}
-// end::getDefaultsProvider[]
+//end::getDefaultsProvider[]
-// tag::getRenderer[]
+//tag::getRenderer[]
@Override
public Renderer<EmailAddress> getRenderer() {
return new Renderer<>() {
@@ -91,9 +91,9 @@ public class EmailAddressValueSemantics
};
}
-// end::getRenderer[]
+//end::getRenderer[]
-// tag::getParser[]
+//tag::getParser[]
@Override
public Parser<EmailAddress> getParser() {
return new Parser<>() {
@@ -125,9 +125,9 @@ public class EmailAddressValueSemantics
}
};
}
-// end::getParser[]
+//end::getParser[]
-// tag::getIdStringifier[]
+//tag::getIdStringifier[]
@Override
public IdStringifier<EmailAddress> getIdStringifier() {
return new IdStringifier.EntityAgnostic<>() {
@@ -147,8 +147,8 @@ public class EmailAddressValueSemantics
}
};
}
-// end::getIdStringifier[]
+//end::getIdStringifier[]
-// tag::class[]
+//tag::class[]
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/Percentage.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/Percentage.java
index 883bf94322..65086dad29 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/Percentage.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/Percentage.java
@@ -19,11 +19,11 @@
package demoapp.dom.domain.objects.progmodel.customvalues;
-// tag::class[]
+//tag::class[]
@org.apache.causeway.applib.annotation.Value // <.>
@lombok.Value // <.>
@lombok.AllArgsConstructor(staticName = "of")
public class Percentage {
int percentage; // <.>
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/ScalarValueTypePage.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/ScalarValueTypePage.java
index 9b44327cf2..fb2c17b070 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/ScalarValueTypePage.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/customvalues/ScalarValueTypePage.java
@@ -31,20 +31,20 @@ import lombok.Setter;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-// tag::class[]
+//tag::class[]
@Named("demo.ScalarValueTypePage")
@DomainObject(nature=Nature.VIEW_MODEL)
public class ScalarValueTypePage implements HasAsciiDocDescription {
// ...
-// end::class[]
+//end::class[]
@ObjectSupport public String title() {
return "Scalar Value Types";
}
-// tag::class[]
+//tag::class[]
@Property(editing = Editing.ENABLED)
@Getter @Setter
private EmailAddress emailAddress;
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/ComplexNumberJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/ComplexNumberJdo.java
index dfc073118b..4f87cc28d4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/ComplexNumberJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/ComplexNumberJdo.java
@@ -24,7 +24,7 @@ import lombok.AccessLevel;
import demoapp.dom.domain.objects.progmodel.embeddedvalues.ComplexNumber;
-// tag::class[]
+//tag::class[]
@javax.jdo.annotations.PersistenceCapable
@javax.jdo.annotations.EmbeddedOnly // <.>
@Value // <.>
@@ -41,4 +41,4 @@ public class ComplexNumberJdo
@javax.jdo.annotations.Column(allowsNull = "false")
private double im; // <5>
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/ComplexNumberJdoValueSemantics.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/ComplexNumberJdoValueSemantics.java
index bcb5e7d0bd..16ba12d9b7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/ComplexNumberJdoValueSemantics.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/ComplexNumberJdoValueSemantics.java
@@ -30,13 +30,13 @@ import org.apache.causeway.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.causeway.schema.common.v2.ValueType;
@Profile("demo-jdo")
-// tag::class[]
+//tag::class[]
@Named("demo.ComplexNumberJdoValueSemantics")
@Component
public class ComplexNumberJdoValueSemantics
extends ValueSemanticsAbstract<ComplexNumberJdo>{
// ...
- // end::class[]
+ //end::class[]
@Override
public Class<ComplexNumberJdo> getCorrespondingClass() {
@@ -48,7 +48,7 @@ public class ComplexNumberJdoValueSemantics
return ValueType.COMPOSITE;
}
-// tag::compose[]
+//tag::compose[]
@Override
public ValueDecomposition decompose(final ComplexNumberJdo value) {
return CommonDtoUtils.typedTupleBuilder(value)
@@ -66,9 +66,9 @@ public class ComplexNumberJdoValueSemantics
(Double)map.get("im")))
.orElse(null);
}
-// end::compose[]
+//end::compose[]
-// tag::getRenderer[]
+//tag::getRenderer[]
@Override
public Renderer<ComplexNumberJdo> getRenderer() {
return (context, object) -> title(object, "NaN");
@@ -82,7 +82,7 @@ public class ComplexNumberJdoValueSemantics
: (" - " + (-complexNumber.getIm())))
+ "i";
}
-// end::getRenderer[]
-// tag::class[]
+//end::getRenderer[]
+//tag::class[]
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/EmbeddedTypePageJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/EmbeddedTypePageJdo.java
index 9e2d0b04df..cd9d949605 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/EmbeddedTypePageJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jdo/EmbeddedTypePageJdo.java
@@ -33,23 +33,23 @@ import demoapp.dom._infra.values.ValueHolderRepository;
import demoapp.dom.domain.objects.progmodel.embeddedvalues.ComplexNumber;
import demoapp.dom.domain.objects.progmodel.embeddedvalues.NumberConstantEntity;
-// tag::class[]
+//tag::class[]
@Named("demo.EmbeddedTypePageJdo")
@DomainObject(nature=Nature.VIEW_MODEL)
public class EmbeddedTypePageJdo implements HasAsciiDocDescription {
// ...
-// end::class[]
+//end::class[]
@Inject private ValueHolderRepository<ComplexNumber, ? extends NumberConstantEntity> numberConstantRepo;
@ObjectSupport public String title() {
return "Embedded Types";
}
-// tag::class[]
+//tag::class[]
@Collection
public List<? extends NumberConstantEntity> getAllConstants(){
return numberConstantRepo.all();
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/ComplexNumberJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/ComplexNumberJpa.java
index 50aa33cd26..f5269d5b95 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/ComplexNumberJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/ComplexNumberJpa.java
@@ -24,7 +24,7 @@ import lombok.AccessLevel;
import demoapp.dom.domain.objects.progmodel.embeddedvalues.ComplexNumber;
-// tag::class[]
+//tag::class[]
@javax.persistence.Embeddable // <.>
@Value // <.>
@lombok.Getter // <.>
@@ -40,4 +40,4 @@ public class ComplexNumberJpa
@javax.persistence.Column(nullable = false)
private double im; // <5>
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/ComplexNumberJpaValueSemantics.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/ComplexNumberJpaValueSemantics.java
index f63c3b192e..9a2273a43a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/ComplexNumberJpaValueSemantics.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/ComplexNumberJpaValueSemantics.java
@@ -30,13 +30,13 @@ import org.apache.causeway.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.causeway.schema.common.v2.ValueType;
@Profile("demo-jpa")
-// tag::class[]
+//tag::class[]
@Named("demo.ComplexNumberJpaValueSemantics")
@Component
public class ComplexNumberJpaValueSemantics
extends ValueSemanticsAbstract<ComplexNumberJpa> {
// ...
-// end::class[]
+//end::class[]
@Override
public Class<ComplexNumberJpa> getCorrespondingClass() {
@@ -48,7 +48,7 @@ public class ComplexNumberJpaValueSemantics
return ValueType.COMPOSITE;
}
-// tag::compose[]
+//tag::compose[]
@Override
public ValueDecomposition decompose(final ComplexNumberJpa value) {
return CommonDtoUtils.typedTupleBuilder(value)
@@ -66,9 +66,9 @@ public class ComplexNumberJpaValueSemantics
(Double)map.get("im")))
.orElse(null);
}
-// end::compose[]
+//end::compose[]
-// tag::getRenderer[]
+//tag::getRenderer[]
@Override
public Renderer<ComplexNumberJpa> getRenderer() {
return (context, object) -> title(object, "NaN");
@@ -82,8 +82,8 @@ public class ComplexNumberJpaValueSemantics
: (" - " + (-complexNumber.getIm())))
+ "i";
}
-// end::getRenderer[]
+//end::getRenderer[]
-// tag::class[]
+//tag::class[]
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/EmbeddedTypePageJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/EmbeddedTypePageJpa.java
index 212f44b490..90c1392fb9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/EmbeddedTypePageJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/embeddedvalues/jpa/EmbeddedTypePageJpa.java
@@ -33,23 +33,23 @@ import demoapp.dom._infra.values.ValueHolderRepository;
import demoapp.dom.domain.objects.progmodel.embeddedvalues.ComplexNumber;
import demoapp.dom.domain.objects.progmodel.embeddedvalues.NumberConstantEntity;
-// tag::class[]
+//tag::class[]
@Named("demo.EmbeddedTypePageJpa")
@DomainObject(nature=Nature.VIEW_MODEL)
public class EmbeddedTypePageJpa implements HasAsciiDocDescription {
// ...
-// end::class[]
+//end::class[]
@Inject private ValueHolderRepository<ComplexNumber, ? extends NumberConstantEntity> numberConstantRepo;
@ObjectSupport public String title() {
return "Embedded Types";
}
-// tag::class[]
+//tag::class[]
@Collection
public List<? extends NumberConstantEntity> getAllConstants(){
return numberConstantRepo.all();
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/mixins/CountHolder_fibonacciSequence.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/mixins/CountHolder_fibonacciSequence.java
index 4b72b3566f..bfb7d7981f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/mixins/CountHolder_fibonacciSequence.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/mixins/CountHolder_fibonacciSequence.java
@@ -27,7 +27,7 @@ import org.apache.causeway.applib.annotation.CollectionLayout;
import lombok.RequiredArgsConstructor;
import lombok.val;
-// tag::class[]
+//tag::class[]
@Collection // <.>
@CollectionLayout(paged = 10)
@RequiredArgsConstructor // <.>
@@ -48,7 +48,7 @@ public class CountHolder_fibonacciSequence {
}
private static int fibonacciFor(int n) {
// ...
-// end::class[]
+//end::class[]
if(n <= 1) {
return n;
}
@@ -61,7 +61,7 @@ public class CountHolder_fibonacciSequence {
prevFib = temp;
}
return fib;
-// tag::class[]
+//tag::class[]
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventControlStrategy.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventControlStrategy.java
index eb3ab7b83f..5217925abe 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventControlStrategy.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventControlStrategy.java
@@ -21,7 +21,7 @@ package demoapp.dom.domain.properties.Property.domainEvent;
import org.apache.causeway.applib.services.message.MessageService;
import org.apache.causeway.applib.services.registry.ServiceRegistry;
-// tag::class[]
+//tag::class[]
enum PropertyDomainEventControlStrategy {
DO_NOTHING{
@@ -30,9 +30,9 @@ enum PropertyDomainEventControlStrategy {
}
},
// ...
-// end::class[]
+//end::class[]
-// tag::hide[]
+//tag::hide[]
HIDE {
@Override
void on(PropertyDomainEventPage.TextDomainEvent ev, ServiceRegistry serviceRegistry) {
@@ -43,8 +43,8 @@ enum PropertyDomainEventControlStrategy {
}
}
},
-// end::hide[]
-// tag::disable[]
+//end::hide[]
+//tag::disable[]
DISABLE{
@Override
void on(PropertyDomainEventPage.TextDomainEvent ev, ServiceRegistry serviceRegistry) {
@@ -56,8 +56,8 @@ enum PropertyDomainEventControlStrategy {
}
},
-// end::disable[]
-// tag::validate[]
+//end::disable[]
+//tag::validate[]
VALIDATE_MUST_BE_UPPER_CASE{
@Override
void on(PropertyDomainEventPage.TextDomainEvent ev, ServiceRegistry serviceRegistry) {
@@ -72,8 +72,8 @@ enum PropertyDomainEventControlStrategy {
}
},
-// end::validate[]
-// tag::executing[]
+//end::validate[]
+//tag::executing[]
EXECUTING_FORCE_UPPER_CASE{
@Override
void on(PropertyDomainEventPage.TextDomainEvent ev, ServiceRegistry serviceRegistry) {
@@ -86,8 +86,8 @@ enum PropertyDomainEventControlStrategy {
}
}
},
-// end::executing[]
-// tag::executed[]
+//end::executing[]
+//tag::executed[]
EXECUTED_ANNOUNCE{
@Override
void on(PropertyDomainEventPage.TextDomainEvent ev, ServiceRegistry serviceRegistry) {
@@ -105,10 +105,10 @@ enum PropertyDomainEventControlStrategy {
}
}
}
-// end::executed[]
+//end::executed[]
-// tag::class[]
+//tag::class[]
;
abstract void on(PropertyDomainEventPage.TextDomainEvent ev, ServiceRegistry serviceRegistry);
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventControlSubscriber.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventControlSubscriber.java
index c427f3cba6..4d709ae450 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventControlSubscriber.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventControlSubscriber.java
@@ -27,7 +27,7 @@ import org.apache.causeway.applib.services.registry.ServiceRegistry;
import lombok.RequiredArgsConstructor;
-// tag::class[]
+//tag::class[]
@Service
@RequiredArgsConstructor(onConstructor_ = { @Inject })
class PropertyDomainEventControlSubscriber {
@@ -42,4 +42,4 @@ class PropertyDomainEventControlSubscriber {
controlStrategy.on(ev, serviceRegistry); // <.>
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/EmailTicket.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/EmailTicket.java
index 82e34f5955..8da77b3927 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/EmailTicket.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/EmailTicket.java
@@ -47,46 +47,40 @@ import lombok.val;
* </ul>
* </p>
*/
+//tag::class[]
public class EmailTicket extends SimpleTicket {
+ // ...
+//end::class[]
- // -- MAILTO VALUE TYPE
-
+//tag::mailTo[]
@Builder
public static class MailTo implements Serializable {
+ // ...
+//end::mailTo[]
private static final long serialVersionUID = -817872853109724987L;
- @Builder.Default
- private String linkName = "Email";
- @Builder.Default
- private String receiver = "no-one@nowhere";
- @Builder.Default
- private String subject = "[Module-Name] Unexpected Error (#ref)";
- @Builder.Default
- private String body = "empty body";
+ @Builder.Default private String linkName = "Email";
+ @Builder.Default private String receiver = "no-one@nowhere";
+ @Builder.Default private String subject = "[Module-Name] Unexpected Error (#ref)";
+ @Builder.Default private String body = "empty body";
- /**
- * @implNote this is just a demo;
- * the body message is truncated at the 1000th character
- * due to potential browser limitations
- */
+//tag::mailTo[]
public String toHtmlLink() {
-
val messageProperties = Map.<String, Object>of(
- "receiver", receiver,
- "subject", htmlEscape(subject),
- "body", htmlEscape(_Strings.ellipsifyAtEnd(body, 1000, "... truncated")),
- "linkName", linkName);
-
- return _Strings.format("<a href=\"mailto:${receiver}"
- + "?subject=${subject}"
- + "&body=${body}\">${linkName}</a>",
+ "receiver", receiver,
+ "subject", htmlEscape(subject),
+ "body", htmlEscape(
+ _Strings.ellipsifyAtEnd(body, 1000, "... truncated")), // <.>
+ "linkName", linkName);
+
+ return _Strings.format(
+ "<a href=\"mailto:${receiver}?subject=${subject}&body=${body}\">${linkName}</a>",
messageProperties);
}
+//end::mailTo[]
- // -- STACKTRACE FORMATTING
-
- public static String mailBodyOf(final ErrorDetails errorDetails) {
+ static String mailBodyOf(final ErrorDetails errorDetails) {
return "Stacktrace:%0D%0A=================%0D%0A" +
stream(errorDetails.getStackTraceDetailPerCause())
.map(MailTo::causeToString)
@@ -101,41 +95,38 @@ public class EmailTicket extends SimpleTicket {
.collect(Collectors.joining("%0D%0A"))
;
}
-
-
+//tag::mailTo[]
}
-
- // TICKET IMPL
+//end::mailTo[]
private static final long serialVersionUID = -748973805361941912L;
private MailTo mailTo;
+//tag::class[]
public EmailTicket(
final MailTo mailTo,
final String reference,
final String userMessage,
final String details,
final StackTracePolicy stackTracePolicy,
- final String kittenUrl) {
+ final String kittenUrl) { // <.>
super(reference, userMessage, details, stackTracePolicy, kittenUrl);
this.mailTo = mailTo;
}
+//end::class[]
+//tag::markup[]
@Override
public String getMarkup() {
-
val messageProperties = Map.<String, Object>of(
- "title", ifPresentMap(getDetails(),
- details->"<h3>" + htmlEscape(details) + "</h3>"),
- "kittenImg", ifPresentMap(getKittenUrl(),
- kittenUrl->"<img src=\"" + kittenUrl + "\"></img>"),
- "mailToParagraph", "<p><h4>Please report this error: <span>"
- + mailTo.toHtmlLink()
- + "</span></h4></p>");
+ "title", ifPresentMap(getDetails(), details-> String.format("<h3>%s</h3>", htmlEscape(details))),
+ "img", ifPresentMap(getKittenUrl(), kittenUrl-> String.format("<img src=\"%s\"></img>", kittenUrl)),
+ "para", String.format("<p><h4>Please report this error: <span>%s</span></h4></p>", mailTo.toHtmlLink()));
return _Strings.format(
- "<p>${title}${kittenImg}</p>"
- + "${mailToParagraph}",
+ "<p>${title}${img}</p>${para}",
messageProperties);
}
-
+//end::markup[]
+//tag::class[]
}
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm-description.adoc
index 42105bbdd4..de7590aeea 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm-description.adoc
@@ -1,46 +1,50 @@
:Notice: 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 ag [...]
-The `ErrorReportingService` is an SPI to customise the actions taken by the framework if an unexpected exception is raised.
+Errors happen.
+The framework does provide a default error handling implementation.
+However, by implementing the link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/services/error/ErrorReportingService.html[ErrorReportingService] SPI you may provide a more user-friendly experience:
+== How this demo works
-Hit the 'Trigger An Error' button an see what happens!
+Hit the 'Trigger An Error' action to see what happens!
-The framework does provide a default error handling implementation.
-However, by implementing a custom `ErrorReportingService` you may
-provide a more user-friendly experience:
+In terms of code:
+* the SPI service is:
++
[source,java]
+.ErrorReportingServiceForDemo.java
----
-import org.springframework.stereotype.Service;
-
-@Service
-public class DemoErrorReportingService implements ErrorReportingService {
-
- @Override
- public Ticket reportError(ErrorDetails errorDetails) {
-
- String reference = "#0";
- String userMessage = errorDetails.getMainMessage();
- String details = "Apologies!";
-
- val mailTo = MailTo.builder()
- .receiver("support@hello.world")
- .subject("[Simple-Module] Unexpected Error ("+reference+")")
- .body(MailTo.mailBodyOf(errorDetails))
- .build();
-
- StackTracePolicy policy = StackTracePolicy.SHOW;
- val ticket = new EmailTicket(mailTo, reference, userMessage, details,
- policy,
- "http://www.randomkittengenerator.com/cats/rotator.php");
-
- return ticket;
- }
+include::ErrorReportingServiceForDemo.java[tags=class]
+----
+<.> in a real-world system, this could be a lookup from an external system such as Jira, or might be an internally-generated identifier
+<.> returns an implementation of link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/services/error/Ticket.html[Ticket], containing the details to be rendered to the end-user.
+In this case we render a link to allow the end-user to create a mail using their mail client, if they so wish.
+* the `EmailTicket` is:
++
+[source,java]
+.EmailTicket.java
+----
+include::EmailTicket.java[tags=class]
+----
+<.> If specified, is the external URL of an image to display to the end user.
+(It doesn't have to be a kitten!)
-}
+* where `MailTo` captures the detail of where to mail to:
++
+[source,java,indent=0]
+.EmailTicket.java
----
+include::EmailTicket.java[tags=mailTo]
+----
+<.> the body message is truncated at the 1000th character in case of browser truncation
-See the ErrorReportingService implemented for this demo here:
-link:${SOURCES_DEMO}/demoapp/dom/error/service[sources].
+* and where on this occasion it also overrides `getMarkup()`, the actual HTML rendered:
++
+[source,java,indent=0]
+.EmailTicket.java
+----
+include::EmailTicket.java[tags=markup]
+----
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.xml b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.layout.xml
similarity index 100%
rename from examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.xml
rename to examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.layout.xml
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoImplementation.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceForDemo.java
similarity index 84%
rename from examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoImplementation.java
rename to examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceForDemo.java
index 96913dbf00..8836c2090a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoImplementation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceForDemo.java
@@ -30,16 +30,16 @@ import org.apache.causeway.applib.services.error.Ticket.StackTracePolicy;
import lombok.val;
-// tag::class[]
+//tag::class[]
@Service
@Named("demo.ErrorReportingServiceDemoImplementation")
@Qualifier("demo")
-public class ErrorReportingServiceDemoImplementation implements ErrorReportingService {
+public class ErrorReportingServiceForDemo implements ErrorReportingService {
@Override
public Ticket reportError(final ErrorDetails errorDetails) {
- val reference = "#0";
+ val reference = "#0"; // <.>
val userMessage = errorDetails.getMainMessage();
val details = "Apologies!";
@@ -49,10 +49,13 @@ public class ErrorReportingServiceDemoImplementation implements ErrorReportingSe
.body(EmailTicket.MailTo.mailBodyOf(errorDetails))
.build();
- return new EmailTicket(
- mailTo, reference, userMessage, details,
+ return new EmailTicket( // <.>
+ mailTo,
+ reference,
+ userMessage,
+ details,
StackTracePolicy.SHOW,
"http://www.randomkittengenerator.com/cats/rotator.php");
}
}
-// end::class[]
+//end::class[]
diff --git a/examples/demo/wicket/jdo/src/test/e2e/cypress-scaffolding/integration/examples/misc.spec.js b/examples/demo/wicket/jdo/src/test/e2e/cypress-scaffolding/integration/examples/misc.spec.js
index dcd059574c..b41a3d9084 100644
--- a/examples/demo/wicket/jdo/src/test/e2e/cypress-scaffolding/integration/examples/misc.spec.js
+++ b/examples/demo/wicket/jdo/src/test/e2e/cypress-scaffolding/integration/examples/misc.spec.js
@@ -11,7 +11,7 @@ context('Misc', () => {
// cy.end is useful when you want to end a chain of commands
// and force Cypress to re-query from the root element
cy.get('.misc-table').within(() => {
- // ends the current chain and yields null
+ //ends the current chain and yields null
cy.contains('Cheryl').click().end()
// queries the entire table again
[causeway] 02/03: CAUSEWAY-2485: updates the EventBusService example
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch CAUSEWAY-2485
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 013e06de02b2c7173f2068909e53739843fb7063
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri May 19 07:27:47 2023 +0100
CAUSEWAY-2485: updates the EventBusService example
---
.../dom/domain/objects/progmodel/bean/readme.txt | 41 ++++++++++++++++++
.../src/main/java/demoapp/dom/menubars.layout.xml | 7 +++-
.../demoapp/dom/services/core/ServicesMenu.java | 7 ++--
.../EventBusServiceDemoPage-description.adoc | 49 ++++++++++++++++++++++
...iceDemoVm.java => EventBusServiceDemoPage.java} | 47 +++++++++++----------
...yout.xml => EventBusServiceDemoPage.layout.xml} | 0
.../EventBusServiceDemoVm-description.adoc | 13 ------
...eDemoVm.layout.xml => EventLogEntry.layout.xml} | 5 ---
.../core/eventbusservice/EventLogEntryJdo.java | 4 +-
.../EventLogEntryJdoRepository.java | 2 +-
.../core/eventbusservice/EventLogEntryJpa.java | 2 +-
.../EventLogEntryJpaRepository.java | 2 +-
.../eventbusservice/EventLogEntryRepository.java | 9 ++--
...ementation.java => EventSubscriberForDemo.java} | 37 ++++------------
14 files changed, 141 insertions(+), 84 deletions(-)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/bean/readme.txt b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/bean/readme.txt
new file mode 100644
index 0000000000..c74126b0e1
--- /dev/null
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/progmodel/bean/readme.txt
@@ -0,0 +1,41 @@
+
+TODO: create a new demo to show the BEAN nature.
+TODO: this also demonstrates async call of WrapperFactory
+
+This is the original version of EventSubscriberForDemo (since simplified):
+
+@Service
+@Named("demo.eventSubscriber")
+@Qualifier("demo")
+@Log4j2
+@RequiredArgsConstructor(onConstructor_ = { @Inject })
+public class EventSubscriberForDemo {
+
+ final FactoryService factoryService;
+ final WrapperFactory wrapper;
+
+ @EventListener(UiButtonEvent.class) // <.> <.> listen on the event, triggered by button in the UI
+ public void on(final UiButtonEvent event) {
+
+ log.info(emphasize("UiButtonEvent"));
+
+ val eventLogWriter = factoryService.get(EventLogWriter.class); // <.> <.> get a new writer from Spring
+
+ wrapper.asyncWrap(eventLogWriter, AsyncControl.returningVoid()).storeEvent(event);
+ }
+
+ @Named("demo.eventLogWriter")
+ @DomainObject(nature = Nature.BEAN) // <.> <.> have this Object's lifecycle managed by Spring
+ @Scope("prototype")
+ public static class EventLogWriter {
+
+ @Inject private EventLogEntryRepository<? extends EventLogEntry> eventLogEntryRepository;
+
+ @Action // called asynchronously by above invocation
+ public void storeEvent(final UiButtonEvent event) {
+ eventLogEntryRepository.storeEvent(event);
+ }
+ }
+}
+
+
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
index e03c23a087..321aeffd60 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
@@ -164,12 +164,15 @@ For latest we use: https://raw.githubusercontent.com/apache/causeway/master/anto
<mb3:menu>
<mb3:named>Selected Services</mb3:named>
<mb3:section>
- <mb3:named>Core</mb3:named>
- <mb3:serviceAction objectType="demo.ServicesMenu" id="errorReportingService" />
+ <mb3:named>Core APIs</mb3:named>
<mb3:serviceAction objectType="demo.ServicesMenu" id="eventBusService" />
<mb3:serviceAction objectType="demo.ServicesMenu" id="messageService" />
<mb3:serviceAction objectType="demo.ServicesMenu" id="wrapperFactory"/>
</mb3:section>
+ <mb3:section>
+ <mb3:named>Core SPIs</mb3:named>
+ <mb3:serviceAction objectType="demo.ServicesMenu" id="errorReportingService" />
+ </mb3:section>
</mb3:menu>
<mb3:menu>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
index 4e3b39ba14..78c6ef3fdb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
@@ -30,11 +30,10 @@ import org.apache.causeway.applib.annotation.SemanticsOf;
import org.apache.causeway.applib.services.factory.FactoryService;
import lombok.RequiredArgsConstructor;
-import lombok.val;
import demoapp.dom._infra.values.ValueHolderRepository;
import demoapp.dom.services.core.errorreportingservice.ErrorReportingServiceDemoVm;
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoVm;
+import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage;
import demoapp.dom.services.core.messageservice.MessageServiceDemoVm;
import demoapp.dom.services.core.wrapperFactory.WrapperFactoryEntity;
@@ -52,8 +51,8 @@ public class ServicesMenu {
@Action
@ActionLayout(cssClassFa="fa-bolt")
- public EventBusServiceDemoVm eventBusService(){
- return factoryService.viewModel(new EventBusServiceDemoVm());
+ public EventBusServiceDemoPage eventBusService(){
+ return factoryService.viewModel(new EventBusServiceDemoPage());
}
@Action
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoPage-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoPage-description.adoc
new file mode 100644
index 0000000000..871ed24777
--- /dev/null
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoPage-description.adoc
@@ -0,0 +1,49 @@
+:Notice: 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 ag [...]
+
+The framework's programming model automatically emits events for each member of each object as it is rendered, allowing subscribers to determine what is visible/hidden, enabled/disabled, or valid (when invoking an action).
+And if an action is invoked, then additional events are emitted before and after execution.
+The same is true for property edits.
+
+Moreover, there are also events emitted for the persistence lifecycle of domain objects, and UI events that allow subscribers to influence the title, icon, CSS and layout of objects.
+
+In most cases you should find that this rich in-built event model will suffice for your needs.
+However, you can also post your own custom events, by accessing the API of the link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/services/eventbus/EventBusService.html[EventBusService] service.
+
+== How this demo works
+
+On the left hand side is an (initially empty) collection, and an action to trigger an event.
+When invoked, the action programmatically raises an event.
+A subscriber listening on this event then causes an entity representing that event to be raised.
+The list of all created events is shown in the table.
+
+In terms of code:
+
+* this page provides the action to trigger an event:
++
+[source,java,indent=0]
+.EventBusServiceDemoPage.java
+----
+include::EventBusServiceDemoPage.java[tags=triggerEvent]
+----
+<.> instantiates an event and posts to ...
+<.> \... the injected `EventBusService`
+
+* where the event class is:
++
+[source,java,indent=0]
+.EventBusServiceDemoPage.java
+----
+include::EventBusServiceDemoPage.java[tags=eventClass]
+----
+<.> it's idiomatic (but not necessary) to inherit from `EventObject`
+
+* Meanwhile the subscriber is a singleton service (entities and view models cannot be subscribers)
++
+[source,java]
+.EventSubscriberForDemo.java
+----
+include::EventSubscriberForDemo.java[tags=class]
+----
+<.> listen on the event, triggered by button in the UI
+<.> delegate to repository to store the event
+
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoPage.java
similarity index 69%
rename from examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java
rename to examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoPage.java
index 1441fae4d2..9d53cbc2b8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoPage.java
@@ -18,6 +18,7 @@
*/
package demoapp.dom.services.core.eventbusservice;
+import java.util.EventObject;
import java.util.List;
import javax.inject.Inject;
@@ -35,39 +36,41 @@ import org.apache.causeway.applib.services.eventbus.EventBusService;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-@Named("demo.EventBusServiceDemoVm")
+//tag::class[]
+@Named("demo.EventBusServiceDemoPage")
@DomainObject(nature=Nature.VIEW_MODEL)
-public class EventBusServiceDemoVm implements HasAsciiDocDescription {
-
- @Inject private EventLogEntryRepository<? extends EventLogEntry> eventLogEntryRepository;
- @Inject private EventBusService eventBusService;
+public class EventBusServiceDemoPage implements HasAsciiDocDescription {
+ // ...
+//end::class[]
@ObjectSupport public String title() {
return "Event Demo";
}
- @Collection
- public List<? extends EventLogEntry> getAllEvents(){
- return eventLogEntryRepository.listAll();
- }
-
- @Named("demo.EventBusServiceDemoVm.UiButtonEvent")
- @DomainObject(nature = Nature.VIEW_MODEL)
- public static class UiButtonEvent implements ViewModel {
- // -- VIEWMODEL CONTRACT
- public UiButtonEvent(final String memento) { }
- @Override public String viewModelMemento() { return ""; }
+//tag::eventClass[]
+ public static class UiButtonEvent extends EventObject { // <.>
+ public UiButtonEvent(Object source) {
+ super(source);
+ }
}
+//end::eventClass[]
- @ActionLayout(
- describedAs = "Writes a new EventLog entry to the persistent eventlog.",
- cssClassFa="fa-bolt",
- position = Position.PANEL)
+//tag::triggerEvent[]
@Action
- public EventBusServiceDemoVm triggerEvent(){
- eventBusService.post(new UiButtonEvent(null));
+ public EventBusServiceDemoPage triggerEvent(){
+ eventBusService.post(new UiButtonEvent(this)); // <.>
return this;
}
+ @Inject private EventBusService eventBusService; // <.>
+//end::triggerEvent[]
+
+ @Collection public List<? extends EventLogEntry> getAllEvents(){
+ return eventLogEntryRepository.listAll();
+ }
+
+ @Inject private EventLogEntryRepository<? extends EventLogEntry> eventLogEntryRepository;
+//tag::class[]
}
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoPage.layout.xml
similarity index 100%
copy from examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.layout.xml
copy to examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoPage.layout.xml
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm-description.adoc
deleted file mode 100644
index 5ef251118a..0000000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm-description.adoc
+++ /dev/null
@@ -1,13 +0,0 @@
-:Notice: 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 ag [...]
-
-(since 2.0)
-
-Note: events are written to the list in the background, so a page refresh might be required to see all events
-
-[source,java]
-----
-// TODO
-----
-
-See the tree demo link:${SOURCES_DEMO}/demoapp/dom/events[sources].
-
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntry.layout.xml
similarity index 92%
rename from examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.layout.xml
rename to examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntry.layout.xml
index cd5f451265..207cc516f1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntry.layout.xml
@@ -23,11 +23,6 @@
<bs3:row>
<bs3:col span="6">
<bs3:row>
- <bs3:col span="12">
- <cpt:collection defaultView="table" id="allEvents">
- <cpt:action id="triggerEvent"/>
- </cpt:collection>
- </bs3:col>
</bs3:row>
<bs3:row>
<bs3:col span="12">
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java
index 883c8e60d3..1c4f0236f6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java
@@ -39,7 +39,7 @@ import lombok.Getter;
import lombok.Setter;
import lombok.val;
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoVm.UiButtonEvent;
+import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage.UiButtonEvent;
@Profile("demo-jdo")
@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
@@ -51,7 +51,7 @@ extends EventLogEntry {
// -- FACTORY
- public static EventLogEntryJdo of(final UiButtonEvent even) {
+ public static EventLogEntryJdo of(final UiButtonEvent event) {
val x = new EventLogEntryJdo();
x.setEvent("Button clicked " + LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_TIME));
return x;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdoRepository.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdoRepository.java
index 25bd789459..866b398e9f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdoRepository.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdoRepository.java
@@ -30,7 +30,7 @@ import org.apache.causeway.applib.services.repository.RepositoryService;
import lombok.RequiredArgsConstructor;
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoVm.UiButtonEvent;
+import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage.UiButtonEvent;
@Profile("demo-jdo")
@Repository
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
index a42b4dcbd9..f79acfbb7b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
@@ -39,7 +39,7 @@ import lombok.Getter;
import lombok.Setter;
import lombok.val;
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoVm.UiButtonEvent;
+import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage.UiButtonEvent;
@Profile("demo-jpa")
@Entity
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpaRepository.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpaRepository.java
index 4674fcc7e2..a0d71dba03 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpaRepository.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpaRepository.java
@@ -30,7 +30,7 @@ import org.apache.causeway.applib.services.repository.RepositoryService;
import lombok.RequiredArgsConstructor;
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoVm.UiButtonEvent;
+import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage.UiButtonEvent;
@Profile("demo-jpa")
@Repository
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryRepository.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryRepository.java
index 7e65297fe6..d97cf06ed1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryRepository.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryRepository.java
@@ -22,19 +22,22 @@ import java.util.List;
import lombok.val;
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoVm.UiButtonEvent;
+import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage.UiButtonEvent;
+//tag::class[]
public interface EventLogEntryRepository<T extends EventLogEntry> {
-
+ // ...
+//end::class[]
List<T> listAll();
void add(T entry);
T newEntityFor(UiButtonEvent event);
+//tag::class[]
default void storeEvent(final UiButtonEvent event) {
val entry = newEntityFor(event);
add(entry);
}
-
}
+//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberForDemo.java
similarity index 65%
rename from examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java
rename to examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberForDemo.java
index 186fb0e1dd..c48d76b21b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberForDemo.java
@@ -37,46 +37,23 @@ import lombok.RequiredArgsConstructor;
import lombok.val;
import lombok.extern.log4j.Log4j2;
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoVm.UiButtonEvent;
+import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage.UiButtonEvent;
import static demoapp.dom._infra.utils.LogUtils.emphasize;
+//tag::class[]
@Service
@Named("demo.eventSubscriber")
@Qualifier("demo")
@Log4j2
@RequiredArgsConstructor(onConstructor_ = { @Inject })
-public class EventSubscriberDemoImplementation {
+public class EventSubscriberForDemo {
- final WrapperFactory wrapper;
- final FactoryService factoryService;
+ final EventLogEntryRepository<? extends EventLogEntry> eventLogEntryRepository;
- @EventListener(UiButtonEvent.class) // <-- listen on the event, triggered by button in the UI
+ @EventListener(UiButtonEvent.class) // <.>
public void on(final UiButtonEvent event) {
-
- log.info(emphasize("UiButtonEvent")); // <-- log to the console
-
- val eventLogWriter = factoryService.get(EventLogWriter.class); // <-- get a new writer
-
- wrapper.asyncWrap(eventLogWriter, AsyncControl.returningVoid()).storeEvent(event);
-
+ eventLogEntryRepository.storeEvent(event); // <.>
}
-
- @Named("demo.eventLogWriter")
- @DomainObject(
- nature = Nature.BEAN) @Scope("prototype") // <-- have this Object's lifecycle managed by Spring
- public static class EventLogWriter {
-
- @Inject private EventLogEntryRepository<? extends EventLogEntry> eventLogEntryRepository;
-
- @Action // called asynchronously by above invocation
- public void storeEvent(final UiButtonEvent event) {
-
- eventLogEntryRepository.storeEvent(event);
- }
-
- }
-
-
-
}
+//end::class[]
[causeway] 03/03: CAUSEWAY-2485: tidies up message demo
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch CAUSEWAY-2485
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 85acfa42eecd521017ba370f262558be976c2185
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri May 19 08:54:04 2023 +0100
CAUSEWAY-2485: tidies up message demo
---
.../demoapp/dom/services/core/ServicesMenu.java | 6 ++--
.../MessageServiceDemoPage-description.adoc | 35 +++++++++++++++++++
...viceDemoVm.java => MessageServiceDemoPage.java} | 40 +++++++++++++---------
...ayout.xml => MessageServiceDemoPage.layout.xml} | 6 ++--
.../MessageServiceDemoVm-description.adoc | 32 -----------------
5 files changed, 65 insertions(+), 54 deletions(-)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
index 78c6ef3fdb..2f26b5272c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
@@ -34,7 +34,7 @@ import lombok.RequiredArgsConstructor;
import demoapp.dom._infra.values.ValueHolderRepository;
import demoapp.dom.services.core.errorreportingservice.ErrorReportingServiceDemoVm;
import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage;
-import demoapp.dom.services.core.messageservice.MessageServiceDemoVm;
+import demoapp.dom.services.core.messageservice.MessageServiceDemoPage;
import demoapp.dom.services.core.wrapperFactory.WrapperFactoryEntity;
@Named("demo.ServicesMenu")
@@ -57,8 +57,8 @@ public class ServicesMenu {
@Action
@ActionLayout(cssClassFa="fa-sticky-note")
- public MessageServiceDemoVm messageService(){
- return factoryService.viewModel(new MessageServiceDemoVm());
+ public MessageServiceDemoPage messageService(){
+ return factoryService.viewModel(new MessageServiceDemoPage());
}
@Action
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage-description.adoc
new file mode 100644
index 0000000000..1717db3755
--- /dev/null
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage-description.adoc
@@ -0,0 +1,35 @@
+:Notice: 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 ag [...]
+
+Sometimes it's worth bringing something to the attention of the end-user.
+The framework provides the link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/services/message/MessageService.html[MessageService] which allows a message to be raised, at three levels of severity.
+The Wicket viewer shows these messages as "toast" popups.
+
+== How this demo works
+
+Use the actions on the left hand side to raise a message at each of the three different levels of severity supported.
+
+In terms of code:
+
+* to raise an informational message:
++
+[source,java,indent=0]
+.MessageServiceDemoPage.java
+----
+include::MessageServiceDemoPage.java[tags=informUser]
+----
+
+* to raise an warning:
++
+[source,java,indent=0]
+.MessageServiceDemoPage.java
+----
+include::MessageServiceDemoPage.java[tags=warnUser]
+----
+
+* to raise an error message
++
+[source,java,indent=0]
+.MessageServiceDemoPage.java
+----
+include::MessageServiceDemoPage.java[tags=raiseError]
+----
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage.java
similarity index 71%
rename from examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java
rename to examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage.java
index 5786f87bb9..c9d9fd986c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage.java
@@ -27,13 +27,14 @@ import org.apache.causeway.applib.annotation.ActionLayout.Position;
import org.apache.causeway.applib.annotation.DomainObject;
import org.apache.causeway.applib.annotation.Nature;
import org.apache.causeway.applib.annotation.ObjectSupport;
+import org.apache.causeway.applib.annotation.SemanticsOf;
import org.apache.causeway.applib.services.message.MessageService;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-@Named("demo.MessageServiceDemoVm")
+@Named("demo.MessageServiceDemoPage")
@DomainObject(nature=Nature.VIEW_MODEL)
-public class MessageServiceDemoVm implements HasAsciiDocDescription {
+public class MessageServiceDemoPage implements HasAsciiDocDescription {
@Inject private MessageService messageService;
@@ -41,36 +42,43 @@ public class MessageServiceDemoVm implements HasAsciiDocDescription {
return "Message Demo";
}
+//tag::informUser[]
+ @Action(semantics = SemanticsOf.SAFE)
@ActionLayout(
- describedAs = "Presents an info style message.",
+ cssClass = "btn-info",
cssClassFa="fa-sticky-note",
- position = Position.PANEL)
- @Action
- public MessageServiceDemoVm infoMessage(){
- System.err.println("EXEC");
+ position = Position.PANEL
+ )
+ public MessageServiceDemoPage informUser(){
messageService.informUser("Demo Info Message.");
return this;
}
+//end::informUser[]
+//tag::warnUser[]
+ @Action(semantics = SemanticsOf.SAFE)
@ActionLayout(
- describedAs = "Presents an warning style message.",
+ cssClass = "btn-warning",
cssClassFa="fa-sticky-note",
- position = Position.PANEL)
- @Action
- public MessageServiceDemoVm warnMessage(){
+ position = Position.PANEL
+ )
+ public MessageServiceDemoPage warnUser(){
messageService.warnUser("Demo Warning Message.");
return this;
}
+//end::warnUser[]
+//tag::raiseError[]
+ @Action(semantics = SemanticsOf.SAFE)
@ActionLayout(
- describedAs = "Presents an error style message.",
+ cssClass = "btn-danger",
cssClassFa="fa-sticky-note",
- position = Position.PANEL)
- @Action
- public MessageServiceDemoVm errorMessage(){
+ position = Position.PANEL
+ )
+ public MessageServiceDemoPage raiseError(){
messageService.raiseError("Demo Error Message.");
return this;
}
-
+//end::raiseError[]
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage.layout.xml
similarity index 92%
rename from examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.layout.xml
rename to examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage.layout.xml
index bec6370b06..106e5ac7dd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoPage.layout.xml
@@ -24,9 +24,9 @@
<bs3:col span="6">
<bs3:row>
<bs3:col span="12">
- <cpt:action id="infoMessage" cssClass="btn-info"/>
- <cpt:action id="warnMessage" cssClass="btn-warning"/>
- <cpt:action id="errorMessage" cssClass="btn-danger"/>
+ <cpt:action id="informUser"/>
+ <cpt:action id="warnUser"/>
+ <cpt:action id="raiseError"/>
</bs3:col>
</bs3:row>
<bs3:row>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm-description.adoc
deleted file mode 100644
index 60663506ea..0000000000
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm-description.adoc
+++ /dev/null
@@ -1,32 +0,0 @@
-:Notice: 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 ag [...]
-
-(since 2.0)
-
-The framework supports 3 styles of messages that can be presented to the user within the browser.
-
-[source,java]
-----
-class MyViewmodel {
-
- @Inject private MessageService messageService;
-
- @Action
- public MyViewmodel infoMessage(){
- messageService.informUser("Info Message.");
- return this;
- }
-
- @Action
- public MyViewmodel warnMessage(){
- messageService.warnUser("Warning Message.");
- return this;
- }
-
- @Action
- public MyViewmodel errorMessage(){
- messageService.raiseError("Error Message.");
- return this;
- }
-
-}
-----