You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/11/19 12:20:50 UTC
[isis] branch master updated (c5b4883 -> 11cf930)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git.
from c5b4883 ISIS-2464: renaming CommandDtoServiceInternal* -> CommandDtoFactory*
new 427c15f ISIS-2464: rename published* -> executionDispatch*, command* -> commandDispatch* (1)
new d5f82ce ISIS-2464: Application Layer Overhaul for v2
new 3df0dc5 ISIS-2464: sync adoc
new f7f09a5 ISIS-2464: remove deprecated FileAccept from @Action
new 11cf930 ISIS-2464: update adoc ref guide for @Action an @Property (1)
The 5 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:
.../applib-ant/examples/annotation/Action.java | 51 +++++----------
.../{Publishing.java => CommandDispatch.java} | 25 ++++----
.../examples/annotation/CommandReification.java | 56 -----------------
.../examples/annotation/DomainObject.java | 8 +--
.../examples/annotation/ExecutionDispatch.java} | 23 +++++--
.../applib-ant/examples/annotation/Property.java | 35 ++++++-----
.../main/adoc/modules/applib-ant/pages/Action.adoc | 14 ++---
.../Action/{command.adoc => commandDispatch.adoc} | 0
.../{publishing.adoc => executionDispatch.adoc} | 0
.../adoc/modules/applib-ant/pages/Property.adoc | 16 ++---
.../{command.adoc => commandDispatch.adoc} | 0
.../{publishing.adoc => executionDispatch.adoc} | 0
.../services/TransactionScopeListener.java | 9 ++-
.../examples/services/audit/AuditerService.java | 56 -----------------
.../services/audit/AuditerServiceLogging.java | 70 ---------------------
.../services/audit/EntityAuditListener.java | 0
.../services/audit/EntityAuditLogging.java | 0
.../examples/services/audit/package-info.java | 2 +-
.../examples/services/command/Command.java | 47 ++++++++------
.../services/command/spi/CommandListener.java | 0
.../command/spi/CommandServiceListener.java | 66 --------------------
.../examples/services/iactn/Interaction.java | 5 +-
.../services/iactn/InteractionContext.java | 57 +++++------------
.../examples/services/metrics/MetricsService.java | 4 +-
.../services/publish/ChangingEntities.java | 0
.../services/publish/ChangingEntitiesListener.java | 0
.../services/publish/ChangingEntitiesLogging.java | 0
.../services/publish/ExecutionListener.java | 0
.../services/publish/ExecutionLogging.java | 0
.../services/publish/PublishedObjects.java | 44 -------------
.../services/publish/PublisherService.java | 50 ---------------
.../services/publish/PublisherServiceLogging.java | 72 ----------------------
.../examples/services/publish/package-info.java | 2 +-
.../services/session/SessionLoggingService.java | 2 +-
.../org/apache/isis/applib/annotation/Action.java | 51 +++++----------
.../isis/applib/annotation/CommandDispatch.java} | 25 ++++----
.../isis/applib/annotation/CommandReification.java | 56 -----------------
.../isis/applib/annotation/DomainObject.java | 4 +-
.../{Auditing.java => ExecutionDispatch.java} | 23 +++++--
.../apache/isis/applib/annotation/Property.java | 35 ++++++-----
.../apache/isis/applib/annotation/Publishing.java | 61 ------------------
.../isis/applib/services/command/Command.java | 14 ++---
.../apache/isis/core/config/IsisConfiguration.java | 14 ++---
...a => PropertyCommandDispatchConfiguration.java} | 2 +-
...=> PropertyExecutionDispatchConfiguration.java} | 2 +-
.../action/ActionAnnotationFacetFactory.java | 14 -----
.../command/CommandFacetForActionAnnotation.java | 8 +--
...ctionInvocationFacetForDomainEventAbstract.java | 5 +-
.../PublishedActionFacetForActionAnnotation.java | 6 +-
.../facets/actions/command/CommandFacet.java | 13 ++++
.../FileAcceptFacetForActionAnnotation.java | 47 --------------
...lishedObjectFacetForDomainObjectAnnotation.java | 4 +-
.../property/PropertyAnnotationFacetFactory.java | 4 +-
.../command/CommandFacetForPropertyAnnotation.java | 20 +++---
...tySetterOrClearFacetForDomainEventAbstract.java | 9 +--
...ispatchPropertyFacetForPropertyAnnotation.java} | 32 +++++-----
...ionDispatchPropertyFacetFromConfiguration.java} | 7 ++-
...ertyFacetForPropertyAnnotationAsConfigured.java | 2 +-
...ct.java => ExecutionDispatchPropertyFacet.java} | 27 ++++----
...=> ExecutionDispatchPropertyFacetAbstract.java} | 11 ++--
.../properties/publish/PublishedPropertyFacet.java | 29 ---------
.../services/command/CommandDispatcher.java | 7 ++-
.../Annotations_getAnnotations_on_Field_Test.java | 28 ++++-----
.../ActionAnnotationFacetFactoryTest_Command.java | 6 +-
...ctionAnnotationFacetFactoryTest_Publishing.java | 14 ++---
.../DomainObjectAnnotationFacetFactoryTest.java | 6 +-
.../ActionCommandDisabledMetaAnnotation.java | 4 +-
.../ActionCommandEnabledMetaAnnotation.java | 6 +-
.../Action/command/ActionCommandJdo.java | 8 +--
.../ActionCommandJdo_mixinUpdateProperty.java | 6 +-
...mandJdo_mixinUpdatePropertyCommandDisabled.java | 4 +-
...ixinUpdatePropertyMetaAnnotationOverridden.java | 6 +-
.../ActionPublishingDisabledMetaAnnotation.java | 4 +-
.../ActionPublishingEnabledMetaAnnotation.java | 4 +-
.../Action/publishing/ActionPublishingJdo.java | 6 +-
.../ActionPublishingJdo_mixinUpdateProperty.java | 4 +-
...shingJdo_mixinUpdatePropertyMetaAnnotation.java | 2 +-
...ixinUpdatePropertyMetaAnnotationOverridden.java | 4 +-
...tionRestrictToNoRestrictionsMetaAnnotation.java | 2 +-
.../ActionRestrictToPrototypingMetaAnnotation.java | 2 +-
.../DomainObjectPublishingDisabledJdo.java | 4 +-
.../enabled/DomainObjectPublishingEnabledJdo.java | 4 +-
...omainObjectPublishingEnabledMetaAnnotation.java | 4 +-
...ainObjectPublishingEnabledMetaAnnotatedJdo.java | 2 +-
...mainObjectPublishingDisabledMetaAnnotation.java | 4 +-
...ectPublishingEnabledMetaAnnotOverriddenJdo.java | 4 +-
...ertyCommandDispatchDisabledMetaAnnotation.java} | 7 +--
...pertyCommandDispatchEnabledMetaAnnotation.java} | 8 +--
.../Property/command/PropertyCommandJdo.java | 19 +++---
...tyExecutionDispatchDisabledMetaAnnotation.java} | 7 +--
...rtyExecutionDispatchEnabledMetaAnnotation.java} | 6 +-
.../Property/publishing/PropertyPublishingJdo.java | 10 +--
.../commandlog/impl/jdo/CommandJdo_retry.java | 4 +-
.../isis/testdomain/jdo/JdoInventoryManager.java | 4 +-
.../isis/testdomain/jdo/entities/JdoBook.java | 4 +-
.../isis/testdomain/jpa/entities/JpaBook.java | 4 +-
.../model/good/ProperMemberSupport_action.java | 4 +-
.../model/good/ProperMemberSupport_action2.java | 4 +-
.../wicket/viewer/mixins/Object_clearHints.java | 4 +-
99 files changed, 423 insertions(+), 1046 deletions(-)
rename api/applib/src/main/adoc/modules/applib-ant/examples/annotation/{Publishing.java => CommandDispatch.java} (61%)
delete mode 100644 api/applib/src/main/adoc/modules/applib-ant/examples/annotation/CommandReification.java
copy api/applib/src/main/{java/org/apache/isis/applib/annotation/Auditing.java => adoc/modules/applib-ant/examples/annotation/ExecutionDispatch.java} (58%)
rename api/applib/src/main/adoc/modules/applib-ant/pages/Action/{command.adoc => commandDispatch.adoc} (100%)
rename api/applib/src/main/adoc/modules/applib-ant/pages/Action/{publishing.adoc => executionDispatch.adoc} (100%)
rename api/applib/src/main/adoc/modules/applib-ant/pages/Property/{command.adoc => commandDispatch.adoc} (100%)
rename api/applib/src/main/adoc/modules/applib-ant/pages/Property/{publishing.adoc => executionDispatch.adoc} (100%)
delete mode 100644 api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/AuditerService.java
delete mode 100644 api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/AuditerServiceLogging.java
copy api/applib/src/main/{java/org/apache/isis/applib => adoc/modules/applib-svc/examples}/services/audit/EntityAuditListener.java (100%)
copy api/applib/src/main/{java/org/apache/isis/applib => adoc/modules/applib-svc/examples}/services/audit/EntityAuditLogging.java (100%)
copy api/applib/src/main/{java/org/apache/isis/applib => adoc/modules/applib-svc/examples}/services/command/spi/CommandListener.java (100%)
delete mode 100644 api/applib/src/main/adoc/modules/applib-svc/examples/services/command/spi/CommandServiceListener.java
copy api/applib/src/main/{java/org/apache/isis/applib => adoc/modules/applib-svc/examples}/services/publish/ChangingEntities.java (100%)
copy api/applib/src/main/{java/org/apache/isis/applib => adoc/modules/applib-svc/examples}/services/publish/ChangingEntitiesListener.java (100%)
copy api/applib/src/main/{java/org/apache/isis/applib => adoc/modules/applib-svc/examples}/services/publish/ChangingEntitiesLogging.java (100%)
copy api/applib/src/main/{java/org/apache/isis/applib => adoc/modules/applib-svc/examples}/services/publish/ExecutionListener.java (100%)
copy api/applib/src/main/{java/org/apache/isis/applib => adoc/modules/applib-svc/examples}/services/publish/ExecutionLogging.java (100%)
delete mode 100644 api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublishedObjects.java
delete mode 100644 api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherService.java
delete mode 100644 api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherServiceLogging.java
copy api/applib/src/main/{adoc/modules/applib-ant/examples/annotation/Auditing.java => java/org/apache/isis/applib/annotation/CommandDispatch.java} (61%)
delete mode 100644 api/applib/src/main/java/org/apache/isis/applib/annotation/CommandReification.java
copy api/applib/src/main/java/org/apache/isis/applib/annotation/{Auditing.java => ExecutionDispatch.java} (58%)
delete mode 100644 api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java
rename core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/{CommandPropertiesConfiguration.java => PropertyCommandDispatchConfiguration.java} (94%)
rename core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/{PublishPropertiesConfiguration.java => PropertyExecutionDispatchConfiguration.java} (94%)
delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/fileaccept/FileAcceptFacetForActionAnnotation.java
rename core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/{PublishedPropertyFacetForPropertyAnnotation.java => ExecutionDispatchPropertyFacetForPropertyAnnotation.java} (65%)
rename core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/{PublishedPropertyFacetFromConfiguration.java => ExecutionDispatchPropertyFacetFromConfiguration.java} (81%)
copy core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/{PublishedPropertyFacetAbstract.java => ExecutionDispatchPropertyFacet.java} (57%)
rename core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/{PublishedPropertyFacetAbstract.java => ExecutionDispatchPropertyFacetAbstract.java} (81%)
delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/PublishedPropertyFacet.java
rename examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/{PropertyCommandDisabledMetaAnnotation.java => PropertyCommandDispatchDisabledMetaAnnotation.java} (84%)
rename examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/{PropertyCommandEnabledMetaAnnotation.java => PropertyCommandDispatchEnabledMetaAnnotation.java} (82%)
rename examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/{PropertyPublishingEnabledMetaAnnotation.java => PropertyExecutionDispatchDisabledMetaAnnotation.java} (85%)
rename examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/{PropertyPublishingDisabledMetaAnnotation.java => PropertyExecutionDispatchEnabledMetaAnnotation.java} (86%)
[isis] 01/05: ISIS-2464: rename published* -> executionDispatch*,
command* -> commandDispatch* (1)
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 427c15fd5d9580f92d4eb85334516a01fced7baa
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 19 11:57:12 2020 +0100
ISIS-2464: rename published* -> executionDispatch*, command* ->
commandDispatch* (1)
---
.../org/apache/isis/applib/annotation/Action.java | 13 +++++----
.../{Publishing.java => CommandDispatch.java} | 25 +++++++++--------
.../isis/applib/annotation/DomainObject.java | 4 +--
...mandReification.java => ExecutionDispatch.java} | 28 +++++++++++++++----
.../apache/isis/applib/annotation/Property.java | 25 +++++++++--------
.../isis/applib/services/command/Command.java | 14 ++++------
.../apache/isis/core/config/IsisConfiguration.java | 12 ++++----
...a => PropertyCommandDispatchConfiguration.java} | 2 +-
...=> PropertyExecutionDispatchConfiguration.java} | 2 +-
.../command/CommandFacetForActionAnnotation.java | 8 +++---
...ctionInvocationFacetForDomainEventAbstract.java | 5 ++--
.../PublishedActionFacetForActionAnnotation.java | 4 +--
.../facets/actions/command/CommandFacet.java | 13 +++++++++
...lishedObjectFacetForDomainObjectAnnotation.java | 4 +--
.../property/PropertyAnnotationFacetFactory.java | 4 +--
.../command/CommandFacetForPropertyAnnotation.java | 20 ++++++--------
...tySetterOrClearFacetForDomainEventAbstract.java | 9 +++---
...ispatchPropertyFacetForPropertyAnnotation.java} | 32 ++++++++++++----------
...ionDispatchPropertyFacetFromConfiguration.java} | 7 +++--
...ertyFacetForPropertyAnnotationAsConfigured.java | 2 +-
...et.java => ExecutionDispatchPropertyFacet.java} | 20 ++++++++++++--
...=> ExecutionDispatchPropertyFacetAbstract.java} | 11 ++++----
.../services/command/CommandDispatcher.java | 7 +++--
.../Annotations_getAnnotations_on_Field_Test.java | 28 +++++++++----------
.../ActionAnnotationFacetFactoryTest_Command.java | 6 ++--
...ctionAnnotationFacetFactoryTest_Publishing.java | 14 +++++-----
.../DomainObjectAnnotationFacetFactoryTest.java | 6 ++--
.../ActionCommandDisabledMetaAnnotation.java | 4 +--
.../ActionCommandEnabledMetaAnnotation.java | 6 ++--
.../Action/command/ActionCommandJdo.java | 8 +++---
.../ActionCommandJdo_mixinUpdateProperty.java | 6 ++--
...mandJdo_mixinUpdatePropertyCommandDisabled.java | 4 +--
...ixinUpdatePropertyMetaAnnotationOverridden.java | 6 ++--
.../ActionPublishingDisabledMetaAnnotation.java | 4 +--
.../ActionPublishingEnabledMetaAnnotation.java | 4 +--
.../Action/publishing/ActionPublishingJdo.java | 6 ++--
.../ActionPublishingJdo_mixinUpdateProperty.java | 4 +--
...shingJdo_mixinUpdatePropertyMetaAnnotation.java | 2 +-
...ixinUpdatePropertyMetaAnnotationOverridden.java | 4 +--
...tionRestrictToNoRestrictionsMetaAnnotation.java | 2 +-
.../ActionRestrictToPrototypingMetaAnnotation.java | 2 +-
.../DomainObjectPublishingDisabledJdo.java | 4 +--
.../enabled/DomainObjectPublishingEnabledJdo.java | 4 +--
...omainObjectPublishingEnabledMetaAnnotation.java | 4 +--
...ainObjectPublishingEnabledMetaAnnotatedJdo.java | 2 +-
...mainObjectPublishingDisabledMetaAnnotation.java | 4 +--
...ectPublishingEnabledMetaAnnotOverriddenJdo.java | 4 +--
...ertyCommandDispatchDisabledMetaAnnotation.java} | 7 ++---
...pertyCommandDispatchEnabledMetaAnnotation.java} | 8 ++----
.../Property/command/PropertyCommandJdo.java | 19 ++++++-------
...tyExecutionDispatchDisabledMetaAnnotation.java} | 7 ++---
...rtyExecutionDispatchEnabledMetaAnnotation.java} | 6 ++--
.../Property/publishing/PropertyPublishingJdo.java | 10 +++----
.../commandlog/impl/jdo/CommandJdo_retry.java | 4 +--
.../isis/testdomain/jdo/JdoInventoryManager.java | 4 +--
.../isis/testdomain/jdo/entities/JdoBook.java | 4 +--
.../isis/testdomain/jpa/entities/JpaBook.java | 4 +--
.../model/good/ProperMemberSupport_action.java | 4 +--
.../model/good/ProperMemberSupport_action2.java | 4 +--
.../wicket/viewer/mixins/Object_clearHints.java | 4 +--
60 files changed, 268 insertions(+), 226 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
index 7c4657a..628008c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
@@ -26,6 +26,8 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.isis.applib.events.domain.ActionDomainEvent;
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.command.spi.CommandListener;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto;
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
@@ -89,11 +91,12 @@ public @interface Action {
// end::refguide[]
/**
- * Whether the action invocation should be reified into a {@link org.apache.isis.applib.services.command.Command} object.
+ * Whether action invocations, captured as {@link Command}s,
+ * should be dispatched to {@link CommandListener}s.
*/
// tag::refguide[]
- CommandReification command() // <.>
- default CommandReification.NOT_SPECIFIED;
+ CommandDispatch commandDispatch() // <.>
+ default CommandDispatch.NOT_SPECIFIED;
// end::refguide[]
/**
@@ -163,8 +166,8 @@ public @interface Action {
* </p>
*/
// tag::refguide[]
- Publishing publishing() // <.>
- default Publishing.NOT_SPECIFIED;
+ ExecutionDispatch publishing() // <.>
+ default ExecutionDispatch.NOT_SPECIFIED;
// end::refguide[]
/**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandDispatch.java
similarity index 61%
rename from api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java
rename to api/applib/src/main/java/org/apache/isis/applib/annotation/CommandDispatch.java
index 0afa406..fa27de7 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandDispatch.java
@@ -18,37 +18,41 @@
*/
package org.apache.isis.applib.annotation;
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.command.spi.CommandListener;
+
/**
- * The available policies for publishing changes to the properties of the object.
+ * The available policies as to whether action invocations and property edits,
+ * captured as {@link Command}s, should
+ * be dispatched to {@link CommandListener}s.
*/
// tag::refguide[]
-public enum Publishing {
-
+public enum CommandDispatch {
// end::refguide[]
/**
- * The publishing of the object should be as per the default publishing policy configured in <tt>application.properties</tt>.
+ * Dispatching of {@link Command}s (either action invocations or property edits)
+ * for this object should be as per the default dispatching policy
+ * configured in <tt>application.properties</tt>.
*
* <p>
- * If no publishing policy is configured, then the publishing is disabled.
+ * If no dispatching policy is configured, then dispatching is disabled.
* </p>
*/
// tag::refguide[]
AS_CONFIGURED,
-
// end::refguide[]
/**
- * Publish changes to this object.
+ * Do dispatch {@link Command}s (either action invocations or property edits) for this object.
*/
// tag::refguide[]
ENABLED,
-
// end::refguide[]
/**
- * Do not publish changes to this object (even if otherwise configured to enable publishing).
+ * Do <b>not</b> dispatch {@link Command}s (either action invocations or property edits)
+ * for this object (even if otherwise configured to enable dispatching).
*/
// tag::refguide[]
DISABLED,
-
// end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
@@ -56,6 +60,5 @@ public enum Publishing {
*/
// tag::refguide[]
NOT_SPECIFIED
-
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
index 55b39a5..64b818b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
@@ -178,8 +178,8 @@ public @interface DomainObject {
* </p>
*/
// tag::refguide[]
- Publishing publishing() // <.>
- default Publishing.NOT_SPECIFIED;
+ ExecutionDispatch publishing() // <.>
+ default ExecutionDispatch.NOT_SPECIFIED;
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandReification.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/ExecutionDispatch.java
similarity index 58%
rename from api/applib/src/main/java/org/apache/isis/applib/annotation/CommandReification.java
rename to api/applib/src/main/java/org/apache/isis/applib/annotation/ExecutionDispatch.java
index a2b8b68..b4653fd 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/CommandReification.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/ExecutionDispatch.java
@@ -18,33 +18,48 @@
*/
package org.apache.isis.applib.annotation;
+import org.apache.isis.applib.services.iactn.Interaction;
+import org.apache.isis.applib.services.publish.ExecutionListener;
+
/**
- * The available policies as to whether action invocations are reified into commands.
+ * The available policies as to whether {@link Interaction.Execution}s
+ * (triggered either by action invocations or property edits), should
+ * be dispatched to {@link ExecutionListener}s.
*/
// tag::refguide[]
-public enum CommandReification {
+public enum ExecutionDispatch {
+
// end::refguide[]
/**
- * Whether the action should be handled as a command as per the default command configured in <tt>applicationp.properties</tt>.
+ * Dispatching of
+ * {@link Interaction.Execution}s (triggered either by action invocations or property edits)
+ * for this object should be as per the default dispatching policy
+ * configured in <tt>application.properties</tt>.
*
* <p>
- * If no command policy is configured, then the action is <i>not</i> treated as a command.
+ * If no dispatching policy is configured, then dispatching is disabled.
* </p>
*/
// tag::refguide[]
AS_CONFIGURED,
+
// end::refguide[]
/**
- * Handle the action as a command, irrespective of any configuration settings.
+ * Do dispatch {@link Interaction.Execution}s (triggered either by action invocations or property edits)
+ * for this object.
*/
// tag::refguide[]
ENABLED,
+
// end::refguide[]
/**
- * Do not handle the action as a command, irrespective of any configuration settings.
+ * Do <b>not</b> dispatch {@link Interaction.Execution}s
+ * (triggered either by action invocations or property edits)
+ * for this object (even if otherwise configured to enable dispatching).
*/
// tag::refguide[]
DISABLED,
+
// end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
@@ -52,5 +67,6 @@ public enum CommandReification {
*/
// tag::refguide[]
NOT_SPECIFIED
+
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
index 2d08dca..eaeca61 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
@@ -27,6 +27,10 @@ import java.lang.annotation.Target;
import org.apache.isis.applib.events.domain.PropertyDomainEvent;
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
+import org.apache.isis.applib.services.iactn.Interaction;
+import org.apache.isis.applib.services.publish.ExecutionListener;
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.command.spi.CommandListener;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto;
import org.apache.isis.applib.spec.Specification;
@@ -50,12 +54,12 @@ public @interface Property {
// end::refguide[]
/**
- * Whether the property edit should be reified into a
- * {@link org.apache.isis.applib.services.command.Command} object.
+ * Whether property edits, captured as {@link Command}s,
+ * should be dispatched to {@link CommandListener}s.
*/
// tag::refguide[]
- CommandReification command() // <.>
- default CommandReification.NOT_SPECIFIED;
+ CommandDispatch commandDispatch() // <.>
+ default CommandDispatch.NOT_SPECIFIED;
// end::refguide[]
/**
@@ -209,16 +213,13 @@ public @interface Property {
// end::refguide[]
/**
- * Whether the property edit should be published.
- *
- * <p>
- * Requires that an implementation of the {@link org.apache.isis.applib.services.publish.ExecutionListener}
- * or {@link org.apache.isis.applib.services.publish.ExecutionListener} is registered with the framework.
- * </p>
+ * Whether {@link Interaction.Execution}s
+ * (triggered property edits), should be dispatched to
+ * {@link ExecutionListener}s.
*/
// tag::refguide[]
- Publishing publishing() // <.>
- default Publishing.NOT_SPECIFIED;
+ ExecutionDispatch executionDispatch() // <.>
+ default ExecutionDispatch.NOT_SPECIFIED;
// end::refguide[]
/**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/command/Command.java b/api/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
index 4f99b87..897b2cf 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
@@ -265,11 +265,12 @@ public class Command implements HasUniqueId, HasUsername, HasCommandDto {
/**
- * Whether this command has been reified
+ * Whether this command has been enabled for dispatching,
+ * that is {@link CommandListener}s will be notified when this Command completes.
*/
// tag::refguide[]
@Getter
- private boolean reified;
+ private boolean dispatchingEnabled;
// end::refguide[]
private final Updater UPDATER = new Updater();
@@ -358,14 +359,9 @@ public class Command implements HasUniqueId, HasUsername, HasCommandDto {
/**
* <b>NOT API</b>: intended to be called only by the framework.
- *
- * <p>
- * Hint that this {@link Command} has resulted in a change of state to the system.
- * Implementations can use this to persist the command, for example.
- * </p>
*/
- public void setReified(boolean reified) {
- Command.this.reified = reified;
+ public void setDispatchingEnabled(boolean dispatchingEnabled) {
+ Command.this.dispatchingEnabled = dispatchingEnabled;
}
};
diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 1783fd4..3f88fc3 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -67,12 +67,12 @@ import org.apache.isis.applib.services.userreg.UserRegistrationService;
import org.apache.isis.commons.internal.context._Context;
import org.apache.isis.core.config.metamodel.facets.AuditObjectsConfiguration;
import org.apache.isis.core.config.metamodel.facets.CommandActionsConfiguration;
-import org.apache.isis.core.config.metamodel.facets.CommandPropertiesConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PropertyCommandDispatchConfiguration;
import org.apache.isis.core.config.metamodel.facets.DefaultViewConfiguration;
import org.apache.isis.core.config.metamodel.facets.EditingObjectsConfiguration;
import org.apache.isis.core.config.metamodel.facets.PublishActionsConfiguration;
import org.apache.isis.core.config.metamodel.facets.PublishObjectsConfiguration;
-import org.apache.isis.core.config.metamodel.facets.PublishPropertiesConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PropertyExecutionDispatchConfiguration;
import org.apache.isis.core.config.metamodel.services.ApplicationFeaturesInitConfiguration;
import org.apache.isis.core.config.metamodel.specloader.IntrospectionMode;
import org.apache.isis.core.config.viewer.wicket.DialogMode;
@@ -660,7 +660,7 @@ public class IsisConfiguration {
*
* <p>
* This setting can be overridden on a case-by-case basis using
- * {@link org.apache.isis.applib.annotation.Action#command()}.
+ * {@link org.apache.isis.applib.annotation.Action#commandDispatch()}.
* </p>
*/
private CommandActionsConfiguration command = CommandActionsConfiguration.NONE;
@@ -841,10 +841,10 @@ public class IsisConfiguration {
*
* <p>
* This setting can be overridden on a case-by-case basis using
- * {@link org.apache.isis.applib.annotation.Property#command()}.
+ * {@link org.apache.isis.applib.annotation.Property#commandDispatch()}.
* </p>
*/
- private CommandPropertiesConfiguration command = CommandPropertiesConfiguration.NONE;
+ private PropertyCommandDispatchConfiguration commandDispatch = PropertyCommandDispatchConfiguration.NONE;
/**
* The default for whether property edits should be sent through to the
@@ -862,7 +862,7 @@ public class IsisConfiguration {
* @link org.apache.isis.applib.annotation.Property#publishing()}.
* </p>
*/
- private PublishPropertiesConfiguration publishing = PublishPropertiesConfiguration.NONE;
+ private PropertyExecutionDispatchConfiguration executionDispatch = PropertyExecutionDispatchConfiguration.NONE;
private final DomainEvent domainEvent = new DomainEvent();
@Data
diff --git a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/CommandPropertiesConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyCommandDispatchConfiguration.java
similarity index 94%
rename from core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/CommandPropertiesConfiguration.java
rename to core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyCommandDispatchConfiguration.java
index 580bbd1..7229549 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/CommandPropertiesConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyCommandDispatchConfiguration.java
@@ -18,7 +18,7 @@
*/
package org.apache.isis.core.config.metamodel.facets;
-public enum CommandPropertiesConfiguration {
+public enum PropertyCommandDispatchConfiguration {
ALL,
NONE;
diff --git a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishPropertiesConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyExecutionDispatchConfiguration.java
similarity index 94%
rename from core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishPropertiesConfiguration.java
rename to core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyExecutionDispatchConfiguration.java
index adf757fe..b1ce810 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishPropertiesConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyExecutionDispatchConfiguration.java
@@ -18,7 +18,7 @@
*/
package org.apache.isis.core.config.metamodel.facets;
-public enum PublishPropertiesConfiguration {
+public enum PropertyExecutionDispatchConfiguration {
ALL,
NONE;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
index 0c45d71..5ed8a80 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
@@ -21,7 +21,7 @@ package org.apache.isis.core.metamodel.facets.actions.action.command;
import java.util.Optional;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
import org.apache.isis.applib.services.inject.ServiceInjector;
import org.apache.isis.core.config.IsisConfiguration;
@@ -42,15 +42,15 @@ public class CommandFacetForActionAnnotation extends CommandFacetAbstract {
final CommandActionsConfiguration setting = CommandActionsConfiguration.from(configuration);
return actionsIfAny
- .filter(action -> action.command() != CommandReification.NOT_SPECIFIED)
+ .filter(action -> action.commandDispatch() != CommandDispatch.NOT_SPECIFIED)
.map(action -> {
- CommandReification command = action.command();
+ CommandDispatch command = action.commandDispatch();
final Class<? extends CommandDtoProcessor> processorClass = action.commandDtoProcessor();
final CommandDtoProcessor processor = newProcessorElseNull(processorClass);
if(processor != null) {
- command = CommandReification.ENABLED;
+ command = CommandDispatch.ENABLED;
}
switch (command) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
index c129a82..5cc062d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
@@ -160,8 +160,9 @@ implements ImperativeFacet {
val interactionContext = getInteractionContext();
val interaction = interactionContext.getInteractionElseFail();
val command = interaction.getCommand();
- val commandFacet = getFacetHolder().getFacet(CommandFacet.class);
- command.updater().setReified(commandFacet != null);
+
+ command.updater().setDispatchingEnabled(
+ CommandFacet.isDispatchingEnabled(getFacetHolder()));
val actionId = owningAction.getIdentifier().toClassAndNameIdentityString();
log.debug("about to invoke action {}", actionId);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
index 2448ec1..85b469f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
@@ -22,7 +22,7 @@ package org.apache.isis.core.metamodel.facets.actions.action.publishing;
import java.util.Optional;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.core.config.metamodel.facets.PublishActionsConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -41,7 +41,7 @@ public class PublishedActionFacetForActionAnnotation extends PublishedActionFace
return actionsIfAny
.map(Action::publishing)
- .filter(publishing -> publishing != Publishing.NOT_SPECIFIED)
+ .filter(publishing -> publishing != ExecutionDispatch.NOT_SPECIFIED)
.map(publishing -> {
switch (publishing) {
case AS_CONFIGURED:
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/command/CommandFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/command/CommandFacet.java
index 44b3245..8560247 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/command/CommandFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/command/CommandFacet.java
@@ -22,6 +22,10 @@ package org.apache.isis.core.metamodel.facets.actions.command;
import org.apache.isis.applib.services.command.Command;
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+
+import lombok.NonNull;
+import lombok.val;
/**
* Indicates that details of the action should be available as a
@@ -34,4 +38,13 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
public interface CommandFacet extends Facet {
public CommandDtoProcessor getProcessor();
+
+ public static boolean isDispatchingEnabled(final @NonNull FacetHolder facetHolder) {
+
+ val commandFacet = facetHolder.getFacet(CommandFacet.class);
+ if(commandFacet!=null) {
+ return true;
+ }
+ return false;
+ }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/publishing/PublishedObjectFacetForDomainObjectAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/publishing/PublishedObjectFacetForDomainObjectAnnotation.java
index 542e39a..827773c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/publishing/PublishedObjectFacetForDomainObjectAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/publishing/PublishedObjectFacetForDomainObjectAnnotation.java
@@ -21,7 +21,7 @@ package org.apache.isis.core.metamodel.facets.object.domainobject.publishing;
import java.util.Optional;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.core.config.metamodel.facets.PublishObjectsConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -31,7 +31,7 @@ import org.apache.isis.core.metamodel.facets.object.publishedobject.PublishedObj
public class PublishedObjectFacetForDomainObjectAnnotation extends PublishedObjectFacetAbstract {
public static PublishedObjectFacet create(
- final Optional<Publishing> publishingIfAny,
+ final Optional<ExecutionDispatch> publishingIfAny,
final IsisConfiguration configuration,
final FacetHolder holder) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
index 88199a9..8d67e26 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactory.java
@@ -55,7 +55,7 @@ import org.apache.isis.core.metamodel.facets.properties.property.modify.Property
import org.apache.isis.core.metamodel.facets.properties.property.modify.PropertySetterFacetForDomainEventFromPropertyAnnotation;
import org.apache.isis.core.metamodel.facets.properties.property.mustsatisfy.MustSatisfySpecificationFacetForPropertyAnnotation;
import org.apache.isis.core.metamodel.facets.properties.property.notpersisted.NotPersistedFacetForPropertyAnnotation;
-import org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetForPropertyAnnotation;
+import org.apache.isis.core.metamodel.facets.properties.property.publishing.ExecutionDispatchPropertyFacetForPropertyAnnotation;
import org.apache.isis.core.metamodel.facets.properties.property.regex.RegExFacetForPatternAnnotationOnProperty;
import org.apache.isis.core.metamodel.facets.properties.property.regex.RegExFacetForPropertyAnnotation;
import org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacet;
@@ -280,7 +280,7 @@ implements MetaModelRefiner {
}
// check for @Property(publishing=...)
- val facet = PublishedPropertyFacetForPropertyAnnotation
+ val facet = ExecutionDispatchPropertyFacetForPropertyAnnotation
.create(propertyIfAny, getConfiguration(), holder);
super.addFacet(facet);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/command/CommandFacetForPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/command/CommandFacetForPropertyAnnotation.java
index f527530..ef2186c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/command/CommandFacetForPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/command/CommandFacetForPropertyAnnotation.java
@@ -20,19 +20,16 @@ package org.apache.isis.core.metamodel.facets.properties.property.command;
import java.util.Optional;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
import org.apache.isis.applib.services.inject.ServiceInjector;
import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.core.config.metamodel.facets.CommandPropertiesConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PropertyCommandDispatchConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration;
import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
import org.apache.isis.core.metamodel.facets.actions.command.CommandFacetAbstract;
-import org.apache.isis.core.metamodel.facets.object.audit.AuditableFacetAbstract;
-
-import lombok.val;
public class CommandFacetForPropertyAnnotation extends CommandFacetAbstract {
@@ -42,23 +39,24 @@ public class CommandFacetForPropertyAnnotation extends CommandFacetAbstract {
final FacetHolder holder,
final ServiceInjector servicesInjector) {
- final CommandPropertiesConfiguration setting = configuration.getApplib().getAnnotation().getProperty().getCommand();
+ final PropertyCommandDispatchConfiguration commandDispatchSetting =
+ configuration.getApplib().getAnnotation().getProperty().getCommandDispatch();
return propertyIfAny
- .filter(property -> property.command() != CommandReification.NOT_SPECIFIED)
+ .filter(property -> property.commandDispatch() != CommandDispatch.NOT_SPECIFIED)
.map(property -> {
- CommandReification commandReification = property.command();
+ CommandDispatch commandReification = property.commandDispatch();
final Class<? extends CommandDtoProcessor> processorClass =
property.commandDtoProcessor();
final CommandDtoProcessor processor = newProcessorElseNull(processorClass);
if(processor != null) {
- commandReification = CommandReification.ENABLED;
+ commandReification = CommandDispatch.ENABLED;
}
switch (commandReification) {
case AS_CONFIGURED:
- switch (setting) {
+ switch (commandDispatchSetting) {
case NONE:
return null;
default:
@@ -73,7 +71,7 @@ public class CommandFacetForPropertyAnnotation extends CommandFacetAbstract {
throw new IllegalStateException("command '" + commandReification + "' not recognised");
})
.orElseGet(() -> {
- switch (setting) {
+ switch (commandDispatchSetting) {
case NONE:
return null;
default:
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
index 864889e..39d68b3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
@@ -38,7 +38,7 @@ import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUt
import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
-import org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet;
+import org.apache.isis.core.metamodel.facets.properties.publish.ExecutionDispatchPropertyFacet;
import org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacet;
import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
@@ -259,8 +259,9 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
if( command==null ) {
return head.getTarget();
}
- val commandFacet = getFacetHolder().getFacet(CommandFacet.class);
- command.updater().setReified(commandFacet != null);
+
+ command.updater().setDispatchingEnabled(
+ CommandFacet.isDispatchingEnabled(getFacetHolder()));
val propertyId = owningProperty.getIdentifier().toClassAndNameIdentityString();
@@ -290,7 +291,7 @@ extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
}
// publish (if not a contributed association, query-only mixin)
- val publishedPropertyFacet = getIdentified().getFacet(PublishedPropertyFacet.class);
+ val publishedPropertyFacet = getIdentified().getFacet(ExecutionDispatchPropertyFacet.class);
if (publishedPropertyFacet != null) {
getExecutionDispatcher().dispatchPropertyChangeExecution(priorExecution);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetForPropertyAnnotation.java
similarity index 65%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotation.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetForPropertyAnnotation.java
index 992006b..7e7b23a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetForPropertyAnnotation.java
@@ -22,57 +22,59 @@ package org.apache.isis.core.metamodel.facets.properties.property.publishing;
import java.util.Optional;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.core.config.metamodel.facets.PublishPropertiesConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PropertyExecutionDispatchConfiguration;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet;
-import org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacetAbstract;
+import org.apache.isis.core.metamodel.facets.properties.publish.ExecutionDispatchPropertyFacet;
+import org.apache.isis.core.metamodel.facets.properties.publish.ExecutionDispatchPropertyFacetAbstract;
-public class PublishedPropertyFacetForPropertyAnnotation extends PublishedPropertyFacetAbstract {
+public class ExecutionDispatchPropertyFacetForPropertyAnnotation
+extends ExecutionDispatchPropertyFacetAbstract {
- public static PublishedPropertyFacet create(
+ public static ExecutionDispatchPropertyFacet create(
final Optional<Property> propertyIfAny,
final IsisConfiguration configuration,
final FacetHolder holder) {
- final PublishPropertiesConfiguration setting = configuration.getApplib().getAnnotation().getProperty().getPublishing();
+ final PropertyExecutionDispatchConfiguration executionDispatchSetting =
+ configuration.getApplib().getAnnotation().getProperty().getExecutionDispatch();
return propertyIfAny
- .map(Property::publishing)
- .filter(publishing -> publishing != Publishing.NOT_SPECIFIED)
+ .map(Property::executionDispatch)
+ .filter(publishing -> publishing != ExecutionDispatch.NOT_SPECIFIED)
.map(publishing -> {
switch (publishing) {
case AS_CONFIGURED:
- switch (setting) {
+ switch (executionDispatchSetting) {
case NONE:
return null;
default:
- return (PublishedPropertyFacet)
+ return (ExecutionDispatchPropertyFacet)
new PublishedPropertyFacetForPropertyAnnotationAsConfigured(holder);
}
case DISABLED:
return null;
case ENABLED:
- return new PublishedPropertyFacetForPropertyAnnotation(holder);
+ return new ExecutionDispatchPropertyFacetForPropertyAnnotation(holder);
default:
}
return null;
})
.orElseGet(() -> {
- switch (setting) {
+ switch (executionDispatchSetting) {
case NONE:
return null;
default:
- return new PublishedPropertyFacetFromConfiguration(holder);
+ return new ExecutionDispatchPropertyFacetFromConfiguration(holder);
}
});
}
- public PublishedPropertyFacetForPropertyAnnotation(final FacetHolder holder) {
+ public ExecutionDispatchPropertyFacetForPropertyAnnotation(final FacetHolder holder) {
super(holder);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetFromConfiguration.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetFromConfiguration.java
similarity index 81%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetFromConfiguration.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetFromConfiguration.java
index a8fdd97..9b6c44b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetFromConfiguration.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetFromConfiguration.java
@@ -20,11 +20,12 @@
package org.apache.isis.core.metamodel.facets.properties.property.publishing;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacetAbstract;
+import org.apache.isis.core.metamodel.facets.properties.publish.ExecutionDispatchPropertyFacetAbstract;
-public class PublishedPropertyFacetFromConfiguration extends PublishedPropertyFacetAbstract {
+public class ExecutionDispatchPropertyFacetFromConfiguration
+extends ExecutionDispatchPropertyFacetAbstract {
- public PublishedPropertyFacetFromConfiguration(final FacetHolder holder) {
+ public ExecutionDispatchPropertyFacetFromConfiguration(final FacetHolder holder) {
super(holder);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotationAsConfigured.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotationAsConfigured.java
index be0673a..39796af 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotationAsConfigured.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/PublishedPropertyFacetForPropertyAnnotationAsConfigured.java
@@ -20,7 +20,7 @@ package org.apache.isis.core.metamodel.facets.properties.property.publishing;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-public class PublishedPropertyFacetForPropertyAnnotationAsConfigured extends PublishedPropertyFacetForPropertyAnnotation {
+public class PublishedPropertyFacetForPropertyAnnotationAsConfigured extends ExecutionDispatchPropertyFacetForPropertyAnnotation {
public PublishedPropertyFacetForPropertyAnnotationAsConfigured(final FacetHolder holder) {
super(holder);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/PublishedPropertyFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/ExecutionDispatchPropertyFacet.java
similarity index 54%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/PublishedPropertyFacet.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/ExecutionDispatchPropertyFacet.java
index 0cefa9e..aacc34c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/PublishedPropertyFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/ExecutionDispatchPropertyFacet.java
@@ -19,11 +19,25 @@
package org.apache.isis.core.metamodel.facets.properties.publish;
+import org.apache.isis.applib.services.iactn.Interaction;
+import org.apache.isis.applib.services.publish.ExecutionListener;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.services.publishing.ExecutionDispatcher;
+
+import lombok.NonNull;
+import lombok.val;
/**
- * Indicates that the editing of the property should be published.
+ * Indicates that editing of the property, captured by an {@link Interaction.Execution},
+ * should be dispatched via {@link ExecutionDispatcher} to all subscribed
+ * {@link ExecutionListener}s.
*/
-public interface PublishedPropertyFacet extends Facet {
-
+public interface ExecutionDispatchPropertyFacet extends Facet {
+
+ public static boolean isDispatchingEnabled(final @NonNull FacetHolder facetHolder) {
+ val executionDispatchingFacet = facetHolder.getFacet(ExecutionDispatchPropertyFacet.class);
+ return executionDispatchingFacet!=null;
+ }
+
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/PublishedPropertyFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/ExecutionDispatchPropertyFacetAbstract.java
similarity index 81%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/PublishedPropertyFacetAbstract.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/ExecutionDispatchPropertyFacetAbstract.java
index caa0960..10e40c9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/PublishedPropertyFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/publish/ExecutionDispatchPropertyFacetAbstract.java
@@ -23,16 +23,15 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-public abstract class PublishedPropertyFacetAbstract
+public abstract class ExecutionDispatchPropertyFacetAbstract
extends FacetAbstract
-implements PublishedPropertyFacet {
+implements ExecutionDispatchPropertyFacet {
public static Class<? extends Facet> type() {
- return PublishedPropertyFacet.class;
+ return ExecutionDispatchPropertyFacet.class;
}
- public PublishedPropertyFacetAbstract(final FacetHolder holder) {
- super( type(),
- holder);
+ public ExecutionDispatchPropertyFacetAbstract(final FacetHolder holder) {
+ super(type(), holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/command/CommandDispatcher.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/command/CommandDispatcher.java
index 341ea74..d455613 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/command/CommandDispatcher.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/command/CommandDispatcher.java
@@ -32,6 +32,7 @@ import org.apache.isis.applib.annotation.OrderPrecedence;
import org.apache.isis.applib.services.command.Command;
import org.apache.isis.applib.services.command.spi.CommandListener;
+import lombok.NonNull;
import lombok.extern.log4j.Log4j2;
@Service
@@ -54,11 +55,11 @@ public class CommandDispatcher {
* </p>
*/
// tag::refguide[]
- public void complete(final Command command) { // <.>
+ public void complete(final @NonNull Command command) { // <.>
// ...
// end::refguide[]
- if(! command.isReified()) {
+ if(!command.isDispatchingEnabled()) {
return;
}
if(command.getLogicalMemberIdentifier() == null) {
@@ -71,7 +72,7 @@ public class CommandDispatcher {
command.isSystemStateChanged());
// tag::refguide[]
- commandListeners.forEach(x -> x.onComplete(command));
+ commandListeners.forEach(commandListener -> commandListener.onComplete(command));
}
@Inject List<CommandListener> commandListeners;
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/Annotations_getAnnotations_on_Field_Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/Annotations_getAnnotations_on_Field_Test.java
index 85351e4..b7cd2ad 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/Annotations_getAnnotations_on_Field_Test.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/Annotations_getAnnotations_on_Field_Test.java
@@ -30,7 +30,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.commons.internal.reflection._Annotations;
import lombok.val;
@@ -39,14 +39,14 @@ import lombok.val;
public class Annotations_getAnnotations_on_Field_Test {
- @Property(publishing = Publishing.ENABLED)
+ @Property(executionDispatch = ExecutionDispatch.ENABLED)
@Inherited
@Target({ ElementType.FIELD, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@interface Published {
}
- @Property(publishing = Publishing.DISABLED)
+ @Property(executionDispatch = ExecutionDispatch.DISABLED)
@Inherited
@Target({ ElementType.FIELD, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@@ -64,7 +64,7 @@ public class Annotations_getAnnotations_on_Field_Test {
public void direct() throws Exception {
class SomeDomainObject {
- @Property(publishing = Publishing.ENABLED)
+ @Property(executionDispatch = ExecutionDispatch.ENABLED)
private String name;
public String getName() {
@@ -76,13 +76,13 @@ public class Annotations_getAnnotations_on_Field_Test {
val nearestF = _Annotations.synthesizeInherited(field, Property.class);
assertThat(nearestF.isPresent(), is(true));
- assertThat(nearestF.get().publishing(), is(Publishing.ENABLED));
+ assertThat(nearestF.get().executionDispatch(), is(ExecutionDispatch.ENABLED));
val method = SomeDomainObject.class.getMethod("getName");
val nearestM = _Annotations.synthesizeInherited(method, Property.class);
assertThat(nearestM.isPresent(), is(true));
- assertThat(nearestM.get().publishing(), is(Publishing.ENABLED));
+ assertThat(nearestM.get().executionDispatch(), is(ExecutionDispatch.ENABLED));
}
@Test
@@ -100,7 +100,7 @@ public class Annotations_getAnnotations_on_Field_Test {
val nearestM = _Annotations.synthesizeInherited(method, Property.class);
assertThat(nearestM.isPresent(), is(true));
- assertThat(nearestM.get().publishing(), is(Publishing.ENABLED));
+ assertThat(nearestM.get().executionDispatch(), is(ExecutionDispatch.ENABLED));
}
@Test
@@ -118,7 +118,7 @@ public class Annotations_getAnnotations_on_Field_Test {
val nearestM = _Annotations.synthesizeInherited(method, Property.class);
assertThat(nearestM.isPresent(), is(true));
- assertThat(nearestM.get().publishing(), is(Publishing.ENABLED));
+ assertThat(nearestM.get().executionDispatch(), is(ExecutionDispatch.ENABLED));
}
@Test
@@ -137,7 +137,7 @@ public class Annotations_getAnnotations_on_Field_Test {
val nearestM = _Annotations.synthesizeInherited(method, Property.class);
assertThat(nearestM.isPresent(), is(true));
- assertThat(nearestM.get().publishing(), is(Publishing.ENABLED));
+ assertThat(nearestM.get().executionDispatch(), is(ExecutionDispatch.ENABLED));
}
@Test
@@ -156,7 +156,7 @@ public class Annotations_getAnnotations_on_Field_Test {
val nearestM = _Annotations.synthesizeInherited(method, Property.class);
assertThat(nearestM.isPresent(), is(true));
- assertThat(nearestM.get().publishing(), is(Publishing.DISABLED));
+ assertThat(nearestM.get().executionDispatch(), is(ExecutionDispatch.DISABLED));
}
@Test
@@ -165,7 +165,7 @@ public class Annotations_getAnnotations_on_Field_Test {
class SomeDomainObject {
@MetaPublished
@Published
- @Property(publishing = Publishing.DISABLED)
+ @Property(executionDispatch = ExecutionDispatch.DISABLED)
private String name;
public String getName() {
return name;
@@ -176,7 +176,7 @@ public class Annotations_getAnnotations_on_Field_Test {
val nearestM = _Annotations.synthesizeInherited(method, Property.class);
assertThat(nearestM.isPresent(), is(true));
- assertThat(nearestM.get().publishing(), is(Publishing.DISABLED));
+ assertThat(nearestM.get().executionDispatch(), is(ExecutionDispatch.DISABLED));
}
@@ -186,7 +186,7 @@ public class Annotations_getAnnotations_on_Field_Test {
class SomeDomainObject {
@MetaPublished
@NotPublished
- @Property(publishing = Publishing.ENABLED)
+ @Property(executionDispatch = ExecutionDispatch.ENABLED)
private String name;
public String getName() {
return name;
@@ -197,7 +197,7 @@ public class Annotations_getAnnotations_on_Field_Test {
val nearestM = _Annotations.synthesizeInherited(method, Property.class);
assertThat(nearestM.isPresent(), is(true));
- assertThat(nearestM.get().publishing(), is(Publishing.ENABLED));
+ assertThat(nearestM.get().executionDispatch(), is(ExecutionDispatch.ENABLED));
}
}
\ No newline at end of file
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Command.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Command.java
index 13cc600..fbf90ce 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Command.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Command.java
@@ -27,7 +27,7 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetForActionAnnotation;
@@ -80,7 +80,7 @@ public class ActionAnnotationFacetFactoryTest_Command extends ActionAnnotationFa
// given
class Customer {
- @Action(command = CommandReification.ENABLED)
+ @Action(commandDispatch = CommandDispatch.ENABLED)
public void someAction() {
}
}
@@ -101,7 +101,7 @@ public class ActionAnnotationFacetFactoryTest_Command extends ActionAnnotationFa
// given
class Customer {
- @Action(command = CommandReification.DISABLED)
+ @Action(commandDispatch = CommandDispatch.DISABLED)
public void someAction() {
}
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
index 3e1eca1..b9a4a69 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
@@ -152,7 +152,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
public void given_asConfigured_and_configurationSetToIgnoreQueryOnly_andSafeSemantics_thenNone() {
class Customer {
- @Action(publishing = org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED)
+ @Action(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
public void someAction() {
}
}
@@ -176,7 +176,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
// given
class Customer {
@Action(
- publishing = org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED
+ publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED
)
public void someAction() {
}
@@ -203,7 +203,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
public void given_asConfigured_and_configurationSetToIgnoreQueryOnly_andNoSemantics_thenException() {
class Customer {
- @Action(publishing = org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED)
+ @Action(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
public void someAction() {
}
}
@@ -218,7 +218,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
public void given_asConfigured_and_configurationSetToNone_thenNone() {
class Customer {
- @Action(publishing = org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED)
+ @Action(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
public void someAction() {
}
}
@@ -241,7 +241,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
// given
class Customer {
@Action(
- publishing = org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED
+ publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED
)
public void someAction() {
}
@@ -267,7 +267,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
// given
class Customer {
@Action(
- publishing = org.apache.isis.applib.annotation.Publishing.ENABLED
+ publishing = org.apache.isis.applib.annotation.ExecutionDispatch.ENABLED
)
public void someAction() {
}
@@ -292,7 +292,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
// given
class Customer {
@Action(
- publishing = org.apache.isis.applib.annotation.Publishing.DISABLED
+ publishing = org.apache.isis.applib.annotation.ExecutionDispatch.DISABLED
)
public void someAction() {
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
index 588f52f..f9b7749 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
@@ -246,15 +246,15 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
public static class Publishing extends DomainObjectAnnotationFacetFactoryTest {
- @DomainObject(publishing = org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED)
+ @DomainObject(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
class CustomerWithDomainObjectAndPublishingSetToAsConfigured {
}
- @DomainObject(publishing = org.apache.isis.applib.annotation.Publishing.DISABLED)
+ @DomainObject(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.DISABLED)
class CustomerWithDomainObjectAndPublishingSetToDisabled {
}
- @DomainObject(publishing = org.apache.isis.applib.annotation.Publishing.ENABLED)
+ @DomainObject(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.ENABLED)
class CustomerWithDomainObjectAndPublishingSetToEnabled {
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandDisabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandDisabledMetaAnnotation.java
index 5f2926e..2e251f4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandDisabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandDisabledMetaAnnotation.java
@@ -25,10 +25,10 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
//tag::class[]
-@Action(command = CommandReification.DISABLED) // <.>
+@Action(commandDispatch = CommandDispatch.DISABLED) // <.>
@Inherited
@Target({
ElementType.TYPE, ElementType.METHOD // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandEnabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandEnabledMetaAnnotation.java
index b4f2427..7653737 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandEnabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandEnabledMetaAnnotation.java
@@ -25,11 +25,11 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.CommandDispatch;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
//tag::class[]
-@Action(command = CommandReification.ENABLED) // <.>
+@Action(commandDispatch = CommandDispatch.ENABLED) // <.>
@Inherited
@Target({
ElementType.TYPE, ElementType.METHOD // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo.java
index d882f2f..49e2fe8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo.java
@@ -26,7 +26,7 @@ import javax.jdo.annotations.PersistenceCapable;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.MemberOrder;
@@ -90,7 +90,7 @@ public class ActionCommandJdo
//tag::annotation[]
@Action(
- command = CommandReification.ENABLED // <.>
+ commandDispatch = CommandDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "property"
, associateWithSequence = "1"
@@ -113,7 +113,7 @@ public class ActionCommandJdo
//tag::annotation-2[]
@Action(
- command = CommandReification.DISABLED // <.>
+ commandDispatch = CommandDispatch.DISABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "propertyCommandDisabled"
, associateWithSequence = "1"
@@ -161,7 +161,7 @@ public class ActionCommandJdo
@ActionCommandDisabledMetaAnnotation // <.>
@Action(
semantics = SemanticsOf.IDEMPOTENT
- , command = CommandReification.ENABLED // <.>
+ , commandDispatch = CommandDispatch.ENABLED // <.>
, associateWith = "propertyMetaAnnotatedOverridden"
, associateWithSequence = "1"
)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdateProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdateProperty.java
index 3cb2adb..36e2e5f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdateProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdateProperty.java
@@ -20,13 +20,13 @@ package demoapp.dom.annotDomain.Action.command;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CommandReification;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.CommandDispatch;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
//tag::class[]
@Action(
- command = CommandReification.ENABLED // <.>
+ commandDispatch = CommandDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "property"
, associateWithSequence = "2"
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdatePropertyCommandDisabled.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdatePropertyCommandDisabled.java
index 4343450..843e173 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdatePropertyCommandDisabled.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdatePropertyCommandDisabled.java
@@ -20,14 +20,14 @@ package demoapp.dom.annotDomain.Action.command;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
//tag::class[]
@Action(
- command = CommandReification.DISABLED // <.>
+ commandDispatch = CommandDispatch.DISABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "propertyCommandDisabled"
, associateWithSequence = "2"
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdatePropertyMetaAnnotationOverridden.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
index 24345fb..72d1685 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/command/ActionCommandJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
@@ -20,8 +20,8 @@ package demoapp.dom.annotDomain.Action.command;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CommandReification;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.CommandDispatch;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
@@ -29,7 +29,7 @@ import lombok.RequiredArgsConstructor;
//tag::class[]
@ActionCommandDisabledMetaAnnotation // <.>
@Action(
- command = CommandReification.ENABLED // <.>
+ commandDispatch = CommandDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "propertyMetaAnnotatedOverridden"
, associateWithSequence = "2"
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingDisabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingDisabledMetaAnnotation.java
index 71071e3..9875892 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingDisabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingDisabledMetaAnnotation.java
@@ -26,10 +26,10 @@ import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
//tag::class[]
-@Action(publishing = Publishing.DISABLED) // <.>
+@Action(publishing = ExecutionDispatch.DISABLED) // <.>
@Inherited
@Target({
ElementType.TYPE, ElementType.METHOD // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingEnabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingEnabledMetaAnnotation.java
index 7ab1b59..6f18dd6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingEnabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingEnabledMetaAnnotation.java
@@ -26,10 +26,10 @@ import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
//tag::class[]
-@Action(publishing = Publishing.ENABLED) // <.>
+@Action(publishing = ExecutionDispatch.ENABLED) // <.>
@Inherited
@Target({
ElementType.TYPE, ElementType.METHOD // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo.java
index 42f1fb3..4dfd543 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
import lombok.Getter;
@@ -81,7 +81,7 @@ public class ActionPublishingJdo
//tag::annotation[]
@Action(
- publishing = Publishing.ENABLED // <.>
+ publishing = ExecutionDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "property"
, associateWithSequence = "1"
@@ -123,7 +123,7 @@ public class ActionPublishingJdo
//tag::meta-annotation-overridden[]
@ActionPublishingDisabledMetaAnnotation // <.>
@Action(
- publishing = Publishing.ENABLED // <.>
+ publishing = ExecutionDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "propertyMetaAnnotatedOverridden"
, associateWithSequence = "1"
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdateProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdateProperty.java
index 4ec4d9b..1f513fb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdateProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdateProperty.java
@@ -20,12 +20,12 @@ package demoapp.dom.annotDomain.Action.publishing;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
//tag::class[]
@Action(
- publishing = Publishing.ENABLED // <.>
+ publishing = ExecutionDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "property"
, associateWithSequence = "2"
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotation.java
index c057948..bd4bd4d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotation.java
@@ -20,7 +20,7 @@ package demoapp.dom.annotDomain.Action.publishing;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
//tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
index ea21ef0..d3f9366 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
@@ -20,13 +20,13 @@ package demoapp.dom.annotDomain.Action.publishing;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
//tag::class[]
@ActionPublishingDisabledMetaAnnotation // <.>
@Action(
- publishing = Publishing.ENABLED // <.>
+ publishing = ExecutionDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "propertyMetaAnnotatedOverridden"
, associateWithSequence = "2"
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/restrictTo/ActionRestrictToNoRestrictionsMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/restrictTo/ActionRestrictToNoRestrictionsMetaAnnotation.java
index bd6fa09..cfd8191 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/restrictTo/ActionRestrictToNoRestrictionsMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/restrictTo/ActionRestrictToNoRestrictionsMetaAnnotation.java
@@ -25,7 +25,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.RestrictTo;
//tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/restrictTo/ActionRestrictToPrototypingMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/restrictTo/ActionRestrictToPrototypingMetaAnnotation.java
index 61db3e7..74ee88e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/restrictTo/ActionRestrictToPrototypingMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/restrictTo/ActionRestrictToPrototypingMetaAnnotation.java
@@ -25,7 +25,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.RestrictTo;
//tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/annotated/disabled/DomainObjectPublishingDisabledJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/annotated/disabled/DomainObjectPublishingDisabledJdo.java
index 88642b3..783c587 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/annotated/disabled/DomainObjectPublishingDisabledJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/annotated/disabled/DomainObjectPublishingDisabledJdo.java
@@ -31,7 +31,7 @@ import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.annotation.Title;
@@ -47,7 +47,7 @@ import demoapp.dom.annotDomain.DomainObject.publishing.DomainObjectPublishingJdo
@DomainObject(
nature=Nature.JDO_ENTITY
, objectType = "demo.DomainObjectPublishingDisabledJdo"
- , publishing = Publishing.DISABLED // <.>
+ , publishing = ExecutionDispatch.DISABLED // <.>
, bounding = Bounding.BOUNDED
)
@DomainObjectLayout(
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/annotated/enabled/DomainObjectPublishingEnabledJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/annotated/enabled/DomainObjectPublishingEnabledJdo.java
index 6fb181f..ec6a70a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/annotated/enabled/DomainObjectPublishingEnabledJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/annotated/enabled/DomainObjectPublishingEnabledJdo.java
@@ -31,7 +31,7 @@ import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.annotation.Title;
@@ -47,7 +47,7 @@ import demoapp.dom.annotDomain.DomainObject.publishing.DomainObjectPublishingJdo
@DomainObject(
nature=Nature.JDO_ENTITY
, objectType = "demo.DomainObjectPublishingEnabledJdo"
- , publishing = Publishing.ENABLED // <.>
+ , publishing = ExecutionDispatch.ENABLED // <.>
, bounding = Bounding.BOUNDED
)
@DomainObjectLayout(
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnot/DomainObjectPublishingEnabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnot/DomainObjectPublishingEnabledMetaAnnotation.java
index b75effb..cb865ea 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnot/DomainObjectPublishingEnabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnot/DomainObjectPublishingEnabledMetaAnnotation.java
@@ -26,10 +26,10 @@ import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
//tag::class[]
-@DomainObject(publishing = Publishing.ENABLED) // <.>
+@DomainObject(publishing = ExecutionDispatch.ENABLED) // <.>
@Inherited
@Target({
ElementType.TYPE, ElementType.ANNOTATION_TYPE // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnot/enabled/DomainObjectPublishingEnabledMetaAnnotatedJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnot/enabled/DomainObjectPublishingEnabledMetaAnnotatedJdo.java
index 2ecb370..7be8d4b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnot/enabled/DomainObjectPublishingEnabledMetaAnnotatedJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnot/enabled/DomainObjectPublishingEnabledMetaAnnotatedJdo.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.annotation.Bounding;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.applib.annotation.Nature;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.Title;
import lombok.Getter;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnotOverridden/DomainObjectPublishingDisabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnotOverridden/DomainObjectPublishingDisabledMetaAnnotation.java
index 4f81804..2b548ba 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnotOverridden/DomainObjectPublishingDisabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnotOverridden/DomainObjectPublishingDisabledMetaAnnotation.java
@@ -26,10 +26,10 @@ import java.lang.annotation.Target;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
//tag::class[]
-@DomainObject(publishing = Publishing.DISABLED) // <.>
+@DomainObject(publishing = ExecutionDispatch.DISABLED) // <.>
@Inherited
@Target({
ElementType.TYPE, ElementType.ANNOTATION_TYPE // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnotOverridden/enabled/DomainObjectPublishingEnabledMetaAnnotOverriddenJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnotOverridden/enabled/DomainObjectPublishingEnabledMetaAnnotOverriddenJdo.java
index af6b81f..18edc7d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnotOverridden/enabled/DomainObjectPublishingEnabledMetaAnnotOverriddenJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/publishing/metaAnnotOverridden/enabled/DomainObjectPublishingEnabledMetaAnnotOverriddenJdo.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.annotation.Bounding;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.applib.annotation.Nature;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.Title;
import lombok.Getter;
@@ -44,7 +44,7 @@ import demoapp.dom.annotDomain.DomainObject.publishing.metaAnnotOverridden.Domai
@DomainObject(
nature=Nature.JDO_ENTITY
, objectType = "demo.DomainObjectPublishingEnabledMetaAnnotOverriddenJdo"
- , publishing = Publishing.ENABLED // <.>
+ , publishing = ExecutionDispatch.ENABLED // <.>
, bounding = Bounding.BOUNDED
)
@DomainObjectLayout(
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDisabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDispatchDisabledMetaAnnotation.java
similarity index 84%
rename from examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDisabledMetaAnnotation.java
rename to examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDispatchDisabledMetaAnnotation.java
index 2a1ff53..0e63079 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDisabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDispatchDisabledMetaAnnotation.java
@@ -24,18 +24,17 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.Property;
//tag::class[]
-@Property(command = CommandReification.DISABLED) // <.>
+@Property(commandDispatch = CommandDispatch.DISABLED) // <.>
@Inherited
@Target({
ElementType.FIELD, ElementType.METHOD // <.>
})
@Retention(RetentionPolicy.RUNTIME)
-public @interface PropertyCommandDisabledMetaAnnotation {
+public @interface PropertyCommandDispatchDisabledMetaAnnotation {
}
//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandEnabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDispatchEnabledMetaAnnotation.java
similarity index 82%
rename from examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandEnabledMetaAnnotation.java
rename to examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDispatchEnabledMetaAnnotation.java
index 36f11dd..8d9cd49 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandEnabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandDispatchEnabledMetaAnnotation.java
@@ -24,19 +24,17 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
//tag::class[]
-@Property(command = CommandReification.ENABLED) // <.>
+@Property(commandDispatch = CommandDispatch.ENABLED) // <.>
@Inherited
@Target({
ElementType.FIELD, ElementType.METHOD // <.>
})
@Retention(RetentionPolicy.RUNTIME)
-public @interface PropertyCommandEnabledMetaAnnotation {
+public @interface PropertyCommandDispatchEnabledMetaAnnotation {
}
//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandJdo.java
index 466dab3..62c7176 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/command/PropertyCommandJdo.java
@@ -23,16 +23,13 @@ import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.SemanticsOf;
import lombok.Getter;
import lombok.Setter;
@@ -55,7 +52,7 @@ public class PropertyCommandJdo
public PropertyCommandJdo(String initialValue) {
this.property = initialValue;
- this.propertyCommandDisabled = initialValue;
+ this.propertyCommandDispatchDisabled = initialValue;
this.propertyMetaAnnotated = initialValue;
this.propertyMetaAnnotatedOverridden = initialValue;
}
@@ -66,7 +63,7 @@ public class PropertyCommandJdo
//tag::annotation[]
@Property(
- command = CommandReification.ENABLED // <.>
+ commandDispatch = CommandDispatch.ENABLED // <.>
)
@PropertyLayout(
describedAs = "@Property(command = ENABLED)"
@@ -78,18 +75,18 @@ public class PropertyCommandJdo
//tag::annotation-2[]
@Property(
- command = CommandReification.DISABLED // <.>
+ commandDispatch = CommandDispatch.DISABLED // <.>
)
@PropertyLayout(
describedAs = "@Property(command = DISABLED)"
)
@MemberOrder(name = "annotation", sequence = "2")
@Getter @Setter
- private String propertyCommandDisabled;
+ private String propertyCommandDispatchDisabled;
//end::annotation-2[]
//tag::meta-annotation[]
- @PropertyCommandEnabledMetaAnnotation // <.>
+ @PropertyCommandDispatchEnabledMetaAnnotation // <.>
@PropertyLayout(
describedAs = "@PropertyCommandEnabledMetaAnnotation"
)
@@ -99,8 +96,8 @@ public class PropertyCommandJdo
//end::meta-annotation[]
//tag::meta-annotation-overridden[]
- @PropertyCommandDisabledMetaAnnotation // <.>
- @Property(command = CommandReification.ENABLED) // <.>
+ @PropertyCommandDispatchDisabledMetaAnnotation // <.>
+ @Property(commandDispatch = CommandDispatch.ENABLED) // <.>
@PropertyLayout(
describedAs =
"@PropertyCommandDisabledMetaAnnotation " +
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingEnabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyExecutionDispatchDisabledMetaAnnotation.java
similarity index 85%
rename from examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingEnabledMetaAnnotation.java
rename to examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyExecutionDispatchDisabledMetaAnnotation.java
index 23d75f4..b8702ce 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingEnabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyExecutionDispatchDisabledMetaAnnotation.java
@@ -24,18 +24,17 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
//tag::class[]
-@Property(publishing = Publishing.ENABLED) // <.>
+@Property(executionDispatch = ExecutionDispatch.DISABLED) // <.>
@Inherited
@Target({
ElementType.METHOD, ElementType.FIELD // <.>
})
@Retention(RetentionPolicy.RUNTIME)
-public @interface PropertyPublishingEnabledMetaAnnotation {
+public @interface PropertyExecutionDispatchDisabledMetaAnnotation {
}
//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingDisabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyExecutionDispatchEnabledMetaAnnotation.java
similarity index 86%
rename from examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingDisabledMetaAnnotation.java
rename to examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyExecutionDispatchEnabledMetaAnnotation.java
index ce50a56..f58c089 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingDisabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyExecutionDispatchEnabledMetaAnnotation.java
@@ -24,17 +24,17 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
//tag::class[]
-@Property(publishing = Publishing.DISABLED) // <.>
+@Property(executionDispatch = ExecutionDispatch.ENABLED) // <.>
@Inherited
@Target({
ElementType.METHOD, ElementType.FIELD // <.>
})
@Retention(RetentionPolicy.RUNTIME)
-public @interface PropertyPublishingDisabledMetaAnnotation {
+public @interface PropertyExecutionDispatchEnabledMetaAnnotation {
}
//end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingJdo.java
index ebd7b54..596876d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/publishing/PropertyPublishingJdo.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import lombok.Getter;
import lombok.Setter;
@@ -63,7 +63,7 @@ public class PropertyPublishingJdo
//tag::annotation[]
@Property(
- publishing = Publishing.ENABLED // <.>
+ executionDispatch = ExecutionDispatch.ENABLED // <.>
)
@PropertyLayout(
describedAs =
@@ -75,7 +75,7 @@ public class PropertyPublishingJdo
//end::annotation[]
//tag::meta-annotated[]
- @PropertyPublishingEnabledMetaAnnotation // <.>
+ @PropertyExecutionDispatchEnabledMetaAnnotation // <.>
@Property()
@PropertyLayout(
describedAs = "@PropertyPublishingEnabledMetaAnnotation"
@@ -87,9 +87,9 @@ public class PropertyPublishingJdo
//end::meta-annotated[]
//tag::meta-annotated-overridden[]
- @PropertyPublishingDisabledMetaAnnotation // <.>
+ @PropertyExecutionDispatchDisabledMetaAnnotation // <.>
@Property(
- publishing = Publishing.ENABLED // <.>
+ executionDispatch = ExecutionDispatch.ENABLED // <.>
)
@PropertyLayout(
describedAs =
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo_retry.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo_retry.java
index 388ad1a..cae4ff2 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo_retry.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo_retry.java
@@ -21,7 +21,7 @@ package org.apache.isis.extensions.commandlog.impl.jdo;
import javax.inject.Inject;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.services.bookmark.BookmarkService;
@@ -35,7 +35,7 @@ import org.apache.isis.extensions.commandlog.impl.IsisModuleExtCommandLogImpl;
@Action(
semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE,
domainEvent = CommandJdo_retry.ActionDomainEvent.class,
- command = CommandReification.DISABLED
+ commandDispatch = CommandDispatch.DISABLED
)
public class CommandJdo_retry {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
index c914565..02cbbdd 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
@@ -23,7 +23,7 @@ import java.util.List;
import javax.inject.Inject;
import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.applib.annotation.ViewModel;
import org.apache.isis.applib.domain.DomainObjectList.ActionDomainEvent;
import org.apache.isis.applib.services.repository.RepositoryService;
@@ -38,7 +38,7 @@ public class JdoInventoryManager {
public static class UpdateProductPriceEvent extends ActionDomainEvent {}
- @Action(domainEvent = UpdateProductPriceEvent.class, publishing = Publishing.ENABLED)
+ @Action(domainEvent = UpdateProductPriceEvent.class, publishing = ExecutionDispatch.ENABLED)
public JdoProduct updateProductPrice(JdoProduct product, double newPrice) {
product.setPrice(newPrice);
return product;
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/entities/JdoBook.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/entities/JdoBook.java
index d6681dc..aa117fb 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/entities/JdoBook.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/entities/JdoBook.java
@@ -28,7 +28,7 @@ import javax.jdo.annotations.PersistenceCapable;
import org.apache.isis.applib.annotation.Auditing;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.testdomain.model.stereotypes.MyService;
import org.apache.isis.testdomain.util.kv.KVStoreForTesting;
@@ -45,7 +45,7 @@ import lombok.extern.log4j.Log4j2;
@Discriminator(value="Book")
@DomainObject(
objectType = "testdomain.jdo.Book",
- publishing=Publishing.ENABLED,
+ publishing=ExecutionDispatch.ENABLED,
auditing = Auditing.ENABLED)
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@ToString(callSuper = true)
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/entities/JpaBook.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/entities/JpaBook.java
index 9db0b9a..13ab817 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/entities/JpaBook.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/entities/JpaBook.java
@@ -25,7 +25,7 @@ import org.apache.isis.applib.annotation.Auditing;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import lombok.AccessLevel;
import lombok.Getter;
@@ -39,7 +39,7 @@ import lombok.ToString;
@DomainObject(
objectType = "testdomain.jpa.Book",
nature = Nature.JPA_ENTITY, //TODO[ISIS-2332] should not be required, when using JPA quick classify SPI
- publishing=Publishing.ENABLED,
+ publishing=ExecutionDispatch.ENABLED,
auditing = Auditing.ENABLED)
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@ToString(callSuper = true)
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
index 8cde2f7..4e9ba5e 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
@@ -23,12 +23,12 @@ import java.util.Set;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.MinLength;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.extensions.modelannotation.applib.annotation.Model;
import lombok.RequiredArgsConstructor;
-@Action(publishing = Publishing.ENABLED)
+@Action(publishing = ExecutionDispatch.ENABLED)
@ActionLayout(named = "foo", describedAs = "bar")
@RequiredArgsConstructor
public class ProperMemberSupport_action {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
index 10f087b..38033ae 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
@@ -23,7 +23,7 @@ import java.util.Set;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.MinLength;
import org.apache.isis.applib.annotation.Mixin;
-import org.apache.isis.applib.annotation.Publishing;
+import org.apache.isis.applib.annotation.ExecutionDispatch;
import org.apache.isis.extensions.modelannotation.applib.annotation.Model;
import lombok.RequiredArgsConstructor;
@@ -34,7 +34,7 @@ public class ProperMemberSupport_action2 {
private final ProperMemberSupport holder;
// proper mix-in action
- @Action(publishing = Publishing.ENABLED)
+ @Action(publishing = ExecutionDispatch.ENABLED)
public ProperMemberSupport $$(String p0, String p1) {
return holder;
}
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
index 2f82040..dfe1f51 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
@@ -22,7 +22,7 @@ import javax.inject.Inject;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CommandReification;
+import org.apache.isis.applib.annotation.CommandDispatch;
import org.apache.isis.applib.annotation.Contributed;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.SemanticsOf;
@@ -36,7 +36,7 @@ import lombok.val;
@Action(
domainEvent = Object_clearHints.ActionDomainEvent.class,
semantics = SemanticsOf.IDEMPOTENT,
- command = CommandReification.DISABLED
+ commandDispatch = CommandDispatch.DISABLED
)
@ActionLayout(
contributed = Contributed.AS_ACTION,
[isis] 02/05: ISIS-2464: Application Layer Overhaul for v2
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit d5f82cea929de64b8a7450a7da0f3c10ea9cf115
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 19 12:40:54 2020 +0100
ISIS-2464: Application Layer Overhaul for v2
Task-Url: https://issues.apache.org/jira/browse/ISIS-2464
---
.../java/org/apache/isis/applib/annotation/Action.java | 12 +++++-------
.../org/apache/isis/core/config/IsisConfiguration.java | 2 +-
.../PublishedActionFacetForActionAnnotation.java | 2 +-
.../ActionAnnotationFacetFactoryTest_Publishing.java | 14 +++++++-------
.../publishing/ActionPublishingDisabledMetaAnnotation.java | 2 +-
.../publishing/ActionPublishingEnabledMetaAnnotation.java | 2 +-
.../annotDomain/Action/publishing/ActionPublishingJdo.java | 4 ++--
.../ActionPublishingJdo_mixinUpdateProperty.java | 2 +-
...ingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java | 2 +-
.../apache/isis/testdomain/jdo/JdoInventoryManager.java | 2 +-
.../testdomain/model/good/ProperMemberSupport_action.java | 2 +-
.../testdomain/model/good/ProperMemberSupport_action2.java | 2 +-
12 files changed, 23 insertions(+), 25 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
index 628008c..2da9373 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
@@ -31,6 +31,8 @@ import org.apache.isis.applib.services.command.spi.CommandListener;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto;
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
+import org.apache.isis.applib.services.iactn.Interaction;
+import org.apache.isis.applib.services.publish.ExecutionListener;
import org.apache.isis.applib.value.Blob;
import org.apache.isis.applib.value.Clob;
@@ -158,15 +160,11 @@ public @interface Action {
// end::refguide[]
/**
- * Whether the action invocation should be published.
- *
- * <p>
- * Requires that an implementation of the {@link org.apache.isis.applib.services.publish.ExecutionListener}
- * or {@link org.apache.isis.applib.services.publish.ExecutionListener} is registered with the framework.
- * </p>
+ * Whether {@link Interaction.Execution}s (triggered by action invocations), should
+ * be dispatched to {@link ExecutionListener}s.
*/
// tag::refguide[]
- ExecutionDispatch publishing() // <.>
+ ExecutionDispatch executionDispatch() // <.>
default ExecutionDispatch.NOT_SPECIFIED;
// end::refguide[]
diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 3f88fc3..d02ed32 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -725,7 +725,7 @@ public class IsisConfiguration {
* </p>
*
* <p>
- * This setting can be overridden on a case-by-case basis using {@link org.apache.isis.applib.annotation.Action#publishing()}.
+ * This setting can be overridden on a case-by-case basis using {@link org.apache.isis.applib.annotation.Action#executionDispatch()}.
* </p>
*/
private PublishActionsConfiguration publishing = PublishActionsConfiguration.NONE;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
index 85b469f..85dd843 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
@@ -40,7 +40,7 @@ public class PublishedActionFacetForActionAnnotation extends PublishedActionFace
final PublishActionsConfiguration setting = PublishActionsConfiguration.from(configuration);
return actionsIfAny
- .map(Action::publishing)
+ .map(Action::executionDispatch)
.filter(publishing -> publishing != ExecutionDispatch.NOT_SPECIFIED)
.map(publishing -> {
switch (publishing) {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
index b9a4a69..5d0d1a4 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
@@ -152,7 +152,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
public void given_asConfigured_and_configurationSetToIgnoreQueryOnly_andSafeSemantics_thenNone() {
class Customer {
- @Action(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
+ @Action(executionDispatch = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
public void someAction() {
}
}
@@ -176,7 +176,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
// given
class Customer {
@Action(
- publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED
+ executionDispatch = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED
)
public void someAction() {
}
@@ -203,7 +203,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
public void given_asConfigured_and_configurationSetToIgnoreQueryOnly_andNoSemantics_thenException() {
class Customer {
- @Action(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
+ @Action(executionDispatch = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
public void someAction() {
}
}
@@ -218,7 +218,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
public void given_asConfigured_and_configurationSetToNone_thenNone() {
class Customer {
- @Action(publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
+ @Action(executionDispatch = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED)
public void someAction() {
}
}
@@ -241,7 +241,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
// given
class Customer {
@Action(
- publishing = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED
+ executionDispatch = org.apache.isis.applib.annotation.ExecutionDispatch.AS_CONFIGURED
)
public void someAction() {
}
@@ -267,7 +267,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
// given
class Customer {
@Action(
- publishing = org.apache.isis.applib.annotation.ExecutionDispatch.ENABLED
+ executionDispatch = org.apache.isis.applib.annotation.ExecutionDispatch.ENABLED
)
public void someAction() {
}
@@ -292,7 +292,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing extends ActionAnnotatio
// given
class Customer {
@Action(
- publishing = org.apache.isis.applib.annotation.ExecutionDispatch.DISABLED
+ executionDispatch = org.apache.isis.applib.annotation.ExecutionDispatch.DISABLED
)
public void someAction() {
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingDisabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingDisabledMetaAnnotation.java
index 9875892..1d53952 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingDisabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingDisabledMetaAnnotation.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.ExecutionDispatch;
//tag::class[]
-@Action(publishing = ExecutionDispatch.DISABLED) // <.>
+@Action(executionDispatch = ExecutionDispatch.DISABLED) // <.>
@Inherited
@Target({
ElementType.TYPE, ElementType.METHOD // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingEnabledMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingEnabledMetaAnnotation.java
index 6f18dd6..e3aa736 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingEnabledMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingEnabledMetaAnnotation.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.ExecutionDispatch;
//tag::class[]
-@Action(publishing = ExecutionDispatch.ENABLED) // <.>
+@Action(executionDispatch = ExecutionDispatch.ENABLED) // <.>
@Inherited
@Target({
ElementType.TYPE, ElementType.METHOD // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo.java
index 4dfd543..f69eaf7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo.java
@@ -81,7 +81,7 @@ public class ActionPublishingJdo
//tag::annotation[]
@Action(
- publishing = ExecutionDispatch.ENABLED // <.>
+ executionDispatch = ExecutionDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "property"
, associateWithSequence = "1"
@@ -123,7 +123,7 @@ public class ActionPublishingJdo
//tag::meta-annotation-overridden[]
@ActionPublishingDisabledMetaAnnotation // <.>
@Action(
- publishing = ExecutionDispatch.ENABLED // <.>
+ executionDispatch = ExecutionDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "propertyMetaAnnotatedOverridden"
, associateWithSequence = "1"
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdateProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdateProperty.java
index 1f513fb..c18ba1c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdateProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdateProperty.java
@@ -25,7 +25,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
//tag::class[]
@Action(
- publishing = ExecutionDispatch.ENABLED // <.>
+ executionDispatch = ExecutionDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "property"
, associateWithSequence = "2"
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
index d3f9366..4c022f5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/publishing/ActionPublishingJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
@@ -26,7 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
//tag::class[]
@ActionPublishingDisabledMetaAnnotation // <.>
@Action(
- publishing = ExecutionDispatch.ENABLED // <.>
+ executionDispatch = ExecutionDispatch.ENABLED // <.>
, semantics = SemanticsOf.IDEMPOTENT
, associateWith = "propertyMetaAnnotatedOverridden"
, associateWithSequence = "2"
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
index 02cbbdd..e849ed4 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
@@ -38,7 +38,7 @@ public class JdoInventoryManager {
public static class UpdateProductPriceEvent extends ActionDomainEvent {}
- @Action(domainEvent = UpdateProductPriceEvent.class, publishing = ExecutionDispatch.ENABLED)
+ @Action(domainEvent = UpdateProductPriceEvent.class, executionDispatch = ExecutionDispatch.ENABLED)
public JdoProduct updateProductPrice(JdoProduct product, double newPrice) {
product.setPrice(newPrice);
return product;
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
index 4e9ba5e..e475d3c 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
@@ -28,7 +28,7 @@ import org.apache.isis.extensions.modelannotation.applib.annotation.Model;
import lombok.RequiredArgsConstructor;
-@Action(publishing = ExecutionDispatch.ENABLED)
+@Action(executionDispatch = ExecutionDispatch.ENABLED)
@ActionLayout(named = "foo", describedAs = "bar")
@RequiredArgsConstructor
public class ProperMemberSupport_action {
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
index 38033ae..10dc764 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
@@ -34,7 +34,7 @@ public class ProperMemberSupport_action2 {
private final ProperMemberSupport holder;
// proper mix-in action
- @Action(publishing = ExecutionDispatch.ENABLED)
+ @Action(executionDispatch = ExecutionDispatch.ENABLED)
public ProperMemberSupport $$(String p0, String p1) {
return holder;
}
[isis] 03/05: ISIS-2464: sync adoc
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 3df0dc5741afc065287b2c70c2db2fc7388f7103
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 19 12:47:36 2020 +0100
ISIS-2464: sync adoc
---
.../applib-ant/examples/annotation/Action.java | 51 +++++++------------
.../{Publishing.java => CommandDispatch.java} | 25 +++++-----
.../examples/annotation/DomainObject.java | 8 +--
...mandReification.java => ExecutionDispatch.java} | 28 ++++++++---
.../applib-ant/examples/annotation/Property.java | 35 ++++++-------
.../services/TransactionScopeListener.java | 9 +++-
...uditerService.java => EntityAuditListener.java} | 8 ++-
...ServiceLogging.java => EntityAuditLogging.java} | 4 +-
.../examples/services/audit/package-info.java | 2 +-
.../examples/services/command/Command.java | 47 +++++++++++-------
...ndServiceListener.java => CommandListener.java} | 4 +-
.../examples/services/iactn/Interaction.java | 5 +-
.../services/iactn/InteractionContext.java | 57 ++++++----------------
.../examples/services/metrics/MetricsService.java | 4 +-
...PublishedObjects.java => ChangingEntities.java} | 2 +-
.../services/publish/ChangingEntitiesListener.java | 9 ++++
...ceLogging.java => ChangingEntitiesLogging.java} | 26 ++--------
...ublisherService.java => ExecutionListener.java} | 14 ++----
...erServiceLogging.java => ExecutionLogging.java} | 20 ++------
.../examples/services/publish/package-info.java | 2 +-
.../services/session/SessionLoggingService.java | 2 +-
21 files changed, 164 insertions(+), 198 deletions(-)
diff --git a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Action.java b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Action.java
index 290e30e..3c7b428 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Action.java
+++ b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Action.java
@@ -26,11 +26,13 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.isis.applib.events.domain.ActionDomainEvent;
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.command.spi.CommandListener;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto;
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
-import org.apache.isis.applib.value.Blob;
-import org.apache.isis.applib.value.Clob;
+import org.apache.isis.applib.services.iactn.Interaction;
+import org.apache.isis.applib.services.publish.ExecutionListener;
/**
* Domain semantics for domain object collection.
@@ -89,11 +91,12 @@ public @interface Action {
// end::refguide[]
/**
- * Whether the action invocation should be reified into a {@link org.apache.isis.applib.services.command.Command} object.
+ * Whether action invocations, captured as {@link Command}s,
+ * should be dispatched to {@link CommandListener}s.
*/
// tag::refguide[]
- CommandReification command() // <.>
- default CommandReification.NOT_SPECIFIED;
+ CommandDispatch commandDispatch() // <.>
+ default CommandDispatch.NOT_SPECIFIED;
// end::refguide[]
/**
@@ -137,6 +140,15 @@ public @interface Action {
// end::refguide[]
/**
+ * Whether {@link Interaction.Execution}s (triggered by action invocations), should
+ * be dispatched to {@link ExecutionListener}s.
+ */
+ // tag::refguide[]
+ ExecutionDispatch executionDispatch() // <.>
+ default ExecutionDispatch.NOT_SPECIFIED;
+
+ // end::refguide[]
+ /**
* Indicates where (in the UI) the action is not visible to the user.
*
* <p>
@@ -155,19 +167,6 @@ public @interface Action {
// end::refguide[]
/**
- * Whether the action invocation should be published.
- *
- * <p>
- * Requires that an implementation of the {@link org.apache.isis.applib.services.publish.PublisherService}
- * or {@link org.apache.isis.applib.services.publish.PublisherService} is registered with the framework.
- * </p>
- */
- // tag::refguide[]
- Publishing publishing() // <.>
- default Publishing.NOT_SPECIFIED;
-
- // end::refguide[]
- /**
* Whether the action is restricted to prototyping.
*
* <p>
@@ -197,21 +196,5 @@ public @interface Action {
Class<?> typeOf() // <.>
default Object.class;
- // end::refguide[]
- /**
- * For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
- *
- * <p>
- * The value should be of the form "file_extension|audio/*|video/*|image/*|media_type".
- * </p>
- *
- * @see <a href="http://www.w3schools.com/tags/att_input_accept.asp">http://www.w3schools.com</a>
- *
- * @deprecated - unused; see instead @Parameter and @Property
- */
- @Deprecated
- String fileAccept() // <.>
- default "";
- // tag::refguide[]
}
// end::refguide[]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Publishing.java b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/CommandDispatch.java
similarity index 61%
rename from api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Publishing.java
rename to api/applib/src/main/adoc/modules/applib-ant/examples/annotation/CommandDispatch.java
index 0afa406..fa27de7 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Publishing.java
+++ b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/CommandDispatch.java
@@ -18,37 +18,41 @@
*/
package org.apache.isis.applib.annotation;
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.command.spi.CommandListener;
+
/**
- * The available policies for publishing changes to the properties of the object.
+ * The available policies as to whether action invocations and property edits,
+ * captured as {@link Command}s, should
+ * be dispatched to {@link CommandListener}s.
*/
// tag::refguide[]
-public enum Publishing {
-
+public enum CommandDispatch {
// end::refguide[]
/**
- * The publishing of the object should be as per the default publishing policy configured in <tt>application.properties</tt>.
+ * Dispatching of {@link Command}s (either action invocations or property edits)
+ * for this object should be as per the default dispatching policy
+ * configured in <tt>application.properties</tt>.
*
* <p>
- * If no publishing policy is configured, then the publishing is disabled.
+ * If no dispatching policy is configured, then dispatching is disabled.
* </p>
*/
// tag::refguide[]
AS_CONFIGURED,
-
// end::refguide[]
/**
- * Publish changes to this object.
+ * Do dispatch {@link Command}s (either action invocations or property edits) for this object.
*/
// tag::refguide[]
ENABLED,
-
// end::refguide[]
/**
- * Do not publish changes to this object (even if otherwise configured to enable publishing).
+ * Do <b>not</b> dispatch {@link Command}s (either action invocations or property edits)
+ * for this object (even if otherwise configured to enable dispatching).
*/
// tag::refguide[]
DISABLED,
-
// end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
@@ -56,6 +60,5 @@ public enum Publishing {
*/
// tag::refguide[]
NOT_SPECIFIED
-
}
// end::refguide[]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/DomainObject.java b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/DomainObject.java
index b38efb7..64b818b 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/DomainObject.java
+++ b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/DomainObject.java
@@ -66,7 +66,7 @@ public @interface DomainObject {
* Whether the entity should be audited (note: does not apply to view models or other recreatable objects.
*
* <p>
- * Requires that an implementation of the {@link org.apache.isis.applib.services.audit.AuditerService} is
+ * Requires that an implementation of the {@link org.apache.isis.applib.services.audit.EntityAuditListener} is
* registered with the framework.
* </p>
*/
@@ -173,13 +173,13 @@ public @interface DomainObject {
* Whether changes to the object should be published.
*
* <p>
- * Requires that an implementation of the {@link org.apache.isis.applib.services.publish.PublisherService} is
+ * Requires that an implementation of the {@link org.apache.isis.applib.services.publish.ExecutionListener} is
* registered with the framework.
* </p>
*/
// tag::refguide[]
- Publishing publishing() // <.>
- default Publishing.NOT_SPECIFIED;
+ ExecutionDispatch publishing() // <.>
+ default ExecutionDispatch.NOT_SPECIFIED;
// end::refguide[]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/CommandReification.java b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ExecutionDispatch.java
similarity index 58%
rename from api/applib/src/main/adoc/modules/applib-ant/examples/annotation/CommandReification.java
rename to api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ExecutionDispatch.java
index a2b8b68..b4653fd 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/CommandReification.java
+++ b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ExecutionDispatch.java
@@ -18,33 +18,48 @@
*/
package org.apache.isis.applib.annotation;
+import org.apache.isis.applib.services.iactn.Interaction;
+import org.apache.isis.applib.services.publish.ExecutionListener;
+
/**
- * The available policies as to whether action invocations are reified into commands.
+ * The available policies as to whether {@link Interaction.Execution}s
+ * (triggered either by action invocations or property edits), should
+ * be dispatched to {@link ExecutionListener}s.
*/
// tag::refguide[]
-public enum CommandReification {
+public enum ExecutionDispatch {
+
// end::refguide[]
/**
- * Whether the action should be handled as a command as per the default command configured in <tt>applicationp.properties</tt>.
+ * Dispatching of
+ * {@link Interaction.Execution}s (triggered either by action invocations or property edits)
+ * for this object should be as per the default dispatching policy
+ * configured in <tt>application.properties</tt>.
*
* <p>
- * If no command policy is configured, then the action is <i>not</i> treated as a command.
+ * If no dispatching policy is configured, then dispatching is disabled.
* </p>
*/
// tag::refguide[]
AS_CONFIGURED,
+
// end::refguide[]
/**
- * Handle the action as a command, irrespective of any configuration settings.
+ * Do dispatch {@link Interaction.Execution}s (triggered either by action invocations or property edits)
+ * for this object.
*/
// tag::refguide[]
ENABLED,
+
// end::refguide[]
/**
- * Do not handle the action as a command, irrespective of any configuration settings.
+ * Do <b>not</b> dispatch {@link Interaction.Execution}s
+ * (triggered either by action invocations or property edits)
+ * for this object (even if otherwise configured to enable dispatching).
*/
// tag::refguide[]
DISABLED,
+
// end::refguide[]
/**
* Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
@@ -52,5 +67,6 @@ public enum CommandReification {
*/
// tag::refguide[]
NOT_SPECIFIED
+
}
// end::refguide[]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Property.java b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Property.java
index 65db374..2a94ffd 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Property.java
+++ b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/Property.java
@@ -27,6 +27,10 @@ import java.lang.annotation.Target;
import org.apache.isis.applib.events.domain.PropertyDomainEvent;
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
+import org.apache.isis.applib.services.iactn.Interaction;
+import org.apache.isis.applib.services.publish.ExecutionListener;
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.command.spi.CommandListener;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto;
import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto;
import org.apache.isis.applib.spec.Specification;
@@ -50,12 +54,12 @@ public @interface Property {
// end::refguide[]
/**
- * Whether the property edit should be reified into a
- * {@link org.apache.isis.applib.services.command.Command} object.
+ * Whether property edits, captured as {@link Command}s,
+ * should be dispatched to {@link CommandListener}s.
*/
// tag::refguide[]
- CommandReification command() // <.>
- default CommandReification.NOT_SPECIFIED;
+ CommandDispatch commandDispatch() // <.>
+ default CommandDispatch.NOT_SPECIFIED;
// end::refguide[]
/**
@@ -117,6 +121,16 @@ public @interface Property {
// end::refguide[]
/**
+ * Whether {@link Interaction.Execution}s
+ * (triggered property edits), should be dispatched to
+ * {@link ExecutionListener}s.
+ */
+ // tag::refguide[]
+ ExecutionDispatch executionDispatch() // <.>
+ default ExecutionDispatch.NOT_SPECIFIED;
+
+ // end::refguide[]
+ /**
* For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
*
* <p>
@@ -209,19 +223,6 @@ public @interface Property {
// end::refguide[]
/**
- * Whether the property edit should be published.
- *
- * <p>
- * Requires that an implementation of the {@link org.apache.isis.applib.services.publish.PublisherService}
- * or {@link org.apache.isis.applib.services.publish.PublisherService} is registered with the framework.
- * </p>
- */
- // tag::refguide[]
- Publishing publishing() // <.>
- default Publishing.NOT_SPECIFIED;
-
- // end::refguide[]
- /**
* Regular expression pattern that a value should conform to, and can be formatted as.
*/
// tag::refguide[]
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/TransactionScopeListener.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/TransactionScopeListener.java
index 85364bb..8bbe8cc 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/TransactionScopeListener.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/TransactionScopeListener.java
@@ -33,15 +33,20 @@ import org.apache.isis.applib.annotation.IsisInteractionScope;
// tag::refguide[]
public interface TransactionScopeListener {
+ enum PreCommitPhase {
+ PRE_AUDITING,
+ AUDITING,
+ POST_AUDITING
+ }
+
default void onTransactionStarted() {
// default: do nothing
}
/** triggered during the pre-commit phase in a transaction*/
- default void onTransactionEnding() {
+ default void onPreCommit(PreCommitPhase preCommitPhase) {
// default: do nothing
}
-
}
// end::refguide[]
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/AuditerService.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/EntityAuditListener.java
similarity index 89%
rename from api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/AuditerService.java
rename to api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/EntityAuditListener.java
index 2119854..ff4808f 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/AuditerService.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/EntityAuditListener.java
@@ -30,16 +30,14 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
* Typically entities are marked as auditable using the {@link org.apache.isis.applib.annotation.Audited}
* annotation.
*
- * <p>
- * There are currently two implementations, <tt>AuditingServiceJdo</tt> (part of the
- * <tt>o.a.i.module:isis-module-audit-jdo</tt>) and the demo
- * {@link AuditerServiceLogging}.
+ * <p>
+ * see also {@link EntityAuditLogging}.
*
* <p>
* To use either service, must include on the classpath and also register the service (eg in <tt>application.properties</tt>).
*/
// tag::refguide[]
-public interface AuditerService {
+public interface EntityAuditListener {
boolean isEnabled(); // <.>
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/AuditerServiceLogging.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/EntityAuditLogging.java
similarity index 95%
rename from api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/AuditerServiceLogging.java
rename to api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/EntityAuditLogging.java
index ebd7a23..43dd28d 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/AuditerServiceLogging.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/EntityAuditLogging.java
@@ -35,12 +35,12 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import lombok.extern.log4j.Log4j2;
@Service
-@Named("isisApplib.AuditerServiceLogging")
+@Named("isisApplib.EntityAuditLogging")
@Order(OrderPrecedence.LATE)
@Primary
@Qualifier("logging")
@Log4j2
-public class AuditerServiceLogging implements AuditerService {
+public class EntityAuditLogging implements EntityAuditListener {
@PostConstruct
public void init() {
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/package-info.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/package-info.java
index 9cae3a2..182074b 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/package-info.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/audit/package-info.java
@@ -18,7 +18,7 @@
*/
/**
- * The {@link org.apache.isis.applib.services.audit.AuditerService} auditing service provides a simple mechanism to
+ * The {@link org.apache.isis.applib.services.audit.EntityAuditListener} auditing service provides a simple mechanism to
* capture changes to data. It is called for each property that has changed on any domain object, as a set of pre- and post-values.
*
*
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/command/Command.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/command/Command.java
index 9460a63..897b2cf 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/command/Command.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/command/Command.java
@@ -33,6 +33,9 @@ import org.apache.isis.applib.services.wrapper.control.AsyncControl;
import org.apache.isis.schema.cmd.v2.CommandDto;
import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import lombok.val;
+import lombok.extern.log4j.Log4j2;
/**
* Represents the <i>intention to</i> invoke either an action or modify a property. There can be only one such
@@ -66,6 +69,8 @@ import lombok.Getter;
* {@link Command#getParent() parent}.
* </p>
*/
+@RequiredArgsConstructor
+@Log4j2
// tag::refguide[]
public class Command implements HasUniqueId, HasUsername, HasCommandDto {
@@ -77,15 +82,14 @@ public class Command implements HasUniqueId, HasUsername, HasCommandDto {
* Derived from {@link #getCommandDto()}'s {@link CommandDto#getTransactionId()}
* </p>
*/
- @Override
// tag::refguide[]
- public UUID getUniqueId() { // <.>
- // ...
- // end::refguide[]
- return commandDto != null
- ? UUID.fromString(commandDto.getTransactionId())
- : null;
- }
+ @Getter
+ // end::refguide[]
+ (onMethod_ = {@Override})
+ // tag::refguide[]
+ private final UUID uniqueId; // <.>
+ // end::refguide[]
+
/**
* The user that created the command.
*
@@ -248,7 +252,7 @@ public class Command implements HasUniqueId, HasUsername, HasCommandDto {
* <p>
* This can be used as a hint to decide whether to persist the command
* to a datastore, for example for auditing (though
- * {@link org.apache.isis.applib.services.publish.PublisherService} is
+ * {@link org.apache.isis.applib.services.publish.ExecutionListener} is
* an alternative for that use case) or so that it can be retrieved
* and replayed on another system, eg for regression testing.
* </p>
@@ -261,11 +265,12 @@ public class Command implements HasUniqueId, HasUsername, HasCommandDto {
/**
- * Whether this command has been reified
+ * Whether this command has been enabled for dispatching,
+ * that is {@link CommandListener}s will be notified when this Command completes.
*/
// tag::refguide[]
@Getter
- private boolean reified;
+ private boolean dispatchingEnabled;
// end::refguide[]
private final Updater UPDATER = new Updater();
@@ -281,6 +286,17 @@ public class Command implements HasUniqueId, HasUsername, HasCommandDto {
*/
public void setCommandDto(final CommandDto commandDto) {
Command.this.commandDto = commandDto;
+
+ // even though redundant, but must ensure commandUniqueId == dtoUniqueId
+ val commandUniqueId = Command.this.getUniqueId().toString();
+ val dtoUniqueId = commandDto.getTransactionId();
+
+ if(!commandUniqueId.equals(dtoUniqueId)) {
+ log.warn("setting CommandDto on a Command has side-effects when "
+ + "both their UniqueIds don't match");
+ commandDto.setTransactionId(commandUniqueId);
+ }
+
}
/**
* <b>NOT API</b>: intended to be called only by the framework.
@@ -343,14 +359,9 @@ public class Command implements HasUniqueId, HasUsername, HasCommandDto {
/**
* <b>NOT API</b>: intended to be called only by the framework.
- *
- * <p>
- * Hint that this {@link Command} has resulted in a change of state to the system.
- * Implementations can use this to persist the command, for example.
- * </p>
*/
- public void setReified(boolean reified) {
- Command.this.reified = reified;
+ public void setDispatchingEnabled(boolean dispatchingEnabled) {
+ Command.this.dispatchingEnabled = dispatchingEnabled;
}
};
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/command/spi/CommandServiceListener.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/command/spi/CommandListener.java
similarity index 94%
rename from api/applib/src/main/adoc/modules/applib-svc/examples/services/command/spi/CommandServiceListener.java
rename to api/applib/src/main/adoc/modules/applib-svc/examples/services/command/spi/CommandListener.java
index 602c967..7acf2c7 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/command/spi/CommandServiceListener.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/command/spi/CommandListener.java
@@ -33,7 +33,7 @@ import lombok.extern.log4j.Log4j2;
* SPI
*/
// tag::refguide[]
-public interface CommandServiceListener {
+public interface CommandListener {
/**
* Notifies that the command has completed.
@@ -55,7 +55,7 @@ public interface CommandServiceListener {
@Order(OrderPrecedence.LATE)
@Qualifier("Null")
@Log4j2
- public static class Null implements CommandServiceListener {
+ public static class Null implements CommandListener {
@Override
public void onComplete(Command command) {
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/iactn/Interaction.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/iactn/Interaction.java
index 6a0fc7e..ce9d4ca 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/iactn/Interaction.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/iactn/Interaction.java
@@ -50,6 +50,7 @@ import org.apache.isis.schema.ixn.v2.ObjectCountsDto;
import org.apache.isis.schema.ixn.v2.PropertyEditDto;
import lombok.Getter;
+import lombok.NonNull;
import lombok.val;
import lombok.extern.log4j.Log4j2;
@@ -82,8 +83,8 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
public class Interaction implements HasUniqueId {
- public Interaction(final Command command) {
- this.command = command;
+ public Interaction(final @NonNull UUID uniqueId) {
+ this.command = new Command(uniqueId);
}
@Getter
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/iactn/InteractionContext.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/iactn/InteractionContext.java
index eb92628..10a58c5 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/iactn/InteractionContext.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/iactn/InteractionContext.java
@@ -18,63 +18,38 @@
*/
package org.apache.isis.applib.services.iactn;
-import javax.inject.Inject;
-import javax.inject.Named;
+import java.util.Optional;
-import org.springframework.beans.factory.DisposableBean;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Primary;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Service;
-
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.IsisInteractionScope;
-import org.apache.isis.applib.annotation.OrderPrecedence;
-
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
+import org.apache.isis.commons.internal.exceptions._Exceptions;
/**
- * This service (API and implementation) provides access to context information about any {@link Interaction}.
+ * Provides the current thread's {@link Interaction}.
*
- * This implementation has no UI and there is only one implementation (this class) in applib, so it is annotated with
- * {@link DomainService}. This means that it is automatically registered and
- * available for use; no further configuration is required.
*/
// tag::refguide[]
-@Service
-@Named("isisApplib.InteractionContext")
-@Order(OrderPrecedence.EARLY - 10) // before ChangedObjectService
-@Primary
-@Qualifier("Default")
-@IsisInteractionScope
-@RequiredArgsConstructor(onConstructor_ = {@Inject})
-//@Log4j2
-public class InteractionContext implements DisposableBean {
+public interface InteractionContext {
// end::refguide[]
/**
- * The currently active {@link Interaction} for this thread.
+ * Optionally, the currently active {@link Interaction} for the calling thread.
*/
// tag::refguide[]
- @Getter
- private Interaction interaction; // <1>
+ Optional<Interaction> getInteraction(); // <.>
// end::refguide[]
- /**
- * <b>NOT API</b>: intended to be called only by the framework.
- */
- public void setInteraction(final Interaction interaction) {
- this.interaction = interaction;
+ // -- SHORTCUTS
+
+ default Interaction getInteractionIfAny() {
+ return getInteraction().orElse(null);
}
-
- @Override
- public void destroy() throws Exception {
- setInteraction(null);
+
+ default Interaction getInteractionElseFail() {
+ return getInteraction().orElseThrow(()->_Exceptions
+ .unrecoverable("needs an InteractionSession on current thread"));
}
-
+
// tag::refguide[]
- // ...
+
}
// end::refguide[]
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/metrics/MetricsService.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/metrics/MetricsService.java
index de2d921..4c1f7b8 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/metrics/MetricsService.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/metrics/MetricsService.java
@@ -30,7 +30,7 @@ public interface MetricsService {
* <p>
* Corresponds to the number of times that <code>javax.jdo.listener.LoadLifecycleListener#postLoad(InstanceLifecycleEvent)</code> (or equivalent) is fired.
* <p>
- * Is captured within {@link MemberExecutionDto#getMetrics()} (accessible from {@link InteractionContext#getInteraction()}).
+ * Is captured within {@link MemberExecutionDto#getMetrics()} (accessible from {@link InteractionContext#getInteractionIfAny()}).
*/
// tag::refguide[]
int numberObjectsLoaded(); // <.>
@@ -42,7 +42,7 @@ public interface MetricsService {
* <p>
* Corresponds to the number of times that <code>javax.jdo.listener.DirtyLifecycleListener#preDirty(InstanceLifecycleEvent)</code> (or equivalent) callback is fired.
* <p>
- * Is captured within {@link MemberExecutionDto#getMetrics()} (accessible from {@link InteractionContext#getInteraction()}).
+ * Is captured within {@link MemberExecutionDto#getMetrics()} (accessible from {@link InteractionContext#getInteractionIfAny()}).
*/
// tag::refguide[]
int numberObjectsDirtied(); // <.>
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublishedObjects.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntities.java
similarity index 97%
rename from api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublishedObjects.java
rename to api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntities.java
index 981e0de..72b3cf0 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublishedObjects.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntities.java
@@ -25,7 +25,7 @@ import org.apache.isis.applib.services.HasUsername;
import org.apache.isis.schema.chg.v2.ChangesDto;
// tag::refguide[]
-public interface PublishedObjects
+public interface ChangingEntities
extends HasUniqueId, // <.>
HasUsername { // <.>
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntitiesListener.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntitiesListener.java
new file mode 100644
index 0000000..a09d754
--- /dev/null
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntitiesListener.java
@@ -0,0 +1,9 @@
+package org.apache.isis.applib.services.publish;
+
+public interface ChangingEntitiesListener {
+
+ /**
+ * Publish all changed entities at end of the transaction (during pre-commit phase).
+ */
+ void onEntitiesChanging(ChangingEntities changingEntities); // <.>
+}
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherServiceLogging.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntitiesLogging.java
similarity index 66%
copy from api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherServiceLogging.java
copy to api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntitiesLogging.java
index a8fb060..7993b82 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherServiceLogging.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ChangingEntitiesLogging.java
@@ -26,47 +26,31 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Service;
import org.apache.isis.applib.annotation.OrderPrecedence;
-import org.apache.isis.applib.services.iactn.Interaction;
import org.apache.isis.applib.util.schema.ChangesDtoUtils;
-import org.apache.isis.applib.util.schema.InteractionDtoUtils;
import org.apache.isis.schema.chg.v2.ChangesDto;
-import org.apache.isis.schema.ixn.v2.InteractionDto;
import lombok.extern.log4j.Log4j2;
@Service
-@Named("isisApplib.PublisherServiceLogging")
+@Named("isisApplib.ChangingEntitiesLogging")
@Order(OrderPrecedence.LATE)
@Primary
@Qualifier("Logging")
@Log4j2
-public class PublisherServiceLogging implements PublisherService {
+public class ChangingEntitiesLogging implements ChangingEntitiesListener {
@Override
- public void publish(final Interaction.Execution<?, ?> execution) {
+ public void onEntitiesChanging(final ChangingEntities changingEntities) {
if(!log.isDebugEnabled()) {
return;
}
- final InteractionDto interactionDto =
- InteractionDtoUtils.newInteractionDto(execution, InteractionDtoUtils.Strategy.DEEP);
-
- log.debug(InteractionDtoUtils.toXml(interactionDto));
-
- }
-
- @Override
- public void publish(final PublishedObjects publishedObjects) {
-
- if(!log.isDebugEnabled()) {
- return;
- }
-
- final ChangesDto changesDto = publishedObjects.getDto();
+ final ChangesDto changesDto = changingEntities.getDto();
log.debug(ChangesDtoUtils.toXml(changesDto));
}
+
}
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherService.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ExecutionListener.java
similarity index 76%
rename from api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherService.java
rename to api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ExecutionListener.java
index adb3d39..8027b5e 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherService.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ExecutionListener.java
@@ -27,24 +27,18 @@ import org.apache.isis.applib.util.schema.InteractionDtoUtils;
* Note that re-publishing is not part of this SPI.
*/
// tag::refguide[]
-public interface PublisherService {
+public interface ExecutionListener {
// end::refguide[]
/**
* Publish each {@link Interaction.Execution} immediately after it completes.
* <p>
* Most implementations are expected to use {@link Interaction.Execution#getDto()} to create a serializable
- * XML representation of the execution. The easiest way to do this is using {@link InteractionDtoUtils#newInteractionDto(Interaction.Execution)}. There is
+ * XML representation of the execution. The easiest way to do this is using {@link InteractionDtoUtils#newInteractionDto(Interaction.Execution)}. There is
* some flexibility here, though.
*/
// tag::refguide[]
- void publish(final Interaction.Execution<?, ?> execution); // <.>
-
- // end::refguide[]
- /**
- * Publish all changed entities at end of transaction (during pre-commit phase).
- */
- // tag::refguide[]
- void publish(final PublishedObjects publishedObjects); // <.>
+ void onExecution(Interaction.Execution<?, ?> execution); // <.>
+
}
// end::refguide[]
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherServiceLogging.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ExecutionLogging.java
similarity index 75%
rename from api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherServiceLogging.java
rename to api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ExecutionLogging.java
index a8fb060..06133cb 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/PublisherServiceLogging.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/ExecutionLogging.java
@@ -27,23 +27,21 @@ import org.springframework.stereotype.Service;
import org.apache.isis.applib.annotation.OrderPrecedence;
import org.apache.isis.applib.services.iactn.Interaction;
-import org.apache.isis.applib.util.schema.ChangesDtoUtils;
import org.apache.isis.applib.util.schema.InteractionDtoUtils;
-import org.apache.isis.schema.chg.v2.ChangesDto;
import org.apache.isis.schema.ixn.v2.InteractionDto;
import lombok.extern.log4j.Log4j2;
@Service
-@Named("isisApplib.PublisherServiceLogging")
+@Named("isisApplib.ExecutionLogging")
@Order(OrderPrecedence.LATE)
@Primary
@Qualifier("Logging")
@Log4j2
-public class PublisherServiceLogging implements PublisherService {
+public class ExecutionLogging implements ExecutionListener {
@Override
- public void publish(final Interaction.Execution<?, ?> execution) {
+ public void onExecution(final Interaction.Execution<?, ?> execution) {
if(!log.isDebugEnabled()) {
return;
@@ -56,17 +54,5 @@ public class PublisherServiceLogging implements PublisherService {
}
- @Override
- public void publish(final PublishedObjects publishedObjects) {
-
- if(!log.isDebugEnabled()) {
- return;
- }
-
- final ChangesDto changesDto = publishedObjects.getDto();
-
- log.debug(ChangesDtoUtils.toXml(changesDto));
- }
-
}
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/package-info.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/package-info.java
index e731579..5f3cb74 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/package-info.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/publish/package-info.java
@@ -18,7 +18,7 @@
*/
/**
- * The {@link org.apache.isis.applib.services.publish.PublisherService} API is intended for coarse-grained
+ * The {@link org.apache.isis.applib.services.publish.ExecutionListener} API is intended for coarse-grained
* publish/subscribe for system-to-system interactions, from Apache Isis to some other system. Events that can be
* published are action invocations/property edits, and changed objects. A typical use case is to publish onto a
* pub/sub bus such as ActiveMQ with Camel to keep other systems up to date.
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/session/SessionLoggingService.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/session/SessionLoggingService.java
index f10b74d..f3014fb 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/session/SessionLoggingService.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/session/SessionLoggingService.java
@@ -23,7 +23,7 @@ import java.util.Date;
import org.apache.isis.applib.annotation.Programmatic;
/**
- * Similar to the {@link org.apache.isis.applib.services.audit.AuditerService}, this defines an API to track
+ * Similar to the {@link org.apache.isis.applib.services.audit.EntityAuditListener}, this defines an API to track
* the status of the current sessions ("users logged on") on the system.
*/
// tag::refguide[]
[isis] 04/05: ISIS-2464: remove deprecated FileAccept from @Action
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit f7f09a59f39ad64bd2f8f6ad7bce8f3521ebe792
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 19 12:56:49 2020 +0100
ISIS-2464: remove deprecated FileAccept from @Action
---
.../org/apache/isis/applib/annotation/Action.java | 36 +++++------------
.../apache/isis/applib/annotation/Property.java | 20 ++++-----
.../action/ActionAnnotationFacetFactory.java | 14 -------
.../FileAcceptFacetForActionAnnotation.java | 47 ----------------------
4 files changed, 19 insertions(+), 98 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
index 2da9373..3c7b428 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
@@ -33,8 +33,6 @@ import org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceFo
import org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
import org.apache.isis.applib.services.iactn.Interaction;
import org.apache.isis.applib.services.publish.ExecutionListener;
-import org.apache.isis.applib.value.Blob;
-import org.apache.isis.applib.value.Clob;
/**
* Domain semantics for domain object collection.
@@ -142,6 +140,15 @@ public @interface Action {
// end::refguide[]
/**
+ * Whether {@link Interaction.Execution}s (triggered by action invocations), should
+ * be dispatched to {@link ExecutionListener}s.
+ */
+ // tag::refguide[]
+ ExecutionDispatch executionDispatch() // <.>
+ default ExecutionDispatch.NOT_SPECIFIED;
+
+ // end::refguide[]
+ /**
* Indicates where (in the UI) the action is not visible to the user.
*
* <p>
@@ -160,15 +167,6 @@ public @interface Action {
// end::refguide[]
/**
- * Whether {@link Interaction.Execution}s (triggered by action invocations), should
- * be dispatched to {@link ExecutionListener}s.
- */
- // tag::refguide[]
- ExecutionDispatch executionDispatch() // <.>
- default ExecutionDispatch.NOT_SPECIFIED;
-
- // end::refguide[]
- /**
* Whether the action is restricted to prototyping.
*
* <p>
@@ -198,21 +196,5 @@ public @interface Action {
Class<?> typeOf() // <.>
default Object.class;
- // end::refguide[]
- /**
- * For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
- *
- * <p>
- * The value should be of the form "file_extension|audio/*|video/*|image/*|media_type".
- * </p>
- *
- * @see <a href="http://www.w3schools.com/tags/att_input_accept.asp">http://www.w3schools.com</a>
- *
- * @deprecated - unused; see instead @Parameter and @Property
- */
- @Deprecated
- String fileAccept() // <.>
- default "";
- // tag::refguide[]
}
// end::refguide[]
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
index eaeca61..2a94ffd 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
@@ -121,6 +121,16 @@ public @interface Property {
// end::refguide[]
/**
+ * Whether {@link Interaction.Execution}s
+ * (triggered property edits), should be dispatched to
+ * {@link ExecutionListener}s.
+ */
+ // tag::refguide[]
+ ExecutionDispatch executionDispatch() // <.>
+ default ExecutionDispatch.NOT_SPECIFIED;
+
+ // end::refguide[]
+ /**
* For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
*
* <p>
@@ -213,16 +223,6 @@ public @interface Property {
// end::refguide[]
/**
- * Whether {@link Interaction.Execution}s
- * (triggered property edits), should be dispatched to
- * {@link ExecutionListener}s.
- */
- // tag::refguide[]
- ExecutionDispatch executionDispatch() // <.>
- default ExecutionDispatch.NOT_SPECIFIED;
-
- // end::refguide[]
- /**
* Regular expression pattern that a value should conform to, and can be formatted as.
*/
// tag::refguide[]
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index dbe10f6..c0daee1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -43,7 +43,6 @@ import org.apache.isis.core.metamodel.facets.actions.action.prototype.PrototypeF
import org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetForActionAnnotation;
import org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation;
import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetForActionAnnotation;
-import org.apache.isis.core.metamodel.facets.actions.fileaccept.FileAcceptFacetForActionAnnotation;
import org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetForActionAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.domainevents.ActionDomainEventDefaultFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -76,11 +75,8 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
processTypeOf(processMethodContext, actionIfAny);
processAssociateWith(processMethodContext, actionIfAny);
-
- processFileAccept(processMethodContext, actionIfAny);
}
-
void processExplicit(final ProcessMethodContext processMethodContext, Optional<Action> actionIfAny) {
val holder = processMethodContext.getFacetHolder();
@@ -276,16 +272,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
}
-
- void processFileAccept(final ProcessMethodContext processMethodContext, Optional<Action> actionIfAny) {
-
- val holder = processMethodContext.getFacetHolder();
-
- // check for @Action(fileAccept=...)
- val facet = FileAcceptFacetForActionAnnotation.create(actionIfAny, holder);
- super.addFacet(facet);
-
- }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/fileaccept/FileAcceptFacetForActionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/fileaccept/FileAcceptFacetForActionAnnotation.java
deleted file mode 100644
index ec0b450..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/fileaccept/FileAcceptFacetForActionAnnotation.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.fileaccept;
-
-import java.util.Optional;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.fileaccept.FileAcceptFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.fileaccept.FileAcceptFacetAbstract;
-
-public class FileAcceptFacetForActionAnnotation extends FileAcceptFacetAbstract {
-
- public static FileAcceptFacet create(
- final Optional<Action> actionIfAny,
- final FacetHolder holder) {
-
- return actionIfAny
- .map(Action::fileAccept)
- .filter(_Strings::isNotEmpty)
- .map(fileAccept -> new FileAcceptFacetForActionAnnotation(fileAccept, holder))
- .orElse(null);
- }
-
- private FileAcceptFacetForActionAnnotation(final String value, final FacetHolder holder) {
- super(value, holder);
- }
-
-}
[isis] 05/05: ISIS-2464: update adoc ref guide for @Action an
@Property (1)
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 11cf9309aa5e7b0fd1a4d19e7ea9460fe9849f07
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 19 13:18:27 2020 +0100
ISIS-2464: update adoc ref guide for @Action an @Property (1)
---
.../src/main/adoc/modules/applib-ant/pages/Action.adoc | 14 +++++++-------
.../pages/Action/{command.adoc => commandDispatch.adoc} | 0
.../Action/{publishing.adoc => executionDispatch.adoc} | 0
.../src/main/adoc/modules/applib-ant/pages/Property.adoc | 16 ++++++++--------
.../Property/{command.adoc => commandDispatch.adoc} | 0
.../Property/{publishing.adoc => executionDispatch.adoc} | 0
6 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Action.adoc
index 145ac50..131d1ea 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/Action.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/Action.adoc
@@ -20,7 +20,7 @@ associates an action with another property or collection of the action.
the ordering of multiple actions associated with another property/collection.
<.> xref:refguide:applib-ant:Action.adoc#command[`command()`]
-whether the action invocation should be reified into a `Command`, typically so it can be logged using the xref:extensions:command-log:about.adoc[Command Log] extension (for auditing or for regression testing using xref:extensions:command-replay:about.adoc[Command Replay]).
+Whether the action invocation should be dispatched to registered xref:refguide:applib-svc:ExecutionListener.adoc[`CommandListener`]s as a `Command` object, that captures the details of this edit. Typically so it can be logged using the xref:extensions:command-log:about.adoc[Command Log] extension (for auditing or for regression testing using xref:extensions:command-replay:about.adoc[Command Replay]).
<.> `commandDtoProcessor()`
+
@@ -30,13 +30,13 @@ If the xref:extensions:command-replay:about.adoc[Command Replay] extension is be
+
The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to broadcast the action's business rule checking (hide, disable, validate) and its invocation (pre-execute and post-execute).
-<.> xref:refguide:applib-ant:Action.adoc#hidden[`hidden()`]
+<.> xref:refguide:applib-ant:Action.adoc#executionDispach[`executionDispach()`]
+
-Indicates where (in the UI) the action should be hidden from the user.
+Whether the action invocation should be dispatched to registered xref:refguide:applib-svc:ExecutionListener.adoc[`ExecutionListener`]s as an `Execution` object, that captures the details of this invocation.
-<.> xref:refguide:applib-ant:Action.adoc#publishing[`publishing()`]
+<.> xref:refguide:applib-ant:Action.adoc#hidden[`hidden()`]
+
-Whether the action invocation should be published to the registered xref:refguide:applib-svc:PublisherService.adoc[`PublisherService`].
+Indicates where (in the UI) the action should be hidden from the user.
<.> xref:refguide:applib-ant:Action.adoc#restrictTo[`restrictTo()`]
+
@@ -80,10 +80,10 @@ public class ToDoItem {
include::Action/associateWith.adoc[leveloffset=+1]
-include::Action/command.adoc[leveloffset=+1]
+include::Action/commandDispatch.adoc[leveloffset=+1]
include::Action/domainEvent.adoc[leveloffset=+1]
+include::Action/executionDispatch.adoc[leveloffset=+1]
include::Action/hidden.adoc[leveloffset=+1]
-include::Action/publishing.adoc[leveloffset=+1]
include::Action/restrictTo.adoc[leveloffset=+1]
include::Action/semantics.adoc[leveloffset=+1]
include::Action/typeOf.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/command.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Action/commandDispatch.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/command.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages/Action/commandDispatch.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/publishing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Action/executionDispatch.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/publishing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages/Action/executionDispatch.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Property.adoc
index 7c5a83b..95158a8 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/Property.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/Property.adoc
@@ -13,9 +13,9 @@ It is also possible to apply the annotation to actions of domain services that a
----
include::refguide:applib-ant:example$annotation/Property.java[tags="refguide"]
----
-<.> xref:refguide:applib-ant:Property.adoc#command[`command()`]
+<.> xref:refguide:applib-ant:Property.adoc#commandDispatch[`commandDispatch()`]
+
-Whether the property edit should be reified into a `Command`, typically so it can be logged using the xref:extensions:command-log:about.adoc[Command Log] extension (for auditing or for regression testing using xref:extensions:command-replay:about.adoc[Command Replay]).
+Whether the editing of a property should be dispatched to registered xref:refguide:applib-svc:ExecutionListener.adoc[`CommandListener`]s as a `Command` object, that captures the details of this edit. Typically so it can be logged using the xref:extensions:command-log:about.adoc[Command Log] extension (for auditing or for regression testing using xref:extensions:command-replay:about.adoc[Command Replay]).
<.> `commandDtoProcessor()`
+
@@ -33,6 +33,10 @@ Whether a property can be modified or cleared from within the UI
+
The reason that this property cannot be modified.
+<.> xref:refguide:applib-ant:Property.adoc#executionDispatch[`executionDispatch()`]
++
+Whether the editing of a property should be dispatched to registered xref:refguide:applib-svc:ExecutionListener.adoc[`ExecutionListener`]s as an `Execution` object, that captures the details of this edit.
+
<.> xref:refguide:applib-ant:Property.adoc#fileAccept[`fileAccept()`]
+
Hints the file type (media type or file extension) to be uploaded to a xref:applib-classes:value-types.adoc#Blob[`Blob`]
@@ -68,10 +72,6 @@ TIP: In many/most cases you should however use xref:refguide:applib-ant:Column.a
+
Indicates that owning object is a view model that is acting as a projection of the underlying entity referenced by this property.
-<.> xref:refguide:applib-ant:Property.adoc#publishing[`publishing()`]
-+
-Determines whether the editing of a property should be published.
-
<.> xref:refguide:applib-ant:Property.adoc#regexPattern[`regexPattern()`]
+
Validates the contents of a string parameter against the regular expression pattern
@@ -126,9 +126,10 @@ so that boilerplate-busting tools such as link:https://projectlombok.org/[Projec
-include::Property/command.adoc[leveloffset=+1]
+include::Property/commandDispatch.adoc[leveloffset=+1]
include::Property/domainEvent.adoc[leveloffset=+1]
include::Property/editing.adoc[leveloffset=+1]
+include::Property/executionDispatch.adoc[leveloffset=+1]
include::Property/fileAccept.adoc[leveloffset=+1]
include::Property/hidden.adoc[leveloffset=+1]
include::Property/maxLength.adoc[leveloffset=+1]
@@ -136,5 +137,4 @@ include::Property/mustSatisfy.adoc[leveloffset=+1]
include::Property/mementoSerialization.adoc[leveloffset=+1]
include::Property/optionality.adoc[leveloffset=+1]
include::Property/projecting.adoc[leveloffset=+1]
-include::Property/publishing.adoc[leveloffset=+1]
include::Property/regexPattern.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/command.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Property/commandDispatch.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/command.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages/Property/commandDispatch.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/publishing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Property/executionDispatch.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/publishing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages/Property/executionDispatch.adoc