You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2023/03/06 07:13:12 UTC
[causeway] branch spring6 updated (d59172a4cc -> 5327823128)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a change to branch spring6
in repository https://gitbox.apache.org/repos/asf/causeway.git
from d59172a4cc Bump Wicket Jitpack build from 28-Nov'22 to today's
add 29d6b9c668 CAUSEWAY-3312: [Demo] Object Annotation: add missing VMs (just stubs)
add 8cc07805df CAUSEWAY-3311: [Demo] Collection Layout Annotation - adding all VMs (stubs)
add b466a14cd0 improves build.sh, serve up timeline
add 743b346a22 CAUSEWAY-3366: wip, adding in onReady and onStarted callbacks
add 5047dfae33 CAUSEWAY-3366: simplifies CommandSubscriberForCommandLog impl
add 0362d49288 CAUSEWAY-3366: fixes commandlog integ test
add 6f25e1b318 CAUSEWAY-3366: improves docs/website for Command in refguide, is all.
add 144924de60 CAUSEWAY-3366: improves javadoc for Interaction, is all.
add 1e0ee3db04 CAUSEWAY-3366: fixes mis-spelling in EntityState, is all.
add 577260ff59 CAUSEWAY-3366: makes AsyncCallable also implement Callable
add 848cee3f7f CAUSEWAY-3366: improves docs of cmd-2.0.xsd, is all.
add 0413633c07 CAUSEWAY-3366: makes InteractionIdGenerator into an interface, with ..
add 1ce7983fe5 CAUSEWAY-3366: improves internal comment in CommandSubscriberForCommandLog, is all.
add 6042ddaabe CAUSEWAY-3366: removes unnecessary getter of ServiceRegistry service in CausewayIntegrationTestAbstract, is all.
add 02849974e0 CAUSEWAY-3366: improves docs for execution outbox is all (outbox idiom)
add c9ceccae2c CAUSEWAY-3366: fixes bug in WrapperFactoryDefault, the uuid of the child command should be ...
add 564e9a9d15 CAUSEWAY-3366: simplifies API of CommandExecutorService ...
add 830c301ce6 CAUSEWAY-3366: adds docs on interactions, commands and executions
add cd1fd8be51 CAUSEWAY-3366: allows the Command's interactionId to be replaced by CommandExecutorService
add 671362972e CAUSEWAY-3366: fixes regression tests for new behaviour of cmdlog
add b8ae15036b Merge pull request #1475 from apache/CAUSEWAY-3366
new 5327823128 Merge remote-tracking branch 'origin/master' into spring6
The 1 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:
.../causeway/applib/services/command/Command.java | 72 +++++--
.../services/command/CommandExecutorService.java | 29 +--
.../applib/services/iactn/Interaction.java | 5 +-
.../services/publishing/log/CommandLogger.java | 17 +-
.../services/publishing/spi/CommandSubscriber.java | 29 ++-
.../applib/services/repository/EntityState.java | 7 +-
.../services/wrapper/callable/AsyncCallable.java | 3 +-
.../src/main/resources/schema/cmd/cmd-2.0.xsd | 7 +-
build.sh | 27 +--
.../interactions-commands-and-executions.adoc | 230 +++++++++++++++++++++
.../modules/interaction/partials/module-nav.adoc | 1 +
.../interaction/session/CausewayInteraction.java | 19 +-
.../metamodel/execution/InteractionInternal.java | 3 +
.../publish/command/CommandPublishingFacet.java | 17 --
.../core/metamodel/object/MmEntityUtil.java | 4 +-
.../object/_ManagedObjectEntityBookmarked.java | 4 +-
.../services/publishing/CommandPublisher.java | 16 +-
.../CausewayModuleCoreRuntimeServices.java | 3 +-
.../command/CommandExecutorServiceDefault.java | 156 ++++++--------
.../executor/MemberExecutorServiceDefault.java | 40 +++-
.../publish/CommandPublisherDefault.java | 42 +++-
.../core/runtimeservices/publish/_Xray.java | 32 ++-
.../session/InteractionIdGenerator.java | 9 +-
...tor.java => InteractionIdGeneratorDefault.java} | 20 +-
.../session/InteractionServiceDefault.java | 6 +-
.../wrapper/WrapperFactoryDefault.java | 34 +--
.../demoapp/dom/domain/_entities/DemoEntity.java | 20 +-
.../CollectionLayout/CollectionLayoutMenu.java | 102 +++++----
.../collections/CollectionLayout/cssClass/.gitkeep | 0
.../CollectionLayoutCssClassVm-description.adoc} | 8 +-
.../cssClass/CollectionLayoutCssClassVm.java} | 51 ++---
.../CollectionLayoutCssClassVm.layout.xml} | 0
.../CollectionLayout/defaultView/.gitkeep | 0
...CollectionLayoutDefaultViewVm-description.adoc} | 9 +-
.../CollectionLayoutDefaultViewVm.java} | 51 ++---
.../CollectionLayoutDefaultViewVm.layout.xml} | 0
.../CollectionLayout/describedAs/.gitkeep | 0
...CollectionLayoutDescribedAsVm-description.adoc} | 4 +-
.../CollectionLayoutDescribedAsVm.java} | 51 ++---
.../CollectionLayoutDescribedAsVm.layout.xml} | 0
.../collections/CollectionLayout/hidden/.gitkeep | 0
.../CollectionLayoutHiddenVm-description.adoc} | 8 +-
.../hidden/CollectionLayoutHiddenVm.java} | 52 ++---
.../hidden/CollectionLayoutHiddenVm.layout.xml} | 0
.../collections/CollectionLayout/named/.gitkeep | 0
.../CollectionLayoutNamedVm-description.adoc} | 5 +-
.../named/CollectionLayoutNamedVm.java} | 52 ++---
.../named/CollectionLayoutNamedVm.layout.xml} | 0
.../collections/CollectionLayout/paged/.gitkeep | 0
.../CollectionLayoutPagedVm-description.adoc} | 8 +-
.../paged/CollectionLayoutPagedVm.java} | 51 ++---
.../paged/CollectionLayoutPagedVm.layout.xml} | 0
.../CollectionLayoutSequenceVm-description.adoc} | 8 +-
.../sequence/CollectionLayoutSequenceVm.java} | 51 ++---
.../CollectionLayoutSequenceVm.layout.xml} | 0
.../collections/CollectionLayout/sortedBy/.gitkeep | 0
.../CollectionLayoutSortedByComparator.java | 29 +--
.../CollectionLayoutSortedByVm-description.adoc | 10 +
.../sortedBy/CollectionLayoutSortedByVm.java} | 51 ++---
.../CollectionLayoutSortedByVm.layout.xml} | 0
...lectionLayoutTableDecoratorVm-description.adoc} | 8 +-
.../CollectionLayoutTableDecoratorVm.java} | 50 ++---
.../CollectionLayoutTableDecoratorVm.layout.xml} | 0
.../objects/DomainObject/DomainObjectMenu.java | 83 +++-----
.../DomainObjectAliasedVm-description.adoc} | 10 +-
.../aliased/DomainObjectAliasedVm.java | 46 +++++
.../aliased/DomainObjectAliasedVm.layout.xml} | 0
.../objects/DomainObject/autoComplete/.gitkeep | 0
.../DomainObjectAutoCompleteRepository.java | 21 +-
.../DomainObjectAutoCompleteVm-description.adoc} | 15 +-
.../autoComplete/DomainObjectAutoCompleteVm.java | 54 +++++
.../DomainObjectAutoCompleteVm.layout.xml} | 0
.../domain/objects/DomainObject/bounded/.gitkeep | 0
.../DomainObjectBoundingVm-description.adoc} | 10 +-
.../bounded/DomainObjectBoundingVm.java | 53 +++++
.../bounded/DomainObjectBoundingVm.layout.xml} | 0
.../domain/objects/DomainObject/editing/.gitkeep | 0
.../DomainObjectEditingVm-description.adoc} | 15 +-
.../editing/DomainObjectEditingVm.java | 47 +++++
.../editing/DomainObjectEditingVm.layout.xml} | 0
.../DomainObjectIntrospectionVm-description.adoc} | 8 +-
.../introspection/DomainObjectIntrospectionVm.java | 47 +++++
.../DomainObjectIntrospectionVm.layout.xml} | 0
.../objects/DomainObject/mixinMethod/.gitkeep | 0
.../DomainObjectMixinMethodVm-description.adoc | 11 +
.../mixinMethod/DomainObjectMixinMethodVm.java | 39 ++--
.../DomainObjectMixinMethodVm.layout.xml} | 0
.../objects/DomainObject/objectType/.gitkeep | 0
.../objects/DomainObject/xxxDomainEvent/.gitkeep | 0
.../DomainObjectDomainEventsVm-description.adoc | 46 +++++
.../xxxDomainEvent/DomainObjectDomainEventsVm.java | 47 +++++
.../DomainObjectDomainEventsVm.layout.xml} | 0
.../DomainObject/xxxLifecycleEvent/.gitkeep | 0
.../DomainObjectLifecyleEventsVm-description.adoc | 62 ++++++
.../DomainObjectLifecyleEventsVm.java | 47 +++++
.../DomainObjectLifecyleEventsVm.layout.xml} | 0
...omainObjectLayoutDescribedAsVm-description.adoc | 2 +-
.../DomainObjectLayoutNamedVm-description.adoc | 2 +-
.../DomainObjectLayoutPagedVm-description.adoc | 2 +-
.../DomainObjectLayoutTableDecoratorVm.java | 3 +-
...DomainObjectLayoutXxxUiEventVm-description.adoc | 2 +-
.../src/main/java/demoapp/dom/menubars.layout.xml | 10 +-
.../commandlog/applib/dom/BackgroundService.java | 1 -
.../commandlog/applib/dom/CommandLogEntry.java | 29 +--
.../applib/dom/CommandLogEntryRepository.java | 4 +-
.../applib/job/RunBackgroundCommandsJob.java | 2 +-
.../subscriber/CommandSubscriberForCommandLog.java | 45 +++-
.../BackgroundService_IntegTestAbstract.java | 20 +-
.../adoc/modules/executionoutbox/pages/about.adoc | 72 ++++++-
.../jobcallables/ReplicateAndRunCommands.java | 2 +-
.../CmdExecAuditSessLog_IntegTestAbstract.java | 95 ++++++---
.../subscriber/CommandSubscriberForTesting.java | 27 ++-
.../applib/CausewayIntegrationTestAbstract.java | 5 +-
.../testing/integtestsupport/applib/_Helper.java | 2 +-
114 files changed, 1649 insertions(+), 848 deletions(-)
create mode 100644 core/interaction/src/main/adoc/modules/interaction/pages/interactions-commands-and-executions.adoc
copy core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/{InteractionIdGenerator.java => InteractionIdGeneratorDefault.java} (61%)
copy core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/publishing/CommandPublisher.java => examples/demo/domain/src/main/java/demoapp/dom/domain/_entities/DemoEntity.java (59%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/cssClass/.gitkeep
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => collections/CollectionLayout/cssClass/CollectionLayoutCssClassVm-description.adoc} (76%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/cssClass/CollectionLayoutCssClassVm.java} (53%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/cssClass/CollectionLayoutCssClassVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/defaultView/.gitkeep
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => collections/CollectionLayout/defaultView/CollectionLayoutDefaultViewVm-description.adoc} (69%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/defaultView/CollectionLayoutDefaultViewVm.java} (53%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/defaultView/CollectionLayoutDefaultViewVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/describedAs/.gitkeep
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAsVm-description.adoc => collections/CollectionLayout/describedAs/CollectionLayoutDescribedAsVm-description.adoc} (89%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/describedAs/CollectionLayoutDescribedAsVm.java} (53%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/describedAs/CollectionLayoutDescribedAsVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/hidden/.gitkeep
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => collections/CollectionLayout/hidden/CollectionLayoutHiddenVm-description.adoc} (76%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/hidden/CollectionLayoutHiddenVm.java} (53%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/hidden/CollectionLayoutHiddenVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/named/.gitkeep
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => collections/CollectionLayout/named/CollectionLayoutNamedVm-description.adoc} (79%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/named/CollectionLayoutNamedVm.java} (53%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/named/CollectionLayoutNamedVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/paged/.gitkeep
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/paged/DomainObjectLayoutPagedVm-description.adoc => collections/CollectionLayout/paged/CollectionLayoutPagedVm-description.adoc} (70%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/paged/CollectionLayoutPagedVm.java} (53%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/paged/CollectionLayoutPagedVm.layout.xml} (100%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => collections/CollectionLayout/sequence/CollectionLayoutSequenceVm-description.adoc} (74%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/sequence/CollectionLayoutSequenceVm.java} (53%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/sequence/CollectionLayoutSequenceVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sortedBy/.gitkeep
copy core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/publishing/CommandPublisher.java => examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sortedBy/CollectionLayoutSortedByComparator.java (58%)
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sortedBy/CollectionLayoutSortedByVm-description.adoc
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/sortedBy/CollectionLayoutSortedByVm.java} (53%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/sortedBy/CollectionLayoutSortedByVm.layout.xml} (100%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => collections/CollectionLayout/tableDecorator/CollectionLayoutTableDecoratorVm-description.adoc} (75%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorVm.java => collections/CollectionLayout/tableDecorator/CollectionLayoutTableDecoratorVm.java} (55%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/{objects/DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => collections/CollectionLayout/tableDecorator/CollectionLayoutTableDecoratorVm.layout.xml} (100%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => DomainObject/aliased/DomainObjectAliasedVm-description.adoc} (82%)
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/DomainObjectAliasedVm.java
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => DomainObject/aliased/DomainObjectAliasedVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/.gitkeep
copy core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/publishing/CommandPublisher.java => examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/DomainObjectAutoCompleteRepository.java (59%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => DomainObject/autoComplete/DomainObjectAutoCompleteVm-description.adoc} (60%)
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/DomainObjectAutoCompleteVm.java
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => DomainObject/autoComplete/DomainObjectAutoCompleteVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/.gitkeep
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => DomainObject/bounded/DomainObjectBoundingVm-description.adoc} (77%)
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/DomainObjectBoundingVm.java
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => DomainObject/bounded/DomainObjectBoundingVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/.gitkeep
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => DomainObject/editing/DomainObjectEditingVm-description.adoc} (61%)
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/DomainObjectEditingVm.java
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => DomainObject/editing/DomainObjectEditingVm.layout.xml} (100%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/named/DomainObjectLayoutNamedVm-description.adoc => DomainObject/introspection/DomainObjectIntrospectionVm-description.adoc} (79%)
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/DomainObjectIntrospectionVm.java
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => DomainObject/introspection/DomainObjectIntrospectionVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/.gitkeep
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/DomainObjectMixinMethodVm-description.adoc
copy core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/publishing/CommandPublisher.java => examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/DomainObjectMixinMethodVm.java (50%)
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => DomainObject/mixinMethod/DomainObjectMixinMethodVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/objectType/.gitkeep
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/.gitkeep
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectDomainEventsVm-description.adoc
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectDomainEventsVm.java
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => DomainObject/xxxDomainEvent/DomainObjectDomainEventsVm.layout.xml} (100%)
delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/.gitkeep
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectLifecyleEventsVm-description.adoc
create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectLifecyleEventsVm.java
copy examples/demo/domain/src/main/java/demoapp/dom/domain/objects/{DomainObjectLayout/bookmarking/DomainObjectLayoutBookmarkingVm.layout.xml => DomainObject/xxxLifecycleEvent/DomainObjectLifecyleEventsVm.layout.xml} (100%)
[causeway] 01/01: Merge remote-tracking branch 'origin/master' into spring6
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch spring6
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 5327823128eea0ad1570aee318273e98fc980dff
Merge: d59172a4cc b8ae15036b
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Mar 6 08:13:03 2023 +0100
Merge remote-tracking branch 'origin/master' into spring6
.../causeway/applib/services/command/Command.java | 72 +++++--
.../services/command/CommandExecutorService.java | 29 +--
.../applib/services/iactn/Interaction.java | 5 +-
.../services/publishing/log/CommandLogger.java | 17 +-
.../services/publishing/spi/CommandSubscriber.java | 29 ++-
.../applib/services/repository/EntityState.java | 7 +-
.../services/wrapper/callable/AsyncCallable.java | 3 +-
.../src/main/resources/schema/cmd/cmd-2.0.xsd | 7 +-
build.sh | 27 +--
.../interactions-commands-and-executions.adoc | 230 +++++++++++++++++++++
.../modules/interaction/partials/module-nav.adoc | 1 +
.../interaction/session/CausewayInteraction.java | 19 +-
.../metamodel/execution/InteractionInternal.java | 3 +
.../publish/command/CommandPublishingFacet.java | 17 --
.../core/metamodel/object/MmEntityUtil.java | 4 +-
.../object/_ManagedObjectEntityBookmarked.java | 4 +-
.../services/publishing/CommandPublisher.java | 16 +-
.../CausewayModuleCoreRuntimeServices.java | 3 +-
.../command/CommandExecutorServiceDefault.java | 156 ++++++--------
.../executor/MemberExecutorServiceDefault.java | 40 +++-
.../publish/CommandPublisherDefault.java | 42 +++-
.../core/runtimeservices/publish/_Xray.java | 32 ++-
.../session/InteractionIdGenerator.java | 9 +-
...tor.java => InteractionIdGeneratorDefault.java} | 20 +-
.../session/InteractionServiceDefault.java | 6 +-
.../wrapper/WrapperFactoryDefault.java | 34 +--
.../demoapp/dom/domain/_entities/DemoEntity.java | 20 +-
.../CollectionLayout/CollectionLayoutMenu.java | 102 +++++----
.../collections/CollectionLayout/cssClass/.gitkeep | 0
.../CollectionLayoutCssClassVm-description.adoc} | 8 +-
.../cssClass/CollectionLayoutCssClassVm.java} | 51 ++---
.../cssClass/CollectionLayoutCssClassVm.layout.xml | 49 +++++
.../CollectionLayout/defaultView/.gitkeep | 0
...CollectionLayoutDefaultViewVm-description.adoc} | 9 +-
.../CollectionLayoutDefaultViewVm.java} | 51 ++---
.../CollectionLayoutDefaultViewVm.layout.xml | 49 +++++
.../CollectionLayout/describedAs/.gitkeep | 0
...CollectionLayoutDescribedAsVm-description.adoc} | 4 +-
.../CollectionLayoutDescribedAsVm.java} | 51 ++---
.../CollectionLayoutDescribedAsVm.layout.xml | 49 +++++
.../collections/CollectionLayout/hidden/.gitkeep | 0
.../CollectionLayoutHiddenVm-description.adoc} | 8 +-
.../hidden/CollectionLayoutHiddenVm.java} | 52 ++---
.../hidden/CollectionLayoutHiddenVm.layout.xml | 49 +++++
.../collections/CollectionLayout/named/.gitkeep | 0
.../CollectionLayoutNamedVm-description.adoc} | 5 +-
.../named/CollectionLayoutNamedVm.java} | 52 ++---
.../named/CollectionLayoutNamedVm.layout.xml | 49 +++++
.../collections/CollectionLayout/paged/.gitkeep | 0
.../CollectionLayoutPagedVm-description.adoc} | 8 +-
.../paged/CollectionLayoutPagedVm.java} | 51 ++---
.../paged/CollectionLayoutPagedVm.layout.xml | 49 +++++
.../CollectionLayoutSequenceVm-description.adoc} | 8 +-
.../sequence/CollectionLayoutSequenceVm.java} | 51 ++---
.../sequence/CollectionLayoutSequenceVm.layout.xml | 49 +++++
.../collections/CollectionLayout/sortedBy/.gitkeep | 0
.../CollectionLayoutSortedByComparator.java | 29 +--
.../CollectionLayoutSortedByVm-description.adoc | 10 +
.../sortedBy/CollectionLayoutSortedByVm.java} | 51 ++---
.../sortedBy/CollectionLayoutSortedByVm.layout.xml | 49 +++++
...lectionLayoutTableDecoratorVm-description.adoc} | 8 +-
.../CollectionLayoutTableDecoratorVm.java} | 50 ++---
.../CollectionLayoutTableDecoratorVm.layout.xml | 49 +++++
.../objects/DomainObject/DomainObjectMenu.java | 83 +++-----
.../DomainObjectAliasedVm-description.adoc} | 10 +-
.../aliased/DomainObjectAliasedVm.java | 46 +++++
.../aliased/DomainObjectAliasedVm.layout.xml | 49 +++++
.../objects/DomainObject/autoComplete/.gitkeep | 0
.../DomainObjectAutoCompleteRepository.java | 21 +-
.../DomainObjectAutoCompleteVm-description.adoc} | 15 +-
.../autoComplete/DomainObjectAutoCompleteVm.java | 54 +++++
.../DomainObjectAutoCompleteVm.layout.xml | 49 +++++
.../domain/objects/DomainObject/bounded/.gitkeep | 0
.../DomainObjectBoundingVm-description.adoc} | 10 +-
.../bounded/DomainObjectBoundingVm.java | 53 +++++
.../bounded/DomainObjectBoundingVm.layout.xml | 49 +++++
.../domain/objects/DomainObject/editing/.gitkeep | 0
.../DomainObjectEditingVm-description.adoc} | 15 +-
.../editing/DomainObjectEditingVm.java | 47 +++++
.../editing/DomainObjectEditingVm.layout.xml | 49 +++++
.../DomainObjectIntrospectionVm-description.adoc} | 8 +-
.../introspection/DomainObjectIntrospectionVm.java | 47 +++++
.../DomainObjectIntrospectionVm.layout.xml | 49 +++++
.../objects/DomainObject/mixinMethod/.gitkeep | 0
.../DomainObjectMixinMethodVm-description.adoc | 11 +
.../mixinMethod/DomainObjectMixinMethodVm.java | 39 ++--
.../DomainObjectMixinMethodVm.layout.xml | 49 +++++
.../objects/DomainObject/objectType/.gitkeep | 0
.../objects/DomainObject/xxxDomainEvent/.gitkeep | 0
.../DomainObjectDomainEventsVm-description.adoc | 46 +++++
.../xxxDomainEvent/DomainObjectDomainEventsVm.java | 47 +++++
.../DomainObjectDomainEventsVm.layout.xml | 49 +++++
.../DomainObject/xxxLifecycleEvent/.gitkeep | 0
.../DomainObjectLifecyleEventsVm-description.adoc | 62 ++++++
.../DomainObjectLifecyleEventsVm.java | 47 +++++
.../DomainObjectLifecyleEventsVm.layout.xml | 49 +++++
...omainObjectLayoutDescribedAsVm-description.adoc | 2 +-
.../DomainObjectLayoutNamedVm-description.adoc | 2 +-
.../DomainObjectLayoutPagedVm-description.adoc | 2 +-
.../DomainObjectLayoutTableDecoratorVm.java | 3 +-
...DomainObjectLayoutXxxUiEventVm-description.adoc | 2 +-
.../src/main/java/demoapp/dom/menubars.layout.xml | 10 +-
.../commandlog/applib/dom/BackgroundService.java | 1 -
.../commandlog/applib/dom/CommandLogEntry.java | 29 +--
.../applib/dom/CommandLogEntryRepository.java | 4 +-
.../applib/job/RunBackgroundCommandsJob.java | 2 +-
.../subscriber/CommandSubscriberForCommandLog.java | 45 +++-
.../BackgroundService_IntegTestAbstract.java | 20 +-
.../adoc/modules/executionoutbox/pages/about.adoc | 72 ++++++-
.../jobcallables/ReplicateAndRunCommands.java | 2 +-
.../CmdExecAuditSessLog_IntegTestAbstract.java | 95 ++++++---
.../subscriber/CommandSubscriberForTesting.java | 27 ++-
.../applib/CausewayIntegrationTestAbstract.java | 5 +-
.../testing/integtestsupport/applib/_Helper.java | 2 +-
114 files changed, 2482 insertions(+), 848 deletions(-)
diff --cc core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/CausewayModuleCoreRuntimeServices.java
index c2628b3c6a,544b14118d..af2c67a9a2
--- a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/CausewayModuleCoreRuntimeServices.java
+++ b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/CausewayModuleCoreRuntimeServices.java
@@@ -18,8 -18,9 +18,9 @@@
*/
package org.apache.causeway.core.runtimeservices;
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
+ import org.apache.causeway.core.runtimeservices.session.InteractionIdGeneratorDefault;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
diff --cc core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/command/CommandExecutorServiceDefault.java
index 2c3e96866d,abdd130dc3..8a4d8add2a
--- a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/command/CommandExecutorServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/command/CommandExecutorServiceDefault.java
@@@ -22,11 -23,13 +23,11 @@@ import java.util.UUID
import java.util.regex.Pattern;
import java.util.stream.Stream;
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Provider;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
++import jakarta.inject.Provider;
--import org.apache.causeway.commons.functional.Try;
-import org.apache.causeway.core.metamodel.services.publishing.CommandPublisher;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
@@@ -44,11 -45,11 +43,13 @@@ import org.apache.causeway.applib.servi
import org.apache.causeway.applib.util.schema.CommandDtoUtils;
import org.apache.causeway.commons.collections.Can;
import org.apache.causeway.commons.functional.IndexedFunction;
++import org.apache.causeway.commons.functional.Try;
import org.apache.causeway.commons.internal.base._NullSafe;
import org.apache.causeway.commons.internal.exceptions._Exceptions;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.causeway.core.metamodel.object.ManagedObject;
import org.apache.causeway.core.metamodel.object.ManagedObjects;
++import org.apache.causeway.core.metamodel.services.publishing.CommandPublisher;
import org.apache.causeway.core.metamodel.services.schema.SchemaValueMarshaller;
import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
@@@ -62,6 -63,6 +63,7 @@@ import org.apache.causeway.schema.cmd.v
import org.apache.causeway.schema.cmd.v2.ParamsDto;
import org.apache.causeway.schema.cmd.v2.PropertyDto;
import org.apache.causeway.schema.common.v2.InteractionType;
++
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.val;
diff --cc core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/executor/MemberExecutorServiceDefault.java
index 71bf573b7e,4f6c575d78..5954aa131f
--- a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/executor/MemberExecutorServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/executor/MemberExecutorServiceDefault.java
@@@ -18,14 -18,16 +18,16 @@@
*/
package org.apache.causeway.core.runtimeservices.executor;
- import java.lang.reflect.Method;
import java.util.Optional;
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Provider;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.inject.Provider;
+ import org.apache.causeway.core.metamodel.facets.actions.action.invocation.IdentifierUtil;
+ import org.apache.causeway.core.metamodel.services.publishing.CommandPublisher;
+ import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
diff --cc core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionIdGenerator.java
index 39f8958537,3f8a59b0a8..f39c3be2f7
--- a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionIdGenerator.java
+++ b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionIdGenerator.java
@@@ -20,15 -20,21 +20,10 @@@
package org.apache.causeway.core.runtimeservices.session;
-import lombok.extern.log4j.Log4j2;
-
import java.util.UUID;
-import javax.annotation.Priority;
-import javax.inject.Named;
-
-import org.apache.causeway.applib.annotation.PriorityPrecedence;
-import org.apache.causeway.core.runtimeservices.CausewayModuleCoreRuntimeServices;
-import org.springframework.beans.factory.annotation.Qualifier;
--import org.springframework.stereotype.Component;
-import org.springframework.stereotype.Service;
-
+ public interface InteractionIdGenerator {
- @Component
- public class InteractionIdGenerator {
-
- public UUID interactionId() {
- return UUID.randomUUID();
- }
+ UUID interactionId();
}
diff --cc core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionIdGeneratorDefault.java
index 39f8958537,dbeb386b72..d4fd997393
--- a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionIdGeneratorDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionIdGeneratorDefault.java
@@@ -20,13 -20,25 +20,27 @@@
package org.apache.causeway.core.runtimeservices.session;
-import lombok.extern.log4j.Log4j2;
-
import java.util.UUID;
- import org.springframework.stereotype.Component;
-import javax.annotation.Priority;
-import javax.inject.Named;
++import jakarta.annotation.Priority;
++import jakarta.inject.Named;
- @Component
- public class InteractionIdGenerator {
-import org.apache.causeway.applib.annotation.PriorityPrecedence;
-import org.apache.causeway.core.runtimeservices.CausewayModuleCoreRuntimeServices;
+ import org.springframework.beans.factory.annotation.Qualifier;
+ import org.springframework.stereotype.Service;
++import org.apache.causeway.applib.annotation.PriorityPrecedence;
++import org.apache.causeway.core.runtimeservices.CausewayModuleCoreRuntimeServices;
++
++import lombok.extern.log4j.Log4j2;
++
+ @Service
+ @Named(CausewayModuleCoreRuntimeServices.NAMESPACE + ".InteractionIdGenerator")
+ @Priority(PriorityPrecedence.MIDPOINT)
+ @Qualifier("Default")
+ @Log4j2
+ public class InteractionIdGeneratorDefault implements InteractionIdGenerator {
+
++ @Override
public UUID interactionId() {
return UUID.randomUUID();
}
diff --cc core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionServiceDefault.java
index 9a49b872eb,df5ed9e31e..763ee04904
--- a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/session/InteractionServiceDefault.java
@@@ -27,11 -26,12 +26,12 @@@ import java.util.Stack
import java.util.UUID;
import java.util.concurrent.Callable;
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Provider;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.inject.Provider;
+ import org.apache.causeway.applib.services.command.Command;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Lazy;
diff --cc core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/wrapper/WrapperFactoryDefault.java
index 59ae186769,3fd05b30f3..47b8a5e90d
--- a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/wrapper/WrapperFactoryDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/wrapper/WrapperFactoryDefault.java
@@@ -30,13 -30,13 +30,13 @@@ import java.util.UUID
import java.util.concurrent.ExecutorService;
import java.util.function.BiConsumer;
-import javax.annotation.PostConstruct;
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Provider;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.inject.Provider;
+ import org.apache.causeway.core.runtimeservices.session.InteractionIdGenerator;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/cssClass/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/cssClass/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/cssClass/CollectionLayoutCssClassVm.java
index 7a7bc53fdf,663ee56de9..07b6fbceaa
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/cssClass/CollectionLayoutCssClassVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/cssClass/CollectionLayoutCssClassVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.cssClass;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/defaultView/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/defaultView/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/defaultView/CollectionLayoutDefaultViewVm.java
index 7a7bc53fdf,9db6eafd0f..94735d9185
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/defaultView/CollectionLayoutDefaultViewVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/defaultView/CollectionLayoutDefaultViewVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.defaultView;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/describedAs/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/describedAs/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/describedAs/CollectionLayoutDescribedAsVm.java
index 7a7bc53fdf,631fa3ce7f..16f58ae8e6
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/describedAs/CollectionLayoutDescribedAsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/describedAs/CollectionLayoutDescribedAsVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.describedAs;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/hidden/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/hidden/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/hidden/CollectionLayoutHiddenVm.java
index 7a7bc53fdf,4726b9bfc0..f0b1ee5f6d
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/hidden/CollectionLayoutHiddenVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/hidden/CollectionLayoutHiddenVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.hidden;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/named/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/named/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/named/CollectionLayoutNamedVm.java
index 7a7bc53fdf,bf13f01bc4..4f3d1817a0
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/named/CollectionLayoutNamedVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/named/CollectionLayoutNamedVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.named;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/paged/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/paged/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/paged/CollectionLayoutPagedVm.java
index 7a7bc53fdf,be8063ce38..9a3beb9c9f
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/paged/CollectionLayoutPagedVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/paged/CollectionLayoutPagedVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.paged;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sequence/CollectionLayoutSequenceVm.java
index 7a7bc53fdf,be41b6378b..1fb7984d03
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sequence/CollectionLayoutSequenceVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sequence/CollectionLayoutSequenceVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.sequence;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sortedBy/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sortedBy/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sortedBy/CollectionLayoutSortedByVm.java
index 7a7bc53fdf,8b5c9768be..29082b5afb
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sortedBy/CollectionLayoutSortedByVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/sortedBy/CollectionLayoutSortedByVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.sortedBy;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/tableDecorator/CollectionLayoutTableDecoratorVm.java
index 7a7bc53fdf,7ad1bd4cb2..99b4445e1f
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/tableDecorator/CollectionLayoutTableDecoratorVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/tableDecorator/CollectionLayoutTableDecoratorVm.java
@@@ -16,19 -16,18 +16,18 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package demoapp.dom.domain.objects.DomainObjectLayout.tabledec;
+ package demoapp.dom.domain.collections.CollectionLayout.tableDecorator;
+ import java.util.ArrayList;
import java.util.List;
- import java.util.UUID;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.inject.Named;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlTransient;
+import jakarta.xml.bind.annotation.XmlType;
- import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.CollectionLayout;
import org.apache.causeway.applib.annotation.DomainObject;
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/DomainObjectAliasedVm.java
index 0000000000,4a618d0080..8e38f16710
mode 000000,100644..100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/DomainObjectAliasedVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/DomainObjectAliasedVm.java
@@@ -1,0 -1,46 +1,46 @@@
+ /*
+ * 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 demoapp.dom.domain.objects.DomainObject.aliased;
+
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
++import jakarta.inject.Named;
++import jakarta.xml.bind.annotation.XmlAccessType;
++import jakarta.xml.bind.annotation.XmlAccessorType;
++import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlType;
+
+ import org.apache.causeway.applib.annotation.DomainObject;
+ import org.apache.causeway.applib.annotation.ObjectSupport;
+
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
+ //tag::class[]
+ @XmlRootElement(name = "root")
+ @XmlType
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.DomainObjectAliasedVm")
+ @DomainObject(
+ aliased = {"demo.domain-object.AliasedVm"})
+ public class DomainObjectAliasedVm implements HasAsciiDocDescription {
+
+ @ObjectSupport public String title() {
+ return "DomainObject#aliased";
+ }
+
+ }
+ //end::class[]
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/DomainObjectAutoCompleteVm.java
index 0000000000,151d22d9e0..29cd7de1af
mode 000000,100644..100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/DomainObjectAutoCompleteVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/DomainObjectAutoCompleteVm.java
@@@ -1,0 -1,54 +1,54 @@@
+ /*
+ * 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 demoapp.dom.domain.objects.DomainObject.autoComplete;
+
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
++import jakarta.inject.Named;
++import jakarta.xml.bind.annotation.XmlAccessType;
++import jakarta.xml.bind.annotation.XmlAccessorType;
++import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlType;
+
+ import org.apache.causeway.applib.annotation.DomainObject;
+ import org.apache.causeway.applib.annotation.Nature;
+ import org.apache.causeway.applib.annotation.ObjectSupport;
+
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
+ //tag::class[]
+ @XmlRootElement(name = "root")
+ @XmlType
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.DomainObjectAutoCompleteVm")
+ @DomainObject(
+ nature = Nature.VIEW_MODEL)
+ public class DomainObjectAutoCompleteVm implements HasAsciiDocDescription {
+
+ @ObjectSupport public String title() {
+ return "DomainObject#autoComplete...";
+ }
+
+ /*
+ * TODO on an entity ...
+ @DomainObject(
+ autoCompleteRepository = DomainObjectAutoCompleteRepository.class,
+ autoCompleteMethod = "myAutoComplete")
+ */
+
+ }
+ //end::class[]
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/DomainObjectBoundingVm.java
index 0000000000,33c2807fcc..7c046e2421
mode 000000,100644..100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/DomainObjectBoundingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/DomainObjectBoundingVm.java
@@@ -1,0 -1,53 +1,53 @@@
+ /*
+ * 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 demoapp.dom.domain.objects.DomainObject.bounded;
+
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
++import jakarta.inject.Named;
++import jakarta.xml.bind.annotation.XmlAccessType;
++import jakarta.xml.bind.annotation.XmlAccessorType;
++import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlType;
+
+ import org.apache.causeway.applib.annotation.DomainObject;
+ import org.apache.causeway.applib.annotation.Nature;
+ import org.apache.causeway.applib.annotation.ObjectSupport;
+
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
+ //tag::class[]
+ @XmlRootElement(name = "root")
+ @XmlType
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.DomainObjectBoundingVm")
+ @DomainObject(
+ nature = Nature.VIEW_MODEL)
+ public class DomainObjectBoundingVm implements HasAsciiDocDescription {
+
+ @ObjectSupport public String title() {
+ return "DomainObject#bounding";
+ }
+
+ /*
+ * TODO on an entity ...
+ @DomainObject(
+ bounding = Bounding.BOUNDED)
+ */
+
+ }
+ //end::class[]
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/DomainObjectEditingVm.java
index 0000000000,004aa0fa4f..ddef2a018e
mode 000000,100644..100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/DomainObjectEditingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/DomainObjectEditingVm.java
@@@ -1,0 -1,47 +1,47 @@@
+ /*
+ * 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 demoapp.dom.domain.objects.DomainObject.editing;
+
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
++import jakarta.inject.Named;
++import jakarta.xml.bind.annotation.XmlAccessType;
++import jakarta.xml.bind.annotation.XmlAccessorType;
++import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlType;
+
+ import org.apache.causeway.applib.annotation.DomainObject;
+ import org.apache.causeway.applib.annotation.Editing;
+ import org.apache.causeway.applib.annotation.ObjectSupport;
+
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
+ //tag::class[]
+ @XmlRootElement(name = "root")
+ @XmlType
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.DomainObjectEditingVm")
+ @DomainObject(
+ editing = Editing.ENABLED)
+ public class DomainObjectEditingVm implements HasAsciiDocDescription {
+
+ @ObjectSupport public String title() {
+ return "DomainObject#editing";
+ }
+
+ }
+ //end::class[]
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/DomainObjectIntrospectionVm.java
index 0000000000,730f1aba42..7a8985dda8
mode 000000,100644..100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/DomainObjectIntrospectionVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/DomainObjectIntrospectionVm.java
@@@ -1,0 -1,47 +1,47 @@@
+ /*
+ * 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 demoapp.dom.domain.objects.DomainObject.introspection;
+
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
++import jakarta.inject.Named;
++import jakarta.xml.bind.annotation.XmlAccessType;
++import jakarta.xml.bind.annotation.XmlAccessorType;
++import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlType;
+
+ import org.apache.causeway.applib.annotation.DomainObject;
+ import org.apache.causeway.applib.annotation.Introspection;
+ import org.apache.causeway.applib.annotation.ObjectSupport;
+
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
+ //tag::class[]
+ @XmlRootElement(name = "root")
+ @XmlType
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.DomainObjectIntrospectionVm")
+ @DomainObject(
+ introspection = Introspection.ENCAPSULATION_ENABLED)
+ public class DomainObjectIntrospectionVm implements HasAsciiDocDescription {
+
+ @ObjectSupport public String title() {
+ return "DomainObject#introspection";
+ }
+
+ }
+ //end::class[]
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/DomainObjectMixinMethodVm.java
index d8fd9e2bf8,a66d9e47fa..344415fe39
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/DomainObjectMixinMethodVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/DomainObjectMixinMethodVm.java
@@@ -16,23 -16,34 +16,34 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package org.apache.causeway.core.metamodel.services.publishing;
+ package demoapp.dom.domain.objects.DomainObject.mixinMethod;
- import org.apache.causeway.applib.services.command.Command;
- import org.apache.causeway.applib.services.publishing.spi.CommandSubscriber;
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
++import jakarta.inject.Named;
++import jakarta.xml.bind.annotation.XmlAccessType;
++import jakarta.xml.bind.annotation.XmlAccessorType;
++import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlType;
- import lombok.NonNull;
+ import org.apache.causeway.applib.annotation.ObjectSupport;
- /**
- * Notifies {@link CommandSubscriber}s.
- * @since 2.0 {@index}
- */
- public interface CommandPublisher {
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
+ //tag::class[]
+ @XmlRootElement(name = "root")
+ @XmlType
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.DomainObjectMixinMethodVm")
+ public class DomainObjectMixinMethodVm implements HasAsciiDocDescription {
+
+ @ObjectSupport public String title() {
+ return "DomainObject#mixinMethod";
+ }
- /**
- * "Completes" the command, meaning that all {@link CommandSubscriber}s
- * are notified throuhg {@link CommandSubscriber#onCompleted(Command)}.
- */
- void complete(@NonNull Command command);
+ /*
+ * TODO on a mixin ...
+ @DomainObject(
+ mixinMethod = "xxx")
+ */
}
+ //end::class[]
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectDomainEventsVm.java
index 0000000000,3691f173d7..52f76f18fb
mode 000000,100644..100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectDomainEventsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxDomainEvent/DomainObjectDomainEventsVm.java
@@@ -1,0 -1,47 +1,47 @@@
+ /*
+ * 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 demoapp.dom.domain.objects.DomainObject.xxxDomainEvent;
+
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
++import jakarta.inject.Named;
++import jakarta.xml.bind.annotation.XmlAccessType;
++import jakarta.xml.bind.annotation.XmlAccessorType;
++import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlType;
+
+ import org.apache.causeway.applib.annotation.DomainObject;
+ import org.apache.causeway.applib.annotation.Nature;
+ import org.apache.causeway.applib.annotation.ObjectSupport;
+
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
+ //tag::class[]
+ @XmlRootElement(name = "root")
+ @XmlType
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.DomainObjectDomainEventsVm")
+ @DomainObject(
+ nature = Nature.VIEW_MODEL)
+ public class DomainObjectDomainEventsVm implements HasAsciiDocDescription {
+
+ @ObjectSupport public String title() {
+ return "DomainObject#...DomainEvent";
+ }
+
+ }
+ //end::class[]
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/.gitkeep
index e69de29bb2,e69de29bb2..0000000000
deleted file mode 100644,100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/.gitkeep
+++ /dev/null
diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectLifecyleEventsVm.java
index 0000000000,46f030c6b0..19754ac066
mode 000000,100644..100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectLifecyleEventsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/DomainObjectLifecyleEventsVm.java
@@@ -1,0 -1,47 +1,47 @@@
+ /*
+ * 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 demoapp.dom.domain.objects.DomainObject.xxxLifecycleEvent;
+
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
++import jakarta.inject.Named;
++import jakarta.xml.bind.annotation.XmlAccessType;
++import jakarta.xml.bind.annotation.XmlAccessorType;
++import jakarta.xml.bind.annotation.XmlRootElement;
++import jakarta.xml.bind.annotation.XmlType;
+
+ import org.apache.causeway.applib.annotation.DomainObject;
+ import org.apache.causeway.applib.annotation.Nature;
+ import org.apache.causeway.applib.annotation.ObjectSupport;
+
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+
+ //tag::class[]
+ @XmlRootElement(name = "root")
+ @XmlType
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @Named("demo.DomainObjectLifecyleEventsVm")
+ @DomainObject(
+ nature = Nature.VIEW_MODEL)
+ public class DomainObjectLifecyleEventsVm implements HasAsciiDocDescription {
+
+ @ObjectSupport public String title() {
+ return "DomainObject#...LifecyleEvent";
+ }
+
+ }
+ //end::class[]
diff --cc extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/subscriber/CommandSubscriberForCommandLog.java
index 3007008098,574d417f80..f1e1b40c5e
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/subscriber/CommandSubscriberForCommandLog.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/causeway/extensions/commandlog/applib/subscriber/CommandSubscriberForCommandLog.java
@@@ -18,10 -18,13 +18,13 @@@
*/
package org.apache.causeway.extensions.commandlog.applib.subscriber;
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Named;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+ import org.apache.causeway.applib.services.clock.ClockService;
+ import org.apache.causeway.applib.services.repository.RepositoryService;
+ import org.apache.causeway.schema.cmd.v2.CommandDto;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
diff --cc extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/integtest/BackgroundService_IntegTestAbstract.java
index d9c59670eb,5019356b0c..9e5a49967f
--- a/extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/integtest/BackgroundService_IntegTestAbstract.java
+++ b/extensions/core/commandlog/applib/src/test/java/org/apache/causeway/extensions/commandlog/applib/integtest/BackgroundService_IntegTestAbstract.java
@@@ -20,8 -20,9 +20,9 @@@ package org.apache.causeway.extensions.
import java.util.List;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
+ import org.apache.causeway.applib.services.iactnlayer.InteractionService;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
diff --cc regressiontests/stable/src/main/java/org/apache/causeway/testdomain/publishing/subscriber/CommandSubscriberForTesting.java
index b84dc8b4bc,8940bc1d53..fd0552f13f
--- a/regressiontests/stable/src/main/java/org/apache/causeway/testdomain/publishing/subscriber/CommandSubscriberForTesting.java
+++ b/regressiontests/stable/src/main/java/org/apache/causeway/testdomain/publishing/subscriber/CommandSubscriberForTesting.java
@@@ -53,25 -53,40 +53,40 @@@ implements CommandSubscriber
log.info("about to initialize");
}
+ @Override
- public void onReady(Command command) {
++ public void onReady(final Command command) {
+ on("readyCommands", command);
+ log.debug("publish ready command {}", ()->command.getCommandDto());
+ }
+
+ @Override
- public void onStarted(Command command) {
++ public void onStarted(final Command command) {
+ on("startedCommands", command);
+ log.debug("publish started command {}", ()->command.getCommandDto());
+ }
+
@Override
- public void onCompleted(Command command) {
+ public void onCompleted(final Command command) {
+ on("completedCommands", command);
+ log.debug("publish completed command {}", ()->command.getCommandDto());
+ }
+
- private void on(String verb, Command command) {
++ private void on(final String verb, final Command command) {
@SuppressWarnings("unchecked")
- val publishedCommands =
- (List<Command>) kvStore.get(this, "publishedCommands").orElseGet(ArrayList::new);
+ val commands = (List<Command>) kvStore.get(this, verb).orElseGet(ArrayList::new);
- publishedCommands.add(command);
+ commands.add(command);
- kvStore.put(this, "publishedCommands", publishedCommands);
- log.debug("publish command {}", ()->command.getCommandDto());
+ kvStore.put(this, verb, commands);
}
// -- UTILITIES
@SuppressWarnings("unchecked")
- public static Can<Command> getPublishedCommands(KVStoreForTesting kvStore) {
+ public static Can<Command> getPublishedCommands(final KVStoreForTesting kvStore) {
return Can.ofCollection(
- (List<Command>) kvStore.get(CommandSubscriberForTesting.class, "publishedCommands")
+ (List<Command>) kvStore.get(CommandSubscriberForTesting.class, "completedCommands")
.orElse(null));
}