You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2022/08/29 10:11:32 UTC

[isis] branch ISIS-3189 created (now becbcf2088)

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a change to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git


      at becbcf2088 Merge branch 'ISIS-3189'

This branch includes the following new commits:

     new 120e10f41d ISIS-3161: improves docs for JPA weaving
     new 6a8dae31b1 Merge branch 'ISIS-3161'
     new 08295177bd ISIS-3192: cleans up poms
     new ab80c50ec1 Merge branch 'ISIS-3192'
     new 1331ac607d ISIS-3190: excludes all non-annotated methods from metamodel if ENCAPSULATION_ENABLED is set as the introspection policy.
     new ee89d943ee Merge branch 'ISIS-3190'
     new 64bc94278f ISIS-3191: fixes namespace for sessionlog
     new a969a6dc4c Merge branch 'ISIS-3191'
     new 71f552ca3f ISIS-3187: adds missing roles/permissions, grants to secman-admin
     new 4079486392 ISIS-3187: improves docs, is all.
     new 59db361691 Merge branch 'ISIS-3187'
     new 088c7a8b70 ISIS-3188: adds missing @MemberSupport; formatting changes.
     new 402f4c507c Merge branch 'ISIS-3188'
     new 4eacff8bff ISIS-3189: renames IdStringifiers that are based on DN-specific classes (XxxId) rather than JDO (XxxIdentity), and fixes DnStringIdValueSemantics to use StringId rather than StringIdentifier.
     new 5c5b947060 ISIS-3189: fixes typo in error message
     new 8be0e478b8 ISIS-3189: removes unused imports, is all.
     new becbcf2088 Merge branch 'ISIS-3189'

The 17 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.



[isis] 16/17: ISIS-3189: removes unused imports, is all.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 8be0e478b87d25b80a3b8b94e09588c1fd089ae5
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:31:31 2022 +0100

    ISIS-3189: removes unused imports, is all.
    
    (cherry picked from commit 2f243f2c9243d4cc9717ff47af58821b4c542ff4)
---
 .../IsisModulePersistenceJdoDatanucleusMixins.java | 50 ----------------------
 1 file changed, 50 deletions(-)

diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.java
index 704fe633e5..360e2b9f42 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.java
@@ -18,65 +18,15 @@
  */
 package org.apache.isis.persistence.jdo.datanucleus;
 
-import java.util.Collections;
-import java.util.List;
-
-import javax.jdo.JDOException;
-import javax.jdo.PersistenceManagerFactory;
-import javax.sql.DataSource;
-
-import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
-import org.datanucleus.metadata.PersistenceUnitMetaData;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
-import org.springframework.context.annotation.Primary;
-import org.springframework.dao.support.PersistenceExceptionTranslator;
-import org.springframework.transaction.interceptor.TransactionInterceptor;
 
-import org.apache.isis.commons.internal.assertions._Assert;
-import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.core.config.beans.IsisBeanTypeRegistry;
-import org.apache.isis.core.config.beans.aoppatch.TransactionInterceptorFactory;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.services.objectlifecycle.ObjectLifecyclePublisher;
-import org.apache.isis.persistence.jdo.datanucleus.changetracking.JdoLifecycleListener;
 import org.apache.isis.persistence.jdo.datanucleus.config.DatanucleusSettings;
-import org.apache.isis.persistence.jdo.datanucleus.dialect.DnJdoDialect;
-import org.apache.isis.persistence.jdo.datanucleus.entities.DnEntityStateProvider;
-import org.apache.isis.persistence.jdo.datanucleus.jdosupport.JdoSupportServiceDefault;
 import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong;
 import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp;
 import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoByteIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoByteIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoCharIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoCharIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdImplValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreUniqueLongIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoObjectIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoObjectIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoShortIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoShortIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoStringIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoStringIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.integration.IsisModulePersistenceJdoIntegration;
-import org.apache.isis.persistence.jdo.provider.config.JdoEntityDiscoveryListener;
-import org.apache.isis.persistence.jdo.spring.integration.JdoDialect;
-import org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
-import org.apache.isis.persistence.jdo.spring.integration.LocalPersistenceManagerFactoryBean;
-import org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersistenceManagerFactoryProxy;
 
-import lombok.SneakyThrows;
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**


[isis] 13/17: Merge branch 'ISIS-3188'

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 402f4c507c205762078a1dc79cd1f69d3c3aa73b
Merge: 59db361691 088c7a8b70
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 11:08:39 2022 +0100

    Merge branch 'ISIS-3188'

 .../mixins/metamodel/Object_logicalTypeName.java   |  2 +-
 .../mixins/metamodel/Object_objectIdentifier.java  |  2 +-
 .../services/bookmark/BookmarkHolder_lookup.java   |  3 +-
 .../services/bookmark/BookmarkHolder_object.java   |  3 +-
 .../commandlog/applib/app/CommandLogMenu.java      |  2 +-
 .../dom/mixins/CommandLogEntry_childCommands.java  |  3 +-
 .../mixins/CommandLogEntry_openResultObject.java   |  3 +-
 .../mixins/CommandLogEntry_siblingCommands.java    |  3 +-
 .../contributions/ExcelDemoToDoItem_export.java    |  3 +-
 .../contributions/ExcelDemoToDoItem_export2.java   |  3 +-
 .../ExecutionLogEntry_copyToOutbox.java            |  3 +-
 .../ApplicationFeatureViewModel_permissions.java   |  3 +-
 .../permission/dom/ApplicationPermission.java      | 10 +++----
 .../dom/mixins/ApplicationRole_addPermission.java  |  2 +-
 .../secman/applib/user/dom/ApplicationUser.java    | 32 +++++++++-------------
 .../user/dom/mixins/ApplicationUser_timeZone.java  |  4 +--
 .../mixins/ApplicationUser_updateAccountType.java  |  2 +-
 .../mixins/Persistable_datanucleusVersionLong.java |  2 +-
 .../Persistable_datanucleusVersionTimestamp.java   |  2 +-
 .../model/bad/AmbiguousMixinAnnotations.java       |  6 ++--
 .../commons/applib/mixins/Object_impersonate.java  |  2 +-
 .../applib/mixins/Object_impersonateWithRoles.java |  2 +-
 22 files changed, 44 insertions(+), 53 deletions(-)


[isis] 06/17: Merge branch 'ISIS-3190'

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit ee89d943eed16e308eb679c1006212d56e2efb35
Merge: ab80c50ec1 1331ac607d
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 11:05:08 2022 +0100

    Merge branch 'ISIS-3190'

 .../beans/IsisBeanTypeClassifierDefault.java       |  6 +--
 .../progmodel/ProgrammingModelConstants.java       | 43 +++++++++++++++++-----
 .../_testing/MetaModelContext_forTesting.java      |  2 +-
 .../RemoveAnnotatedMethodsFacetFactory.java        | 40 ++++++++++++++++----
 .../classsubstitutor/ClassSubstitutorAbstract.java |  2 +-
 5 files changed, 70 insertions(+), 23 deletions(-)


[isis] 09/17: ISIS-3187: adds missing roles/permissions, grants to secman-admin

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 71f552ca3f29e94526f3c493d39f3717106189f1
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:08:55 2022 +0100

    ISIS-3187: adds missing roles/permissions, grants to secman-admin
    
    (cherry picked from commit 01169a4a3385ae5c5b292778e4f0971c165a5fbd)
---
 ...va => IsisExtAuditTrailRoleAndPermissions.java} |  8 ++---
 ...va => IsisExtCommandLogRoleAndPermissions.java} | 10 +++---
 ... => IsisExtExecutionLogRoleAndPermissions.java} |  8 ++---
 ... IsisExtExecutionOutboxRoleAndPermissions.java} |  8 ++---
 .../seed/IsisExtSecmanAdminRoleAndPermissions.java |  6 ++--
 ...va => IsisExtSessionLogRoleAndPermissions.java} |  8 ++---
 .../scripts/SeedUsersAndRolesFixtureScript.java    | 41 ++++++++++++++++------
 .../applib/user/seed/IsisExtSecmanAdminUser.java   | 13 +++++--
 8 files changed, 66 insertions(+), 36 deletions(-)

diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtAuditTrailRoleAndPermissions.java
similarity index 84%
copy from extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java
copy to extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtAuditTrailRoleAndPermissions.java
index 8c02b4d621..13d14c7af4 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtAuditTrailRoleAndPermissions.java
@@ -29,14 +29,14 @@ import org.apache.isis.extensions.secman.applib.role.fixtures.AbstractRoleAndPer
  *
  * @since 2.0 {@index}
  */
-public class IsisExtCommandReplayPrimaryRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
+public class IsisExtAuditTrailRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
 
-    public static final String NAMESPACE = "isis.ext.commandReplayPrimary";
+    public static final String NAMESPACE = "isis.ext.auditTrail";
 
     public static final String ROLE_NAME = NAMESPACE.replace(".","-");
 
-    public IsisExtCommandReplayPrimaryRoleAndPermissions() {
-        super(ROLE_NAME, "Access to the command replay primary menu");
+    public IsisExtAuditTrailRoleAndPermissions() {
+        super(ROLE_NAME, "Access to the audit trail actions");
     }
 
     @Override
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplaySecondaryRoleAndPermissions.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandLogRoleAndPermissions.java
similarity index 82%
rename from extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplaySecondaryRoleAndPermissions.java
rename to extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandLogRoleAndPermissions.java
index 47a4d3853c..4df2281466 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplaySecondaryRoleAndPermissions.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandLogRoleAndPermissions.java
@@ -25,18 +25,18 @@ import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermis
 import org.apache.isis.extensions.secman.applib.role.fixtures.AbstractRoleAndPermissionsFixtureScript;
 
 /**
- * Access to the command replay secondary menu.
+ * Access to the command replay primary menu.
  *
  * @since 2.0 {@index}
  */
-public class IsisExtCommandReplaySecondaryRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
+public class IsisExtCommandLogRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
 
-    public static final String NAMESPACE = "isis.ext.commandReplaySecondary";
+    public static final String NAMESPACE = "isis.ext.commandLog";
 
     public static final String ROLE_NAME = NAMESPACE.replace(".","-");
 
-    public IsisExtCommandReplaySecondaryRoleAndPermissions() {
-        super(ROLE_NAME, "Access to the command replay secondary menu");
+    public IsisExtCommandLogRoleAndPermissions() {
+        super(ROLE_NAME, "Access to the command log actions");
     }
 
     @Override
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtExecutionLogRoleAndPermissions.java
similarity index 84%
copy from extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java
copy to extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtExecutionLogRoleAndPermissions.java
index 8c02b4d621..511100187f 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtExecutionLogRoleAndPermissions.java
@@ -29,14 +29,14 @@ import org.apache.isis.extensions.secman.applib.role.fixtures.AbstractRoleAndPer
  *
  * @since 2.0 {@index}
  */
-public class IsisExtCommandReplayPrimaryRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
+public class IsisExtExecutionLogRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
 
-    public static final String NAMESPACE = "isis.ext.commandReplayPrimary";
+    public static final String NAMESPACE = "isis.ext.executionLog";
 
     public static final String ROLE_NAME = NAMESPACE.replace(".","-");
 
-    public IsisExtCommandReplayPrimaryRoleAndPermissions() {
-        super(ROLE_NAME, "Access to the command replay primary menu");
+    public IsisExtExecutionLogRoleAndPermissions() {
+        super(ROLE_NAME, "Access to the execution log actions");
     }
 
     @Override
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtExecutionOutboxRoleAndPermissions.java
similarity index 84%
copy from extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java
copy to extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtExecutionOutboxRoleAndPermissions.java
index 8c02b4d621..8fd179d4ea 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtExecutionOutboxRoleAndPermissions.java
@@ -29,14 +29,14 @@ import org.apache.isis.extensions.secman.applib.role.fixtures.AbstractRoleAndPer
  *
  * @since 2.0 {@index}
  */
-public class IsisExtCommandReplayPrimaryRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
+public class IsisExtExecutionOutboxRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
 
-    public static final String NAMESPACE = "isis.ext.commandReplayPrimary";
+    public static final String NAMESPACE = "isis.ext.executionOutbox";
 
     public static final String ROLE_NAME = NAMESPACE.replace(".","-");
 
-    public IsisExtCommandReplayPrimaryRoleAndPermissions() {
-        super(ROLE_NAME, "Access to the command replay primary menu");
+    public IsisExtExecutionOutboxRoleAndPermissions() {
+        super(ROLE_NAME, "Access to the execution outbox actions");
     }
 
     @Override
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtSecmanAdminRoleAndPermissions.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtSecmanAdminRoleAndPermissions.java
index 9dbcbe7e8f..f20995b9e8 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtSecmanAdminRoleAndPermissions.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtSecmanAdminRoleAndPermissions.java
@@ -29,6 +29,7 @@ import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.core.config.IsisConfiguration.Extensions.Secman;
 import org.apache.isis.core.config.IsisConfiguration.Extensions.Secman.Seed.Admin;
 import org.apache.isis.core.config.IsisConfiguration.Extensions.Secman.Seed.Admin.NamespacePermissions;
+import org.apache.isis.extensions.secman.applib.IsisModuleExtSecmanApplib;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionRule;
 import org.apache.isis.extensions.secman.applib.role.fixtures.AbstractRoleAndPermissionsFixtureScript;
@@ -60,8 +61,9 @@ public class IsisExtSecmanAdminRoleAndPermissions extends AbstractRoleAndPermiss
         newPermissions(
                 ApplicationPermissionRule.ALLOW,
                 ApplicationPermissionMode.CHANGING,
-                Can.ofCollection(adminInitialPackagePermissions)
-                        .map(ApplicationFeatureId::newNamespace));
+                Can.of(IsisModuleExtSecmanApplib.NAMESPACE).addAll(Can.ofCollection(adminInitialPackagePermissions))
+                    .map(ApplicationFeatureId::newNamespace)
+        );
     }
 
     // -- HELPER
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtSessionLogRoleAndPermissions.java
similarity index 84%
rename from extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java
rename to extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtSessionLogRoleAndPermissions.java
index 8c02b4d621..40398ee5a6 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtCommandReplayPrimaryRoleAndPermissions.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/seed/IsisExtSessionLogRoleAndPermissions.java
@@ -29,14 +29,14 @@ import org.apache.isis.extensions.secman.applib.role.fixtures.AbstractRoleAndPer
  *
  * @since 2.0 {@index}
  */
-public class IsisExtCommandReplayPrimaryRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
+public class IsisExtSessionLogRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
 
-    public static final String NAMESPACE = "isis.ext.commandReplayPrimary";
+    public static final String NAMESPACE = "isis.ext.sessionLog";
 
     public static final String ROLE_NAME = NAMESPACE.replace(".","-");
 
-    public IsisExtCommandReplayPrimaryRoleAndPermissions() {
-        super(ROLE_NAME, "Access to the command replay primary menu");
+    public IsisExtSessionLogRoleAndPermissions() {
+        super(ROLE_NAME, "Access to the session log actions");
     }
 
     @Override
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.java
index 6393a20273..f3f76803cd 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.java
@@ -23,11 +23,14 @@ import javax.inject.Inject;
 import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.extensions.secman.applib.role.seed.IsisAppFeatureRoleAndPermissions;
 import org.apache.isis.extensions.secman.applib.role.seed.IsisConfigurationRoleAndPermissions;
-import org.apache.isis.extensions.secman.applib.role.seed.IsisExtCommandReplayPrimaryRoleAndPermissions;
-import org.apache.isis.extensions.secman.applib.role.seed.IsisExtCommandReplaySecondaryRoleAndPermissions;
+import org.apache.isis.extensions.secman.applib.role.seed.IsisExtAuditTrailRoleAndPermissions;
+import org.apache.isis.extensions.secman.applib.role.seed.IsisExtCommandLogRoleAndPermissions;
+import org.apache.isis.extensions.secman.applib.role.seed.IsisExtExecutionLogRoleAndPermissions;
+import org.apache.isis.extensions.secman.applib.role.seed.IsisExtExecutionOutboxRoleAndPermissions;
 import org.apache.isis.extensions.secman.applib.role.seed.IsisExtH2ConsoleRoleAndPermissions;
 import org.apache.isis.extensions.secman.applib.role.seed.IsisExtSecmanAdminRoleAndPermissions;
 import org.apache.isis.extensions.secman.applib.role.seed.IsisExtSecmanRegularUserRoleAndPermissions;
+import org.apache.isis.extensions.secman.applib.role.seed.IsisExtSessionLogRoleAndPermissions;
 import org.apache.isis.extensions.secman.applib.role.seed.IsisPersistenceJdoMetaModelRoleAndPermissions;
 import org.apache.isis.extensions.secman.applib.role.seed.IsisSudoImpersonateRoleAndPermissions;
 import org.apache.isis.extensions.secman.applib.role.seed.IsisViewerRestfulObjectsSwaggerRoleAndPermissions;
@@ -62,23 +65,39 @@ public class SeedUsersAndRolesFixtureScript extends FixtureScript {
         // global tenancy
         executionContext.executeChild(this, new GlobalTenancy());
 
-        // secman (admin and regular users)
-        executionContext.executeChildren(this,
-                new IsisExtSecmanAdminRoleAndPermissions(secmanConfig),
-                new IsisExtSecmanAdminUser(secmanConfig),
-                new IsisExtSecmanRegularUserRoleAndPermissions(secmanConfig));
-
-        // other modules
+        // modules
         executionContext.executeChildren(this,
                 new IsisAppFeatureRoleAndPermissions(),
                 new IsisPersistenceJdoMetaModelRoleAndPermissions(),
-                new IsisExtCommandReplayPrimaryRoleAndPermissions(),
-                new IsisExtCommandReplaySecondaryRoleAndPermissions(),
+                new IsisExtAuditTrailRoleAndPermissions(),
+                new IsisExtCommandLogRoleAndPermissions(),
+                new IsisExtExecutionLogRoleAndPermissions(),
+                new IsisExtExecutionOutboxRoleAndPermissions(),
+                new IsisExtSessionLogRoleAndPermissions(),
                 new IsisExtH2ConsoleRoleAndPermissions(),
                 new IsisViewerRestfulObjectsSwaggerRoleAndPermissions(),
                 new IsisSudoImpersonateRoleAndPermissions(),
                 new IsisConfigurationRoleAndPermissions()
                 );
+
+        // secman module (admin and regular users role, and secman-admin superuser)
+        executionContext.executeChildren(this,
+                new IsisExtSecmanAdminRoleAndPermissions(secmanConfig),
+                new IsisExtSecmanRegularUserRoleAndPermissions(secmanConfig),
+                new IsisExtSecmanAdminUser(secmanConfig,
+                        IsisAppFeatureRoleAndPermissions.ROLE_NAME,
+                        IsisPersistenceJdoMetaModelRoleAndPermissions.ROLE_NAME,
+                        IsisExtAuditTrailRoleAndPermissions.ROLE_NAME,
+                        IsisExtCommandLogRoleAndPermissions.ROLE_NAME,
+                        IsisExtExecutionLogRoleAndPermissions.ROLE_NAME,
+                        IsisExtExecutionOutboxRoleAndPermissions.ROLE_NAME,
+                        IsisExtSessionLogRoleAndPermissions.ROLE_NAME,
+                        IsisExtH2ConsoleRoleAndPermissions.ROLE_NAME,
+                        IsisViewerRestfulObjectsSwaggerRoleAndPermissions.ROLE_NAME,
+                        IsisSudoImpersonateRoleAndPermissions.ROLE_NAME,
+                        IsisConfigurationRoleAndPermissions.ROLE_NAME)
+                );
+
     }
 
 }
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/seed/IsisExtSecmanAdminUser.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/seed/IsisExtSecmanAdminUser.java
index a3bc8e40c1..92d2c39b40 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/seed/IsisExtSecmanAdminUser.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/seed/IsisExtSecmanAdminUser.java
@@ -18,6 +18,8 @@
  */
 package org.apache.isis.extensions.secman.applib.user.seed;
 
+import java.util.Collection;
+
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.core.config.IsisConfiguration.Extensions.Secman;
 import org.apache.isis.extensions.secman.applib.tenancy.seed.GlobalTenancy;
@@ -30,13 +32,20 @@ import org.apache.isis.extensions.secman.applib.user.fixtures.AbstractUserAndRol
  */
 public class IsisExtSecmanAdminUser extends AbstractUserAndRolesFixtureScript {
 
-    public IsisExtSecmanAdminUser(final Secman config) {
+    public IsisExtSecmanAdminUser(final Secman config, String... roleNames) {
         super(
                 config.getSeed().getAdmin().getUserName(),
                 config.getSeed().getAdmin().getPassword(),
                 null,
                 GlobalTenancy.TENANCY_PATH,
                 AccountType.LOCAL,
-                Can.of(config.getSeed().getAdmin().getRoleName()));
+                Can.of(
+                        config.getSeed().getAdmin().getRoleName(),
+                        config.getSeed().getRegularUser().getRoleName()
+                ).addAll(
+                        Can.of(roleNames)
+                )
+        );
     }
+
 }


[isis] 01/17: ISIS-3161: improves docs for JPA weaving

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 120e10f41d1b58e5eb56ad9be5a0ea528ac798bf
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:53:33 2022 +0100

    ISIS-3161: improves docs for JPA weaving
    
    (cherry picked from commit 1b713861fd0fa27c07cadb6d975c3260ee2a4e9a)
---
 .../jpa/adoc/modules/ROOT/pages/weaving.adoc       | 76 +++++++++++++++++++++-
 1 file changed, 73 insertions(+), 3 deletions(-)

diff --git a/persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc b/persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc
index b65d86d6c8..41527e8302 100644
--- a/persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc
+++ b/persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc
@@ -6,13 +6,83 @@
 A responsibility of all ORMs is lazy loading of related objects (so as not to load all the data in one go), and tracking of objects as they are modified (to flush back to the database).
 
 With JPA, this is typically done dynamically at runtime, using a Java agent.
-The xref:docs:starters:simpleapp.adoc[SimpleApp] and xref:docs:starters:helloworld.adoc[HelloWorld] starter apps demonstrate this, describing how to obtain the required `spring-instrument.jar` file.
+The xref:docs:starters:simpleapp.adoc[SimpleApp] and xref:docs:starters:helloworld.adoc[HelloWorld] starter apps demonstrate this.
+See xref:#runtime[below] for further details on how to set this up.
 
-To run, use:
 
+== Configuration
+
+There are a number of EclipseLink configuration options to set or optionally to be set to enable weaving:
+
+* at a minimum, set xref:refguide:config:sections/eclipselink.adoc#eclipselink.weaving[eclipselink.weaving]:
++
+[source,properties]
+.application.properties
+----
+eclipselink.weaving=true
+----
+
+* in addition, optionally set the following (their default values are shown):
++
+[source,properties]
+.application.properties
+----
+eclipselink.weaving.changetracking=true
+eclipselink.weaving.eager=false
+eclipselink.weaving.fetchgroups=true
+eclipselink.weaving.internal=true
+eclipselink.weaving.lazy=true
+----
++
+These all default to `true` except for xref:refguide:config:sections/eclipselink.adoc#eclipselink.weaving.eager[eclipselink.weaving.eager], which you should only enable if you fully understand its consequences.
+
+The weaving process modifies the classes themselves, introducing additional `public` methods.
+Depending upon the value of xref:refguide:config:sections/isis.core.meta-model.introspector.adoc#isis.core.meta-model.introspector.policy[isis.core.meta-model.introspector.policy] configuration property, these could be picked up as part of the framework's metamodel, which is not what you want.
+
+Therefore, to use JPA, you will also need to change this configuration property, either:
+
+* to xref:refguide:applib:index/annotation/Introspection.adoc#ANNOTATION_REQUIRED[IntrospectionPolicy.ANNOTATION_REQUIRED]
++
+[source,properties]
+.application.properties
+----
+isis.core.meta-model.introspector.policy=annotation_required
+----
++
+or,
+
+* to xref:refguide:applib:index/annotation/Introspection.adoc#ENCAPSULATION_ENABLED[IntrospectionPolicy.ENCAPSULATION_ENABLED]
++
+[source,properties]
+.application.properties
+----
+isis.core.meta-model.introspector.policy=encapsulation_enabled
+----
+
+The xref:docs:starters:simpleapp.adoc[SimpleApp] and xref:docs:starters:helloworld.adoc[HelloWorld] starter apps both use the latter option.
+
+[#runtime]
+== Runtime
+
+As well as setting the above configuration options, it's also neceesary to run the application with the `spring-instrument.jar` Java agent, which actually performs the weaving at load-time.
+
+* Download this jar file using:
++
 [source,bash]
 ----
--javaagent:lib/spring-instrument.jar
+mvn dependency:get -DgroupId=org.springframework -DartifactId=spring-instrument -Dversion=XXX
 ----
+=
+changing "XXX" to the value that `${spring-framework.version}` resolves to, from the Isis parent `pom.xml`.
 
+* Move and rename this file, eg to `lib/spring-instrument.jar`.
+
+* Run the application using:
++
+[source,bash]
+----
+-javaagent:lib/spring-instrument.jar
+----
++
 as a JVM option.
+


[isis] 12/17: ISIS-3188: adds missing @MemberSupport; formatting changes.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 088c7a8b70e324cd2e71799cffb2ff467de82155
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:13:49 2022 +0100

    ISIS-3188: adds missing @MemberSupport; formatting changes.
    
    (cherry picked from commit 0105c96afb57e8363c3c3b26f170075db0a8c7f7)
---
 .../mixins/metamodel/Object_logicalTypeName.java   |  2 +-
 .../mixins/metamodel/Object_objectIdentifier.java  |  2 +-
 .../services/bookmark/BookmarkHolder_lookup.java   |  3 +-
 .../services/bookmark/BookmarkHolder_object.java   |  3 +-
 .../commandlog/applib/app/CommandLogMenu.java      |  2 +-
 .../dom/mixins/CommandLogEntry_childCommands.java  |  3 +-
 .../mixins/CommandLogEntry_openResultObject.java   |  3 +-
 .../mixins/CommandLogEntry_siblingCommands.java    |  3 +-
 .../contributions/ExcelDemoToDoItem_export.java    |  3 +-
 .../contributions/ExcelDemoToDoItem_export2.java   |  3 +-
 .../ExecutionLogEntry_copyToOutbox.java            |  3 +-
 .../ApplicationFeatureViewModel_permissions.java   |  3 +-
 .../permission/dom/ApplicationPermission.java      | 10 +++----
 .../dom/mixins/ApplicationRole_addPermission.java  |  2 +-
 .../secman/applib/user/dom/ApplicationUser.java    | 32 +++++++++-------------
 .../user/dom/mixins/ApplicationUser_timeZone.java  |  4 +--
 .../mixins/ApplicationUser_updateAccountType.java  |  2 +-
 .../mixins/Persistable_datanucleusVersionLong.java |  2 +-
 .../Persistable_datanucleusVersionTimestamp.java   |  2 +-
 .../model/bad/AmbiguousMixinAnnotations.java       |  6 ++--
 .../commons/applib/mixins/Object_impersonate.java  |  2 +-
 .../applib/mixins/Object_impersonateWithRoles.java |  2 +-
 22 files changed, 44 insertions(+), 53 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_logicalTypeName.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_logicalTypeName.java
index 980d9aea7f..a669d1115d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_logicalTypeName.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_logicalTypeName.java
@@ -72,7 +72,7 @@ public class Object_logicalTypeName {
     @Action(
             domainEvent = ActionDomainEvent.class   // this is a workaround to allow the mixin to be subscribed to (ISIS-2650)
     )
-    public String prop() {
+    @MemberSupport public String prop() {
         val bookmark = bookmarkService.bookmarkForElseFail(this.holder);
         return bookmark.getLogicalTypeName();
     }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
index 2e3435404a..49c7a93970 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
@@ -72,7 +72,7 @@ public class Object_objectIdentifier {
     @Action(
             domainEvent = Object_objectIdentifier.ActionDomainEvent.class   // this is a workaround to allow the mixin to be subscribed to (ISIS-2650)
     )
-    public String prop() {
+    @MemberSupport public String prop() {
         val bookmark = bookmarkService.bookmarkForElseFail(this.holder);
         return bookmark.getIdentifier();
     }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
index be454b4d4f..261c55cd93 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
@@ -23,6 +23,7 @@ import javax.inject.Inject;
 import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
@@ -44,7 +45,7 @@ public class BookmarkHolder_lookup {
 
     public static class ActionDomainEvent extends IsisModuleApplib.ActionDomainEvent<BookmarkHolder_lookup> {}
 
-    public Object act() {
+    @MemberSupport public Object act() {
         return bookmarkService.lookup(bookmarkHolder).orElse(null);
     }
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
index 901ee3f2ba..f901d6d121 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
@@ -21,6 +21,7 @@ package org.apache.isis.applib.services.bookmark;
 import javax.inject.Inject;
 
 import org.apache.isis.applib.IsisModuleApplib;
+import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.Property;
 
 import lombok.RequiredArgsConstructor;
@@ -39,7 +40,7 @@ public class BookmarkHolder_object {
     public static class PropertyDomainEvent
     extends IsisModuleApplib.PropertyDomainEvent<BookmarkHolder_object, Object> { }
 
-    public Object prop() {
+    @MemberSupport public Object prop() {
         return bookmarkService.lookup(bookmarkHolder).orElse(null);
     }
 
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/app/CommandLogMenu.java b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/app/CommandLogMenu.java
index 200f5d9c0d..eab63d1a53 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/app/CommandLogMenu.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/app/CommandLogMenu.java
@@ -136,7 +136,7 @@ public class CommandLogMenu {
     public class truncateLog {
         public class DomainEvent extends ActionDomainEvent { }
 
-        public void act() {
+        @MemberSupport public void act() {
             commandLogEntryRepository.truncateLog();
         }
     }
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_childCommands.java b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_childCommands.java
index 981001dff1..10e5d296f9 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_childCommands.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_childCommands.java
@@ -45,8 +45,7 @@ public class CommandLogEntry_childCommands {
 
     private final CommandLogEntry commandLogEntry;
 
-    @MemberSupport
-    public List<? extends CommandLogEntry> coll() {
+    @MemberSupport public List<? extends CommandLogEntry> coll() {
         return commandLogEntryRepository.findByParent(commandLogEntry);
     }
 
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_openResultObject.java b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_openResultObject.java
index e438ef85a5..6aad15f8e7 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_openResultObject.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_openResultObject.java
@@ -45,8 +45,7 @@ public class CommandLogEntry_openResultObject {
 
     private final CommandLogEntry commandLogEntry;
 
-    @MemberSupport
-    public Object act() {
+    @MemberSupport public Object act() {
         val targetBookmark = bookmarkService.lookup(commandLogEntry.getResult()).orElse(null);
         if(targetBookmark == null) {
             messageService.warnUser("Object not found - has it since been deleted?");
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_siblingCommands.java b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_siblingCommands.java
index fe8371e6ab..66c0f93cf3 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_siblingCommands.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/dom/mixins/CommandLogEntry_siblingCommands.java
@@ -45,8 +45,7 @@ public class CommandLogEntry_siblingCommands {
 
     private final CommandLogEntry commandLogEntry;
 
-    @MemberSupport
-    public List<? extends CommandLogEntry> coll() {
+    @MemberSupport public List<? extends CommandLogEntry> coll() {
         final CommandLogEntry parentJdo = commandLogEntry.getParent();
         if(parentJdo == null) {
             return Collections.emptyList();
diff --git a/extensions/core/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/contributions/ExcelDemoToDoItem_export.java b/extensions/core/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/contributions/ExcelDemoToDoItem_export.java
index 11d123882e..704d013201 100644
--- a/extensions/core/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/contributions/ExcelDemoToDoItem_export.java
+++ b/extensions/core/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/contributions/ExcelDemoToDoItem_export.java
@@ -21,6 +21,7 @@ package org.apache.isis.extensions.excel.fixtures.demoapp.demomodule.contributio
 import javax.inject.Inject;
 
 import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.value.Blob;
 import org.apache.isis.extensions.excel.applib.ExcelService;
 import org.apache.isis.extensions.excel.fixtures.demoapp.todomodule.dom.ExcelDemoToDoItem;
@@ -36,7 +37,7 @@ public class ExcelDemoToDoItem_export {
         this.toDoItem = toDoItem;
     }
 
-    public Blob act() {
+    @MemberSupport public Blob act() {
         throw new UnsupportedOperationException();
 //        if(actionInvocationContext.isLast()) {
 //            // ie current object only
diff --git a/extensions/core/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/contributions/ExcelDemoToDoItem_export2.java b/extensions/core/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/contributions/ExcelDemoToDoItem_export2.java
index 4968c90672..2d0039dfd3 100644
--- a/extensions/core/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/contributions/ExcelDemoToDoItem_export2.java
+++ b/extensions/core/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/contributions/ExcelDemoToDoItem_export2.java
@@ -21,6 +21,7 @@ package org.apache.isis.extensions.excel.fixtures.demoapp.demomodule.contributio
 import javax.inject.Inject;
 
 import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.value.Blob;
 import org.apache.isis.extensions.excel.applib.ExcelService;
 import org.apache.isis.extensions.excel.fixtures.demoapp.todomodule.dom.ExcelDemoToDoItem;
@@ -36,7 +37,7 @@ public class ExcelDemoToDoItem_export2 {
         this.toDoItem = toDoItem;
     }
 
-    public Blob act() {
+    @MemberSupport public Blob act() {
         throw new UnsupportedOperationException();
 //        if(actionInvocationContext.isLast()) {
 //            // ie current object only
diff --git a/extensions/core/executionrepublisher/applib/src/main/java/org/apache/isis/extensions/executionrepublisher/applib/contributions/ExecutionLogEntry_copyToOutbox.java b/extensions/core/executionrepublisher/applib/src/main/java/org/apache/isis/extensions/executionrepublisher/applib/contributions/ExecutionLogEntry_copyToOutbox.java
index 8244666cbe..55cafafd37 100644
--- a/extensions/core/executionrepublisher/applib/src/main/java/org/apache/isis/extensions/executionrepublisher/applib/contributions/ExecutionLogEntry_copyToOutbox.java
+++ b/extensions/core/executionrepublisher/applib/src/main/java/org/apache/isis/extensions/executionrepublisher/applib/contributions/ExecutionLogEntry_copyToOutbox.java
@@ -25,6 +25,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.MemberSupport;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.extensions.executionlog.applib.dom.ExecutionLogEntry;
 import org.apache.isis.extensions.executionlog.applib.dom.ExecutionLogEntryType;
@@ -52,7 +53,7 @@ public class ExecutionLogEntry_copyToOutbox {
 
     public static class ActionDomainEvent extends IsisModuleExtExecutionRepublisherApplib.ActionDomainEvent<ExecutionLogEntry_copyToOutbox> { }
 
-    public ExecutionLogEntry act() {
+    @MemberSupport public ExecutionLogEntry act() {
 
         outboxRepository.upsert(
                 executionLogEntry.getInteractionId(),
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/feature/contributions/ApplicationFeatureViewModel_permissions.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/feature/contributions/ApplicationFeatureViewModel_permissions.java
index 49b380c78f..69590b4013 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/feature/contributions/ApplicationFeatureViewModel_permissions.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/feature/contributions/ApplicationFeatureViewModel_permissions.java
@@ -24,6 +24,7 @@ import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.CollectionLayout;
+import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.services.appfeatui.ApplicationFeatureViewModel;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermission;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionRepository;
@@ -47,7 +48,7 @@ public class ApplicationFeatureViewModel_permissions {
     @Action(
             domainEvent = ApplicationFeatureViewModel_permissions.ActionDomainEvent.class
     )
-    public java.util.Collection<ApplicationPermission> coll() {
+    @MemberSupport public java.util.Collection<ApplicationPermission> coll() {
         return applicationPermissionRepository.findByFeatureCached(viewModel.getFeatureId());
     }
 
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/permission/dom/ApplicationPermission.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/permission/dom/ApplicationPermission.java
index d03e27e891..2176f09d47 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/permission/dom/ApplicationPermission.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/permission/dom/ApplicationPermission.java
@@ -330,17 +330,16 @@ public abstract class ApplicationPermission implements Comparable<ApplicationPer
 
     // -- FIND FEATURE
 
-    @Programmatic
-    public ApplicationFeature findFeature(final ApplicationFeatureId featureId) {
+    @Programmatic public ApplicationFeature findFeature(final ApplicationFeatureId featureId) {
         return featureRepository.findFeature(featureId);
     }
 
-    private Optional<ApplicationMemberSort> getMemberSort() {
+    @Programmatic private Optional<ApplicationMemberSort> getMemberSort() {
         return getFeature()
                 .flatMap(ApplicationFeature::getMemberSort);
     }
 
-    private Optional<ApplicationFeature> getFeature() {
+    @Programmatic private Optional<ApplicationFeature> getFeature() {
         return asFeatureId()
                 .map(this::findFeature);
     }
@@ -348,8 +347,7 @@ public abstract class ApplicationPermission implements Comparable<ApplicationPer
 
     // -- HELPER
 
-    @Programmatic
-    Optional<ApplicationFeatureId> asFeatureId() {
+    @Programmatic Optional<ApplicationFeatureId> asFeatureId() {
         return Optional.ofNullable(getFeatureSort())
                 .map(featureSort -> ApplicationFeatureId.newFeature(featureSort, getFeatureFqn()));
     }
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/dom/mixins/ApplicationRole_addPermission.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/dom/mixins/ApplicationRole_addPermission.java
index 477819cc08..26b467acd3 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/dom/mixins/ApplicationRole_addPermission.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/dom/mixins/ApplicationRole_addPermission.java
@@ -73,7 +73,7 @@ public class ApplicationRole_addPermission {
      * Adds a {@link ApplicationPermission permission} for this role to a
      * {@link ApplicationFeature feature}.
      */
-    public ApplicationRole act(
+    @MemberSupport public ApplicationRole act(
             final ApplicationPermissionRule rule,
             final ApplicationPermissionMode mode,
             @ParameterLayout(
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/ApplicationUser.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/ApplicationUser.java
index 9bf9ef6081..ebd6c47f0d 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/ApplicationUser.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/ApplicationUser.java
@@ -31,6 +31,7 @@ import javax.inject.Named;
 
 import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.CollectionLayout;
+import org.apache.isis.applib.annotation.Domain;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.annotation.Editing;
@@ -111,15 +112,15 @@ public abstract class ApplicationUser
     @Inject private transient PermissionsEvaluationService permissionsEvaluationService;
     @Inject private transient IsisConfiguration config;
 
-    protected ApplicationUserRepository getApplicationUserRepository() {
+    @Programmatic protected ApplicationUserRepository getApplicationUserRepository() {
         return applicationUserRepository;
     }
 
-    protected ApplicationPermissionRepository getApplicationPermissionRepository() {
+    @Programmatic protected ApplicationPermissionRepository getApplicationPermissionRepository() {
         return applicationPermissionRepository;
     }
 
-    protected UserService getUserService() {
+    @Programmatic protected UserService getUserService() {
         return userService;
     }
 
@@ -128,11 +129,11 @@ public abstract class ApplicationUser
      * {@link ApplicationPermissionValueSet#evaluate(ApplicationFeatureId, ApplicationPermissionMode)}
      * else will fallback to a default implementation.
      */
-    protected PermissionsEvaluationService getPermissionsEvaluationService() {
+    @Programmatic protected PermissionsEvaluationService getPermissionsEvaluationService() {
         return permissionsEvaluationService;
     }
 
-    protected Secman getSecmanConfig() {
+    @Programmatic protected Secman getSecmanConfig() {
         return config.getExtensions().getSecman();
     }
 
@@ -627,8 +628,7 @@ public abstract class ApplicationUser
     // short-term caching
     private transient ApplicationPermissionValueSet cachedPermissionSet;
 
-    @Programmatic
-    public ApplicationPermissionValueSet getPermissionSet() {
+    @Programmatic public ApplicationPermissionValueSet getPermissionSet() {
         if(cachedPermissionSet != null) {
             return cachedPermissionSet;
         }
@@ -648,16 +648,14 @@ public abstract class ApplicationUser
 
     // -- IS FOR SELF OR RUN AS ADMINISTRATOR
 
-    @Programmatic
-    public boolean isForSelf() {
+    @Programmatic public boolean isForSelf() {
         val currentUser = currentUser();
         val currentUserName = currentUser.getName();
         val forSelf = Objects.equals(getUsername(), currentUserName);
         return forSelf;
     }
 
-    @Programmatic
-    public boolean isRunAsAdministrator() {
+    @Programmatic public boolean isRunAsAdministrator() {
         val currentUser = currentUser();
         val adminRoleSuffix = ":" + getAdminRoleName();
         for (final RoleMemento role : currentUser.getRoles()) {
@@ -672,26 +670,22 @@ public abstract class ApplicationUser
         return false;
     }
 
-    @Programmatic
-    public boolean isForSelfOrRunAsAdministrator() {
+    @Programmatic public boolean isForSelfOrRunAsAdministrator() {
         return isForSelf()
                 || isRunAsAdministrator();
     }
 
     // -- HELPERS
 
-    @Programmatic
-    public boolean isLocalAccount() {
+    @Programmatic public boolean isLocalAccount() {
         return getAccountType() == org.apache.isis.extensions.secman.applib.user.dom.AccountType.LOCAL;
     }
 
-    @Programmatic
-    private String getAdminRoleName() {
+    @Programmatic private String getAdminRoleName() {
         return getSecmanConfig().getSeed().getAdmin().getRoleName();
     }
 
-    @Programmatic
-    private UserMemento currentUser() {
+    @Programmatic private UserMemento currentUser() {
         return getUserService().currentUserElseFail();
     }
 
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/mixins/ApplicationUser_timeZone.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/mixins/ApplicationUser_timeZone.java
index 6048d2826b..01832b89ec 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/mixins/ApplicationUser_timeZone.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/mixins/ApplicationUser_timeZone.java
@@ -48,9 +48,7 @@ public class ApplicationUser_timeZone {
 
     @Inject private UserCurrentSessionTimeZoneHolder userCurrentSessionTimeZoneHolder;
 
-    @MemberSupport
-    @Nullable
-    public String prop() {
+    @MemberSupport @Nullable public String prop() {
         return userCurrentSessionTimeZoneHolder.getUserTimeZone()
             .map(_Temporals::formatZoneId)
             .orElse(null);
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/mixins/ApplicationUser_updateAccountType.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/mixins/ApplicationUser_updateAccountType.java
index 32db57769a..0170a15a37 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/mixins/ApplicationUser_updateAccountType.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/dom/mixins/ApplicationUser_updateAccountType.java
@@ -52,7 +52,7 @@ public class ApplicationUser_updateAccountType {
 
     private final ApplicationUser target;
 
-    public ApplicationUser act(final AccountType accountType) {
+    @MemberSupport public ApplicationUser act(final AccountType accountType) {
         target.setAccountType(accountType);
         return target;
     }
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
index bf457af41f..d2150f6187 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
@@ -60,7 +60,7 @@ public class Persistable_datanucleusVersionLong {
     extends org.apache.isis.applib.IsisModuleApplib.PropertyDomainEvent
     <Persistable_datanucleusVersionLong, Long> {}
 
-    public Long prop() {
+    @MemberSupport public Long prop() {
         final Object version = JDOHelper.getVersion(persistable);
         return version instanceof Long ? (Long) version : null;
     }
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
index 6a532b9f8f..864c91d0b2 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
@@ -60,7 +60,7 @@ public class Persistable_datanucleusVersionTimestamp {
     extends org.apache.isis.applib.IsisModuleApplib.PropertyDomainEvent
     <Persistable_datanucleusVersionTimestamp, java.sql.Timestamp> {}
 
-    public java.sql.Timestamp prop() {
+    @MemberSupport public java.sql.Timestamp prop() {
         final Object version = JDOHelper.getVersion(persistable);
         return version instanceof java.sql.Timestamp ? (java.sql.Timestamp) version : null;
     }
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/bad/AmbiguousMixinAnnotations.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/bad/AmbiguousMixinAnnotations.java
index 4c712d555d..193855c735 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/bad/AmbiguousMixinAnnotations.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/bad/AmbiguousMixinAnnotations.java
@@ -44,8 +44,7 @@ public class AmbiguousMixinAnnotations {
     public static class InvalidMixinP {
         private final Mixee mixee;
 
-        @Property
-        public String prop() {
+        @Property public String prop() {
             return null;
         }
     }
@@ -55,8 +54,7 @@ public class AmbiguousMixinAnnotations {
     public static class InvalidMixinPL {
         private final Mixee mixee;
 
-        @PropertyLayout
-        public String prop() {
+        @PropertyLayout public String prop() {
             return null;
         }
     }
diff --git a/viewers/commons/applib/src/main/java/org/apache/isis/viewer/commons/applib/mixins/Object_impersonate.java b/viewers/commons/applib/src/main/java/org/apache/isis/viewer/commons/applib/mixins/Object_impersonate.java
index bed5ed6b12..d548de9907 100644
--- a/viewers/commons/applib/src/main/java/org/apache/isis/viewer/commons/applib/mixins/Object_impersonate.java
+++ b/viewers/commons/applib/src/main/java/org/apache/isis/viewer/commons/applib/mixins/Object_impersonate.java
@@ -63,7 +63,7 @@ public class Object_impersonate {
 
     private final Object holder;
 
-    public Object act(final String userName) {
+    @MemberSupport public Object act(final String userName) {
         impersonate().act(userName);
         return holder;
     }
diff --git a/viewers/commons/applib/src/main/java/org/apache/isis/viewer/commons/applib/mixins/Object_impersonateWithRoles.java b/viewers/commons/applib/src/main/java/org/apache/isis/viewer/commons/applib/mixins/Object_impersonateWithRoles.java
index b988a568bb..ce75309f02 100644
--- a/viewers/commons/applib/src/main/java/org/apache/isis/viewer/commons/applib/mixins/Object_impersonateWithRoles.java
+++ b/viewers/commons/applib/src/main/java/org/apache/isis/viewer/commons/applib/mixins/Object_impersonateWithRoles.java
@@ -67,7 +67,7 @@ public class Object_impersonateWithRoles {
 
     private final Object holder;
 
-    public Object act(
+    @MemberSupport public Object act(
             final String userName,
             final List<String> roleNames,
             final String multiTenancyToken) {


[isis] 14/17: ISIS-3189: renames IdStringifiers that are based on DN-specific classes (XxxId) rather than JDO (XxxIdentity), and fixes DnStringIdValueSemantics to use StringId rather than StringIdentifier.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4eacff8bff39fb5a053eea43dd04b972fcce59c5
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:27:17 2022 +0100

    ISIS-3189: renames IdStringifiers that are based on DN-specific classes (XxxId) rather than JDO (XxxIdentity), and fixes DnStringIdValueSemantics to use StringId rather than StringIdentifier.
    
    This error with the DnStringIdValueSemantics was resulting in a failure to round-trip for some classes (I think that ApplicationTenancy might have been one of them).
    
    (cherry picked from commit bc017037137d181f1b83026f4c3063271d9462d2)
---
 .../IsisModulePersistenceJdoDatanucleus.java       | 39 ++++++++++------------
 ...eSemantics.java => DnByteIdValueSemantics.java} |  5 ++-
 ...eSemantics.java => DnCharIdValueSemantics.java} |  7 ++--
 ...s.java => DnDatastoreIdImplValueSemantics.java} |  4 +--
 ... => DnDatastoreUniqueLongIdValueSemantics.java} |  4 +--
 ...ueSemantics.java => DnIntIdValueSemantics.java} |  4 +--
 ...eSemantics.java => DnLongIdValueSemantics.java} |  4 +--
 ...emantics.java => DnObjectIdValueSemantics.java} |  4 +--
 ...Semantics.java => DnShortIdValueSemantics.java} |  4 +--
 ...emantics.java => DnStringIdValueSemantics.java} | 24 ++++++-------
 .../valuetypes/JdoDatastoreIdValueSemantics.java   |  1 -
 ...erForDatastoreId_DatastoreIdImpl_long_Test.java |  4 +--
 ...atastoreId_DatastoreUniqueLongId_long_Test.java |  4 +--
 ...DatastoreId_DatastoreUniqueLongId_str_Test.java |  4 +--
 .../oid/IdStringifierForIntId_Test.java            |  4 +--
 .../oid/IdStringifierForLongId_Test.java           |  4 +--
 16 files changed, 58 insertions(+), 62 deletions(-)

diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
index 70c320e333..b80cef2873 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
@@ -48,25 +48,22 @@ import org.apache.isis.persistence.jdo.datanucleus.config.DatanucleusSettings;
 import org.apache.isis.persistence.jdo.datanucleus.dialect.DnJdoDialect;
 import org.apache.isis.persistence.jdo.datanucleus.entities.DnEntityStateProvider;
 import org.apache.isis.persistence.jdo.datanucleus.jdosupport.JdoSupportServiceDefault;
-import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong;
-import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp;
-import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoByteIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnByteIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoByteIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoCharIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnCharIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoCharIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdImplValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreIdImplValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreUniqueLongIdValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreUniqueLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnIntIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnLongIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoObjectIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnObjectIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoObjectIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoShortIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnShortIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoShortIdentityValueSemantics;
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoStringIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnStringIdValueSemantics;
 import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoStringIdentityValueSemantics;
 import org.apache.isis.persistence.jdo.integration.IsisModulePersistenceJdoIntegration;
 import org.apache.isis.persistence.jdo.provider.config.JdoEntityDiscoveryListener;
@@ -90,8 +87,8 @@ import lombok.extern.log4j.Log4j2;
     // @Component's
     DnEntityStateProvider.class,
 
-    JdoDatastoreIdImplValueSemantics.class, // datastore identity
-    JdoDatastoreUniqueLongIdValueSemantics.class,
+    DnDatastoreIdImplValueSemantics.class, // datastore identity
+    DnDatastoreUniqueLongIdValueSemantics.class,
     JdoDatastoreIdValueSemantics.class,
     JdoShortIdentityValueSemantics.class, // application-defined PK, javax.jdo.identity
     JdoLongIdentityValueSemantics.class,
@@ -100,13 +97,13 @@ import lombok.extern.log4j.Log4j2;
     JdoCharIdentityValueSemantics.class,
     JdoStringIdentityValueSemantics.class,
     JdoObjectIdentityValueSemantics.class,
-    JdoShortIdValueSemantics.class,  // application-defined PK, org.datanucleus.identity
-    JdoLongIdValueSemantics.class,
-    JdoIntIdValueSemantics.class,
-    JdoByteIdValueSemantics.class,
-    JdoCharIdValueSemantics.class,
-    JdoStringIdValueSemantics.class,
-    JdoObjectIdValueSemantics.class,
+    DnShortIdValueSemantics.class,  // application-defined PK, org.datanucleus.identity
+    DnLongIdValueSemantics.class,
+    DnIntIdValueSemantics.class,
+    DnByteIdValueSemantics.class,
+    DnCharIdValueSemantics.class,
+    DnStringIdValueSemantics.class,
+    DnObjectIdValueSemantics.class,
 
     // @Service's
     JdoSupportServiceDefault.class,
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnByteIdValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnByteIdValueSemantics.java
index cfda144bf1..23ef45e328 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoByteIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnByteIdValueSemantics.java
@@ -35,10 +35,10 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoByteIdValueSemantics
+public class DnByteIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<ByteId> {
 
-    public JdoByteIdValueSemantics() {
+    public DnByteIdValueSemantics() {
         super(ByteId.class);
     }
 
@@ -67,5 +67,4 @@ extends ValueSemanticsBasedOnIdStringifier<ByteId> {
         return new ByteId(targetEntityClass, stringified);
     }
 
-
 }
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnCharIdValueSemantics.java
similarity index 95%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnCharIdValueSemantics.java
index 6ba0be106a..5a180a11cb 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoCharIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnCharIdValueSemantics.java
@@ -38,12 +38,12 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoCharIdValueSemantics
+public class DnCharIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<CharId> {
 
     @Inject IdStringifier<Character> idStringifierForCharacter;
 
-    public JdoCharIdValueSemantics() {
+    public DnCharIdValueSemantics() {
         super(CharId.class);
     }
 
@@ -51,7 +51,7 @@ extends ValueSemanticsBasedOnIdStringifier<CharId> {
      * for testing only
      */
     @Builder
-    JdoCharIdValueSemantics(final IdStringifier<Character> idStringifierForCharacter) {
+    DnCharIdValueSemantics(final IdStringifier<Character> idStringifierForCharacter) {
         this();
         this.idStringifierForCharacter = idStringifierForCharacter;
     }
@@ -88,4 +88,5 @@ extends ValueSemanticsBasedOnIdStringifier<CharId> {
         val idValue = idStringifierForCharacter.destring(targetEntityClass, stringified);
         return new CharId(targetEntityClass, idValue);
     }
+
 }
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdImplValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreIdImplValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdImplValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreIdImplValueSemantics.java
index cd3e5da923..fc14b3f2cd 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdImplValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreIdImplValueSemantics.java
@@ -36,12 +36,12 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoDatastoreIdImplValueSemantics
+public class DnDatastoreIdImplValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<DatastoreIdImpl> {
 
     public static final String STRING_DELIMITER = "[OID]"; // as
 
-    public JdoDatastoreIdImplValueSemantics() {
+    public DnDatastoreIdImplValueSemantics() {
         super(DatastoreIdImpl.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreUniqueLongIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreUniqueLongIdValueSemantics.java
similarity index 93%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreUniqueLongIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreUniqueLongIdValueSemantics.java
index 9ed3f16cdd..502c627607 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreUniqueLongIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnDatastoreUniqueLongIdValueSemantics.java
@@ -33,10 +33,10 @@ import lombok.NonNull;
  */
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoDatastoreUniqueLongIdValueSemantics
+public class DnDatastoreUniqueLongIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifierEntityAgnostic<DatastoreUniqueLongId> {
 
-    public JdoDatastoreUniqueLongIdValueSemantics() {
+    public DnDatastoreUniqueLongIdValueSemantics() {
         super(DatastoreUniqueLongId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnIntIdValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnIntIdValueSemantics.java
index 24cd76765a..71ab428ad3 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoIntIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnIntIdValueSemantics.java
@@ -35,10 +35,10 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoIntIdValueSemantics
+public class DnIntIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<IntId> {
 
-    public JdoIntIdValueSemantics() {
+    public DnIntIdValueSemantics() {
         super(IntId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnLongIdValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnLongIdValueSemantics.java
index fb23051749..ad4bb33c03 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoLongIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnLongIdValueSemantics.java
@@ -35,10 +35,10 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoLongIdValueSemantics
+public class DnLongIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<LongId> {
 
-    public JdoLongIdValueSemantics() {
+    public DnLongIdValueSemantics() {
         super(LongId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnObjectIdValueSemantics.java
similarity index 98%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnObjectIdValueSemantics.java
index cb25b669f5..718a22170c 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoObjectIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnObjectIdValueSemantics.java
@@ -47,14 +47,14 @@ import lombok.val;
 @Component
 @Priority(PriorityPrecedence.LATE)
 @Builder
-public class JdoObjectIdValueSemantics
+public class DnObjectIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<ObjectId> {
 
     private static final String PREFIX_UUID = "u_";
     private static final String PREFIX_LONG = "l_";
     private static final String PREFIX_INT = "i_";
 
-    public JdoObjectIdValueSemantics() {
+    public DnObjectIdValueSemantics() {
         super(ObjectId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnShortIdValueSemantics.java
similarity index 97%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnShortIdValueSemantics.java
index bff3bb1526..cc1f6aec9d 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoShortIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnShortIdValueSemantics.java
@@ -35,10 +35,10 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoShortIdValueSemantics
+public class DnShortIdValueSemantics
 extends ValueSemanticsBasedOnIdStringifier<ShortId> {
 
-    public JdoShortIdValueSemantics() {
+    public DnShortIdValueSemantics() {
         super(ShortId.class);
     }
 
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnStringIdValueSemantics.java
similarity index 80%
rename from persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdValueSemantics.java
rename to persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnStringIdValueSemantics.java
index 1f714dd3fa..69138dd97a 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoStringIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/DnStringIdValueSemantics.java
@@ -20,8 +20,8 @@ package org.apache.isis.persistence.jdo.datanucleus.valuetypes;
 
 import javax.annotation.Priority;
 import javax.inject.Inject;
-import javax.jdo.identity.StringIdentity;
 
+import org.datanucleus.identity.StringId;
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.PriorityPrecedence;
@@ -38,20 +38,20 @@ import lombok.val;
 
 @Component
 @Priority(PriorityPrecedence.LATE)
-public class JdoStringIdValueSemantics
-extends ValueSemanticsBasedOnIdStringifier<StringIdentity> {
+public class DnStringIdValueSemantics
+extends ValueSemanticsBasedOnIdStringifier<StringId> {
 
     @Inject IdStringifier<String> idStringifierForString;
 
-    public JdoStringIdValueSemantics() {
-        super(StringIdentity.class);
+    public DnStringIdValueSemantics() {
+        super(StringId.class);
     }
 
     /**
      * for testing only
      */
     @Builder
-    JdoStringIdValueSemantics(final IdStringifier<String> idStringifierForString) {
+    DnStringIdValueSemantics(final IdStringifier<String> idStringifierForString) {
         this();
         this.idStringifierForString = idStringifierForString;
     }
@@ -59,15 +59,15 @@ extends ValueSemanticsBasedOnIdStringifier<StringIdentity> {
     // -- COMPOSER
 
     @Override
-    public ValueDecomposition decompose(final StringIdentity value) {
+    public ValueDecomposition decompose(final StringId value) {
         return CommonDtoUtils.typedTupleBuilder(value)
-                .addFundamentalType(ValueType.STRING, "targetClassName", StringIdentity::getTargetClassName)
+                .addFundamentalType(ValueType.STRING, "targetClassName", StringId::getTargetClassName)
                 .addFundamentalType(ValueType.STRING, "key", this::enstring)
                 .buildAsDecomposition();
     }
 
     @Override
-    public StringIdentity compose(final ValueDecomposition decomposition) {
+    public StringId compose(final ValueDecomposition decomposition) {
         val elementMap = CommonDtoUtils.typedTupleAsMap(decomposition.rightIfAny());
         final String targetClassName = (String)elementMap.get("targetClassName");
         final String key = (String)elementMap.get("key");
@@ -77,15 +77,15 @@ extends ValueSemanticsBasedOnIdStringifier<StringIdentity> {
     // -- ID STRINGIFIER
 
     @Override
-    public String enstring(final @NonNull StringIdentity value) {
+    public String enstring(final @NonNull StringId value) {
         return idStringifierForString.enstring(value.getKey());
     }
 
     @Override
-    public StringIdentity destring(
+    public StringId destring(
             final @NonNull Class<?> targetEntityClass,
             final @NonNull String stringified) {
         val idValue = idStringifierForString.destring(targetEntityClass, stringified);
-        return new StringIdentity(targetEntityClass, idValue);
+        return new StringId(targetEntityClass, idValue);
     }
 }
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdValueSemantics.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdValueSemantics.java
index c992d36cdc..001ae5ff99 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdValueSemantics.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/JdoDatastoreIdValueSemantics.java
@@ -92,5 +92,4 @@ extends ValueSemanticsBasedOnIdStringifier<DatastoreId> {
         return _Casts.uncheckedCast(dnOid);
     }
 
-
 }
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreIdImpl_long_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreIdImpl_long_Test.java
index 34e0f4d796..a37507e20c 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreIdImpl_long_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreIdImpl_long_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdImplValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreIdImplValueSemantics;
 
 import lombok.val;
 
@@ -52,7 +52,7 @@ class IdStringifierForDatastoreId_DatastoreIdImpl_long_Test {
 
         val entityType = Customer.class;
 
-        val stringifier = new JdoDatastoreIdImplValueSemantics();
+        val stringifier = new DnDatastoreIdImplValueSemantics();
 
         val stringified = stringifier.enstring(new DatastoreIdImpl(entityType.getName(), value));
         if(enstringed != null) {
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test.java
index cc7be6c054..5a89e01ac7 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreUniqueLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreUniqueLongIdValueSemantics;
 
 import lombok.val;
 
@@ -52,7 +52,7 @@ class IdStringifierForDatastoreId_DatastoreUniqueLongId_long_Test {
 
         //val entityType = Customer.class;
 
-        val stringifier = new JdoDatastoreUniqueLongIdValueSemantics();
+        val stringifier = new DnDatastoreUniqueLongIdValueSemantics();
 
         val stringified = stringifier.enstring(new DatastoreUniqueLongId(value));
         val parse = stringifier.destring(stringified); // no need to pass entityType
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test.java
index 7a9afb8c0f..b7b770d8dc 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreUniqueLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnDatastoreUniqueLongIdValueSemantics;
 
 import lombok.val;
 
@@ -53,7 +53,7 @@ class IdStringifierForDatastoreId_DatastoreUniqueLongId_str_Test {
         //val entityType = Customer.class;
 
         String strValue = "" + value;
-        val stringifier = new JdoDatastoreUniqueLongIdValueSemantics();
+        val stringifier = new DnDatastoreUniqueLongIdValueSemantics();
 
         val stringified = stringifier.enstring(new DatastoreUniqueLongId(strValue));
         val parse = stringifier.destring(stringified); // no need to pass entityType
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntId_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntId_Test.java
index c344df8713..7dfc2b8f77 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntId_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForIntId_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnIntIdValueSemantics;
 
 import lombok.val;
 
@@ -52,7 +52,7 @@ class IdStringifierForIntId_Test {
 
         val entityType = Customer.class;
 
-        val stringifier = new JdoIntIdValueSemantics();
+        val stringifier = new DnIntIdValueSemantics();
 
         val stringified = stringifier.enstring(new IntId(entityType, value));
         val parse = stringifier.destring(entityType, stringified);
diff --git a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongId_Test.java b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongId_Test.java
index db92e86aa7..942b6c3fd0 100644
--- a/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongId_Test.java
+++ b/persistence/jdo/datanucleus/src/test/java/org/apache/isis/persistence/jdo/datanucleus/oid/IdStringifierForLongId_Test.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 
-import org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdValueSemantics;
+import org.apache.isis.persistence.jdo.datanucleus.valuetypes.DnLongIdValueSemantics;
 
 import lombok.val;
 
@@ -52,7 +52,7 @@ class IdStringifierForLongId_Test {
 
         val entityType = Customer.class;
 
-        val stringifier = new JdoLongIdValueSemantics();
+        val stringifier = new DnLongIdValueSemantics();
 
         val stringified = stringifier.enstring(new LongId(entityType, value));
         val parse = stringifier.destring(entityType, stringified);


[isis] 15/17: ISIS-3189: fixes typo in error message

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 5c5b947060010047cc0b5e398b1e1fc47eeb11f4
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:30:23 2022 +0100

    ISIS-3189: fixes typo in error message
    
    (cherry picked from commit b457b7ebd249a6e3f352b365941d2186dedcb0e1)
---
 .../semantics/ValueSemanticsBasedOnIdStringifierEntityAgnostic.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierEntityAgnostic.java b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierEntityAgnostic.java
index 9838100e42..df45f141ec 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierEntityAgnostic.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueSemanticsBasedOnIdStringifierEntityAgnostic.java
@@ -44,7 +44,7 @@ implements
     protected ValueSemanticsBasedOnIdStringifierEntityAgnostic(
             final @NonNull Class<T> correspondingClass) {
         _Assert.assertFalse(correspondingClass.isPrimitive(),
-                ()->String.format("not allowed to be initialzed with a primitive class (%s), "
+                ()->String.format("not allowed to be initialized with a primitive class (%s), "
                         + "use the boxed variant instead",
                         correspondingClass));
         this.correspondingClass = correspondingClass;


[isis] 17/17: Merge branch 'ISIS-3189'

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit becbcf2088b77d77ee403999cd9abd79e3323098
Merge: 402f4c507c 8be0e478b8
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 11:09:33 2022 +0100

    Merge branch 'ISIS-3189'

 ...emanticsBasedOnIdStringifierEntityAgnostic.java |  2 +-
 .../IsisModulePersistenceJdoDatanucleus.java       | 39 ++++++++---------
 .../IsisModulePersistenceJdoDatanucleusMixins.java | 50 ----------------------
 ...eSemantics.java => DnByteIdValueSemantics.java} |  5 +--
 ...eSemantics.java => DnCharIdValueSemantics.java} |  7 +--
 ...s.java => DnDatastoreIdImplValueSemantics.java} |  4 +-
 ... => DnDatastoreUniqueLongIdValueSemantics.java} |  4 +-
 ...ueSemantics.java => DnIntIdValueSemantics.java} |  4 +-
 ...eSemantics.java => DnLongIdValueSemantics.java} |  4 +-
 ...emantics.java => DnObjectIdValueSemantics.java} |  4 +-
 ...Semantics.java => DnShortIdValueSemantics.java} |  4 +-
 ...emantics.java => DnStringIdValueSemantics.java} | 24 +++++------
 .../valuetypes/JdoDatastoreIdValueSemantics.java   |  1 -
 ...erForDatastoreId_DatastoreIdImpl_long_Test.java |  4 +-
 ...atastoreId_DatastoreUniqueLongId_long_Test.java |  4 +-
 ...DatastoreId_DatastoreUniqueLongId_str_Test.java |  4 +-
 .../oid/IdStringifierForIntId_Test.java            |  4 +-
 .../oid/IdStringifierForLongId_Test.java           |  4 +-
 18 files changed, 59 insertions(+), 113 deletions(-)


[isis] 04/17: Merge branch 'ISIS-3192'

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit ab80c50ec1801522acbc37d0c1a276cb6543ecfb
Merge: 6a8dae31b1 08295177bd
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 11:04:25 2022 +0100

    Merge branch 'ISIS-3192'

 extensions/pom.xml | 200 +++++++++++++++++++++++------------------------------
 testing/pom.xml    |  55 ++++++++++++---
 2 files changed, 133 insertions(+), 122 deletions(-)


[isis] 07/17: ISIS-3191: fixes namespace for sessionlog

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 64bc94278f427c8a625e3f682753547828afd8b7
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:55:56 2022 +0100

    ISIS-3191: fixes namespace for sessionlog
    
    (cherry picked from commit 9845549a244b38f69900d6440fef4faa2e8cd757)
---
 .../extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java
index a6376c76d2..b3bf384110 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java
@@ -36,7 +36,7 @@ import org.apache.isis.extensions.sessionlog.applib.spiimpl.SessionSubscriberFor
 })
 public class IsisModuleExtSessionLogApplib {
 
-    public static final String NAMESPACE = "isis.ext.sessionlog";
+    public static final String NAMESPACE = "isis.ext.sessionLog";
     public static final String SCHEMA = "isisExtSessionLog";
 
     public abstract static class TitleUiEvent<S>


[isis] 05/17: ISIS-3190: excludes all non-annotated methods from metamodel if ENCAPSULATION_ENABLED is set as the introspection policy.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 1331ac607d9eb563393b6632d79044b6ff2b3d5b
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:54:51 2022 +0100

    ISIS-3190: excludes all non-annotated methods from metamodel if ENCAPSULATION_ENABLED is set as the introspection policy.
    
    (cherry picked from commit bbcba4e5d0a52a6b8f2e0a0032d09d503940f6a0)
---
 .../beans/IsisBeanTypeClassifierDefault.java       |  6 +--
 .../progmodel/ProgrammingModelConstants.java       | 43 +++++++++++++++++-----
 .../_testing/MetaModelContext_forTesting.java      |  2 +-
 .../RemoveAnnotatedMethodsFacetFactory.java        | 40 ++++++++++++++++----
 .../classsubstitutor/ClassSubstitutorAbstract.java |  2 +-
 5 files changed, 70 insertions(+), 23 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifierDefault.java b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifierDefault.java
index daded0f1c4..c67d426003 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifierDefault.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/beans/IsisBeanTypeClassifierDefault.java
@@ -33,7 +33,7 @@ import org.apache.isis.applib.id.LogicalType;
 import org.apache.isis.applib.services.metamodel.BeanSort;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.reflection._Annotations;
-import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.TypeVetoMarker;
+import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.TypeExcludeMarker;
 
 import lombok.AccessLevel;
 import lombok.NonNull;
@@ -78,7 +78,7 @@ implements IsisBeanTypeClassifier {
         }
 
         // handle vetoing ...
-        if(TypeVetoMarker.anyMatchOn(type)) {
+        if(TypeExcludeMarker.anyMatchOn(type)) {
             return IsisBeanMetaData.isisManaged(BeanSort.VETOED, type); // reject
         }
 
@@ -163,4 +163,4 @@ implements IsisBeanTypeClassifier {
         return activeProfiles.contains(profile);
     }
 
-}
\ No newline at end of file
+}
diff --git a/core/config/src/main/java/org/apache/isis/core/config/progmodel/ProgrammingModelConstants.java b/core/config/src/main/java/org/apache/isis/core/config/progmodel/ProgrammingModelConstants.java
index a161a9ad7f..1ffef8a1c4 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/progmodel/ProgrammingModelConstants.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/progmodel/ProgrammingModelConstants.java
@@ -69,18 +69,18 @@ import lombok.val;
 
 public final class ProgrammingModelConstants {
 
-    // -- TYPE VETO MARKERS (EXLUDE FROM DOMAIN)
+    // -- TYPE EXCLUDE MARKERS
 
     @Getter
     @RequiredArgsConstructor
-    public enum TypeVetoMarker {
-        DOMAIN_EXLCUDE(Domain.Exclude.class),
+    public enum TypeExcludeMarker {
+        DOMAIN_EXCLUDE(Domain.Exclude.class),
         VETO(Vetoed.class);
         private final Class<? extends Annotation> annotationType;
 
         public static boolean anyMatchOn(final Class<?> type) {
-            for(TypeVetoMarker vetoMarker : TypeVetoMarker.values()) {
-                if(_Annotations.synthesize(type, vetoMarker.getAnnotationType()).isPresent()) {
+            for(TypeExcludeMarker excludeMarker : TypeExcludeMarker.values()) {
+                if(_Annotations.synthesize(type, excludeMarker.getAnnotationType()).isPresent()) {
                     return true;
                 }
             }
@@ -88,12 +88,35 @@ public final class ProgrammingModelConstants {
         }
     }
 
-    // -- METHOD VETO MARKERS (EXLUDE FROM DOMAIN)
+    // -- METHOD INCLUDE MARKERS
 
+    /**
+     * Ensure included.
+     */
     @Getter
     @RequiredArgsConstructor
-    public enum MethodVetoMarker {
-        DOMAIN_EXLCUDE(Domain.Exclude.class),
+    public enum MethodIncludeMarker {
+        DOMAIN_INCLUDE(Domain.Include.class),
+        ;
+        private final Class<? extends Annotation> annotationType;
+
+        public static boolean anyMatchOn(final Method method) {
+            for(MethodIncludeMarker includeMarker : MethodIncludeMarker.values()) {
+                if(_Annotations.synthesize(method, includeMarker.getAnnotationType()).isPresent()) {
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+
+
+    // -- METHOD EXCLUDE MARKERS
+
+    @Getter
+    @RequiredArgsConstructor
+    public enum MethodExcludeMarker {
+        DOMAIN_EXCLUDE(Domain.Exclude.class),
         PRE_DESTROY_JAVAX(javax.annotation.PreDestroy.class),
         POST_CONSTRUCT_JAVAX(javax.annotation.PostConstruct.class),
         //PRE_DESTROY__JAKARTA(jakarta.annotation.PreDestroy.class),
@@ -102,8 +125,8 @@ public final class ProgrammingModelConstants {
         private final Class<? extends Annotation> annotationType;
 
         public static boolean anyMatchOn(final Method method) {
-            for(MethodVetoMarker vetoMarker : MethodVetoMarker.values()) {
-                if(_Annotations.synthesize(method, vetoMarker.getAnnotationType()).isPresent()) {
+            for(MethodExcludeMarker excludeMarker : MethodExcludeMarker.values()) {
+                if(_Annotations.synthesize(method, excludeMarker.getAnnotationType()).isPresent()) {
                     return true;
                 }
             }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
index d8b0dae0d9..08eca038d5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
@@ -504,7 +504,7 @@ implements MetaModelContext {
                         "Cannot get service instance of type '%s'",
                         managedBeanAdapter.getBeanClass()));
 
-        if(ProgrammingModelConstants.TypeVetoMarker.anyMatchOn(managedBeanAdapter.getBeanClass())) {
+        if(ProgrammingModelConstants.TypeExcludeMarker.anyMatchOn(managedBeanAdapter.getBeanClass())) {
             return Optional.empty();
         }
         return getSpecificationLoader()
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/annotation/RemoveAnnotatedMethodsFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/annotation/RemoveAnnotatedMethodsFacetFactory.java
index 6794f18ee4..6e56642fb6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/annotation/RemoveAnnotatedMethodsFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/ignore/annotation/RemoveAnnotatedMethodsFacetFactory.java
@@ -20,11 +20,14 @@ package org.apache.isis.core.metamodel.facets.object.ignore.annotation;
 
 import javax.inject.Inject;
 
-import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.MethodVetoMarker;
+import org.apache.isis.core.config.progmodel.ProgrammingModelConstants;
+import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.MethodExcludeMarker;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 
+import lombok.val;
+
 public class RemoveAnnotatedMethodsFacetFactory
 extends FacetFactoryAbstract {
 
@@ -35,13 +38,34 @@ extends FacetFactoryAbstract {
 
     @Override
     public void process(final ProcessClassContext processClassContext) {
-        getClassCache()
-        .streamPublicMethods(processClassContext.getCls())
-        .forEach(method->{
-            if(MethodVetoMarker.anyMatchOn(method)) {
-                processClassContext.removeMethod(method);
-            }
-        });
+
+        val policy = getMetaModelContext().getConfiguration().getCore().getMetaModel().getIntrospector().getPolicy();
+        switch (policy) {
+            case ENCAPSULATION_ENABLED:
+                getClassCache().streamPublicOrDeclaredMethods(processClassContext.getCls())
+                        .forEach(method -> {
+                            if (!ProgrammingModelConstants.MethodIncludeMarker.anyMatchOn(method)) {
+                                processClassContext.removeMethod(method);
+                            }
+                        });
+                break;
+
+            case ANNOTATION_REQUIRED:
+                // TODO: this could probably be more precise and insist on @Domain.Include for members.
+
+            case ANNOTATION_OPTIONAL:
+
+                getClassCache()
+                        .streamPublicMethods(processClassContext.getCls())
+                        .forEach(method->{
+                            if(MethodExcludeMarker.anyMatchOn(method)) {
+                                processClassContext.removeMethod(method);
+                            }
+                        });
+
+                break;
+        }
+
 
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutorAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutorAbstract.java
index 0e1f86d009..2732b36350 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutorAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutorAbstract.java
@@ -130,7 +130,7 @@ public abstract class ClassSubstitutorAbstract implements ClassSubstitutor {
         }
 
         // ignore vetoed types
-        if(ProgrammingModelConstants.TypeVetoMarker.anyMatchOn(cls)) {
+        if(ProgrammingModelConstants.TypeExcludeMarker.anyMatchOn(cls)) {
             return true;
         }
 


[isis] 03/17: ISIS-3192: cleans up poms

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 08295177bde8f7d068c3126a006ce95a777d1f79
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:57:27 2022 +0100

    ISIS-3192: cleans up poms
    
    (cherry picked from commit 1bc8e6d8a7bd2053533e18bdee5925a9efb7d857)
---
 extensions/pom.xml | 200 +++++++++++++++++++++++------------------------------
 testing/pom.xml    |  55 ++++++++++++---
 2 files changed, 133 insertions(+), 122 deletions(-)

diff --git a/extensions/pom.xml b/extensions/pom.xml
index a7b46a4b7e..bc1c1156ac 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -65,73 +65,60 @@
 	<dependencyManagement>
 		<dependencies>
 
+			<!-- core -->
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-audittrail</artifactId>
+				<artifactId>isis-extensions-commandlog</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-audittrail-applib</artifactId>
+				<artifactId>isis-extensions-commandlog-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-audittrail-applib</artifactId>
+				<artifactId>isis-extensions-commandlog-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<scope>test</scope>
 				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-audittrail-persistence-jpa</artifactId>
+				<artifactId>isis-extensions-commandlog-persistence-jdo</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-audittrail-persistence-jdo</artifactId>
+				<artifactId>isis-extensions-commandlog-persistence-jpa</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-commandlog</artifactId>
+				<artifactId>isis-extensions-excel</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-commandlog-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-commandlog-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-				<scope>test</scope>
-				<type>test-jar</type>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-commandlog-persistence-jdo</artifactId>
+				<artifactId>isis-extensions-excel-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-commandlog-persistence-jpa</artifactId>
+				<artifactId>isis-extensions-excel-fixtures</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-exceldownload</artifactId>
+				<artifactId>isis-extensions-excel-integtests</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
-				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-exceldownload-wicket-ui</artifactId>
+				<artifactId>isis-extensions-excel-testing</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
@@ -175,11 +162,6 @@
 				<artifactId>isis-extensions-executionoutbox-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-			<dependency>
-				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-executionoutbox-dto</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-executionoutbox-persistence-jdo</artifactId>
@@ -190,11 +172,6 @@
 				<artifactId>isis-extensions-executionoutbox-persistence-jpa</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-			<dependency>
-				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-executionoutbox-restapi</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-executionoutbox-restclient</artifactId>
@@ -215,231 +192,251 @@
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-excel</artifactId>
+				<artifactId>isis-extensions-flyway</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-excel-applib</artifactId>
+				<artifactId>isis-extensions-flyway-impl</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
+
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-excel-testing</artifactId>
+				<artifactId>isis-extensions-quartz</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
+				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-excel-fixtures</artifactId>
+				<artifactId>isis-extensions-quartz-impl</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
+
+
+			<!-- security -->
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-excel-integtests</artifactId>
+				<artifactId>isis-extensions-audittrail</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
+				<type>pom</type>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-flyway</artifactId>
+				<artifactId>isis-extensions-audittrail-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
-				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-flyway-impl</artifactId>
+				<artifactId>isis-extensions-audittrail-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
+				<scope>test</scope>
+				<type>test-jar</type>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-fullcalendar</artifactId>
+				<artifactId>isis-extensions-audittrail-persistence-jpa</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
-				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-fullcalendar-applib</artifactId>
+				<artifactId>isis-extensions-audittrail-persistence-jdo</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
+
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-fullcalendar-wicket</artifactId>
+				<artifactId>isis-extensions-secman</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-fullcalendar-wicket-integration</artifactId>
+				<artifactId>isis-extensions-secman-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-fullcalendar-wicket-ui</artifactId>
+				<artifactId>isis-extensions-secman-applib</artifactId>
+				<scope>test</scope>
+				<type>test-jar</type>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-pdfjs</artifactId>
+				<artifactId>isis-extensions-secman-delegated-shiro</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
-				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-pdfjs-applib</artifactId>
+				<artifactId>isis-extensions-secman-delegated-springoauth2</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-pdfjs-fixtures</artifactId>
+				<artifactId>isis-extensions-secman-encryption-jbcrypt</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-pdfjs-metamodel</artifactId>
+				<artifactId>isis-extensions-secman-encryption-spring</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-pdfjs-wicket</artifactId>
+				<artifactId>isis-extensions-secman-integration</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
-				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-pdfjs-wicket-integration</artifactId>
+				<artifactId>isis-extensions-secman-persistence-jdo</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-pdfjs-wicket-ui</artifactId>
+				<artifactId>isis-extensions-secman-persistence-jpa</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-quartz</artifactId>
+				<artifactId>isis-extensions-sessionlog</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-quartz-impl</artifactId>
+				<artifactId>isis-extensions-sessionlog-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman</artifactId>
+				<artifactId>isis-extensions-sessionlog-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
-				<type>pom</type>
+				<scope>test</scope>
+				<type>test-jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-applib</artifactId>
+				<artifactId>isis-extensions-sessionlog-persistence-jpa</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-applib</artifactId>
-				<scope>test</scope>
-				<type>test-jar</type>
+				<artifactId>isis-extensions-sessionlog-persistence-jdo</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
+
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-integration</artifactId>
+				<artifactId>isis-extensions-shiro-realm-ldap</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
+				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-encryption-jbcrypt</artifactId>
+				<artifactId>isis-extensions-shiro-realm-ldap-impl</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
+
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-encryption-spring</artifactId>
+				<artifactId>isis-extensions-spring-security-oauth2</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
+
+
+			<!-- vro -->
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-persistence-jdo</artifactId>
+				<artifactId>isis-extensions-cors</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
+				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-persistence-jpa</artifactId>
+				<artifactId>isis-extensions-cors-impl</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
+
+
+			<!-- vw -->
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-delegated-shiro</artifactId>
+				<artifactId>isis-extensions-exceldownload</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
+				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-secman-delegated-springoauth2</artifactId>
+				<artifactId>isis-extensions-exceldownload-wicket-ui</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-shiro-realm-ldap</artifactId>
+				<artifactId>isis-extensions-fullcalendar</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-shiro-realm-ldap-impl</artifactId>
+				<artifactId>isis-extensions-fullcalendar-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-sessionlog</artifactId>
+				<artifactId>isis-extensions-fullcalendar-wicket</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-sessionlog-applib</artifactId>
+				<artifactId>isis-extensions-fullcalendar-wicket-integration</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-sessionlog-applib</artifactId>
+				<artifactId>isis-extensions-fullcalendar-wicket-ui</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
-				<scope>test</scope>
-				<type>test-jar</type>
 			</dependency>
+
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-sessionlog-persistence-jpa</artifactId>
+				<artifactId>isis-extensions-pdfjs</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
+				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-sessionlog-persistence-jdo</artifactId>
+				<artifactId>isis-extensions-pdfjs-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-cors</artifactId>
+				<artifactId>isis-extensions-pdfjs-fixtures</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.isis.extensions</groupId>
+				<artifactId>isis-extensions-pdfjs-metamodel</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.isis.extensions</groupId>
+				<artifactId>isis-extensions-pdfjs-wicket</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-cors-impl</artifactId>
+				<artifactId>isis-extensions-pdfjs-wicket-integration</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
-				<artifactId>isis-extensions-spring-security-oauth2</artifactId>
+				<artifactId>isis-extensions-pdfjs-wicket-ui</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
@@ -465,30 +462,9 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-fixtures</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-				<type>pom</type>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
-
 		</dependencies>
 	</dependencyManagement>
 
-	<dependencies>
-		<dependency>
-			<groupId>org.projectlombok</groupId>
-			<artifactId>lombok</artifactId>
-			<scope>provided</scope>
-		</dependency>
-	</dependencies>
-
 	<modules>
 
 		<module>core/commandlog</module>
diff --git a/testing/pom.xml b/testing/pom.xml
index 5cc662cd36..ab7f5e1e7d 100644
--- a/testing/pom.xml
+++ b/testing/pom.xml
@@ -65,6 +65,11 @@
 
 			<!-- this module -->
 
+			<dependency>
+				<groupId>org.apache.isis.testing</groupId>
+				<artifactId>isis-testing-archtestsupport</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-archtestsupport-applib</artifactId>
@@ -73,23 +78,31 @@
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-integtestsupport-applib</artifactId>
-				<type>jar</type>
+				<artifactId>isis-testing-fakedata</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-h2console-ui</artifactId>
+				<artifactId>isis-testing-fakedata-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-hsqldbmgr-ui</artifactId>
+				<artifactId>isis-testing-fakedata-fixtures</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.isis.testing</groupId>
+				<artifactId>isis-testing-fakedata-integtests</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
+			<dependency>
+				<groupId>org.apache.isis.testing</groupId>
+				<artifactId>isis-testing-fixtures</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+				<type>pom</type>
+			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
@@ -98,26 +111,48 @@
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-specsupport-applib</artifactId>
+				<artifactId>isis-testing-h2console</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.isis.testing</groupId>
+				<artifactId>isis-testing-h2console-ui</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-fakedata-applib</artifactId>
+				<artifactId>isis-testing-integtestsupport</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-fakedata-fixtures</artifactId>
+				<artifactId>isis-testing-integtestsupport-applib</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
+
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
-				<artifactId>isis-testing-fakedata-integtests</artifactId>
+				<artifactId>isis-testing-hsqldbmgr-ui</artifactId>
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
+			<dependency>
+				<groupId>org.apache.isis.testing</groupId>
+				<artifactId>isis-testing-specsupport</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.isis.testing</groupId>
+				<artifactId>isis-testing-specsupport-applib</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+			</dependency>
+
+			<dependency>
+				<groupId>org.apache.isis.testing</groupId>
+				<artifactId>isis-testing-unittestsupport</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-unittestsupport-applib</artifactId>


[isis] 02/17: Merge branch 'ISIS-3161'

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 6a8dae31b166bd00e126e290106719344adb04bd
Merge: cefdf288ff 120e10f41d
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 11:03:32 2022 +0100

    Merge branch 'ISIS-3161'

 .../jpa/adoc/modules/ROOT/pages/weaving.adoc       | 76 +++++++++++++++++++++-
 1 file changed, 73 insertions(+), 3 deletions(-)


[isis] 10/17: ISIS-3187: improves docs, is all.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 40794863925a95a06a395a20afaec2cecc03ab60
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 10:30:56 2022 +0100

    ISIS-3187: improves docs, is all.
    
    (cherry picked from commit f93112874032a871f51307383b55dab6e4c7d740)
---
 .../secman/pages/setting-up-with-shiro.adoc        |  2 +-
 .../adoc/modules/secman/pages/setting-up.adoc      | 28 +++++++++++-----------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/extensions/security/secman/adoc/modules/secman/pages/setting-up-with-shiro.adoc b/extensions/security/secman/adoc/modules/secman/pages/setting-up-with-shiro.adoc
index 5f67424cbf..19cd843aea 100644
--- a/extensions/security/secman/adoc/modules/secman/pages/setting-up-with-shiro.adoc
+++ b/extensions/security/secman/adoc/modules/secman/pages/setting-up-with-shiro.adoc
@@ -33,7 +33,7 @@ These are called "local" users, as per the xref:refguide:extensions:index/secman
 
 == Delegate Authentication
 
-Local authentication - as described in the previous section - does not actually accomplish much; although Shiro's `Authenticator` implementation is in use, since the Shiro Realm just queries the SecMan database, there is no real difference from simply using SecMan's own `Authenticator` impplementation.
+Local authentication - as described in the previous section - does not actually accomplish much; although Shiro's `Authenticator` implementation is in use, since the Shiro Realm just queries the SecMan database, there is no real difference from simply using SecMan's own `Authenticator` implementation.
 
 Where things become more interesting and useful is that Secman's xref:refguide:extensions:index/secman/delegated/shiro/realm/IsisModuleExtSecmanShiroRealm.adoc[Realm implementation] also allows an alternative "delegate" realm (eg LDAP) to be queried.
 In such cases Shiro can obtain authentication of "delegated" users is performed by the delegate realm rather than locally.
diff --git a/extensions/security/secman/adoc/modules/secman/pages/setting-up.adoc b/extensions/security/secman/adoc/modules/secman/pages/setting-up.adoc
index 9a5125690e..bb1bdfeb7b 100644
--- a/extensions/security/secman/adoc/modules/secman/pages/setting-up.adoc
+++ b/extensions/security/secman/adoc/modules/secman/pages/setting-up.adoc
@@ -51,7 +51,7 @@ In the webapp module of your application, add the following dependency:
 </dependencies>
 ----
 <.> specify either `isis-extensions-secman-persistence-jpa` or `isis-extensions-secman-persistence-jdo`, as required
-<.> provides an implementation of `PasswordEncryptionService`
+<.> provides an implementation of `PasswordEncoder`, so that passwords are only persisted in encrypted form.
 
 
 [[_update-appmanifest]]
@@ -113,18 +113,18 @@ isis:
     secman:
       seed:
         admin:
-          user-name: "secman-admin"                     <.>
-          password: "pass"                              <1>
-          role-name: "isis-ext-secman-admin"            <.>
+          user-name: "secman-admin"                     #<.>
+          password: "pass"                              #<1>
+          role-name: "isis-ext-secman-admin"            #<.>
           namespace-permissions:
-            sticky: ...                                 <.>
-            additional: ...                             <.>
+            sticky: ...                                 #<.>
+            additional: ...                             #<.>
         regular-user:
-          role-name: "isis-ext-secman-user"             <.>
-      permissions-evaluation-policy: ALLOW_BEATS_VETO   <.>
-      user-menu-me-action-policy: HIDE                  <.>
+          role-name: "isis-ext-secman-user"             #<.>
+      permissions-evaluation-policy: allow_beats_veto   #<.>
+      user-menu-me-action-policy: hide                  #<.>
       user-registration:
-        initial-role-names: ...                         <.>
+        initial-role-names: ...                         #<.>
 
 ----
 
@@ -293,9 +293,9 @@ When developing the app you will probably be using the H2 in-memory database, an
 Even when running in production with a persistent database, running a default set of fixture scripts may be worthwihle.
 
 One option to setup these users/roles would be to use the xref:refguide:config:sections/isis.testing.adoc#isis.testing.fixtures.initial-script[isis.testing.fixtures.initial-script] configuration property.
-However the purpose of that config property is meant to be to specify a demo scenario for demoing/prototyping, so that's probably not the smartest approach.
+However the purpose of that config property is meant to be to setup an application-specific scenario for demoing/prototyping, so that's probably not the smartest approach.
 
-Better is to write a little domain service to do the seeding of security data for you.
+A better approach is to write a little domain service to do the seeding of security data for you.
 The service below will set up the default roles and permissions for the framework's own modules:
 
 [source,java]
@@ -308,10 +308,11 @@ public class SeedSecurityService {
 
     private final FixtureScripts fixtureScripts;
     private final TransactionService transactionService;
+    private final IsisSystemEnvironment isisSystemEnvironment;
 
     @EventListener(MetamodelEvent.class)
     public void onMetamodelEvent(final MetamodelEvent event) {
-        if (event.isPostMetamodel()) {
+        if (event.isPostMetamodel() && isisSystemEnvironment.isPrototyping()) {
             runScripts();
             transactionService.flushTransaction();
         }
@@ -319,7 +320,6 @@ public class SeedSecurityService {
 
     private void runScripts() {
         fixtureScripts.run(new CustomRolesAndUsers());
-    }
 }
 ----
 


[isis] 11/17: Merge branch 'ISIS-3187'

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 59db361691803ee341f83b813b69c3ea17e61e41
Merge: a969a6dc4c 4079486392
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 11:07:56 2022 +0100

    Merge branch 'ISIS-3187'

 .../secman/pages/setting-up-with-shiro.adoc        |  2 +-
 .../adoc/modules/secman/pages/setting-up.adoc      | 28 +++++++--------
 ...va => IsisExtAuditTrailRoleAndPermissions.java} |  8 ++---
 ...va => IsisExtCommandLogRoleAndPermissions.java} | 10 +++---
 ... => IsisExtExecutionLogRoleAndPermissions.java} |  8 ++---
 ... IsisExtExecutionOutboxRoleAndPermissions.java} |  8 ++---
 .../seed/IsisExtSecmanAdminRoleAndPermissions.java |  6 ++--
 ...va => IsisExtSessionLogRoleAndPermissions.java} |  8 ++---
 .../scripts/SeedUsersAndRolesFixtureScript.java    | 41 ++++++++++++++++------
 .../applib/user/seed/IsisExtSecmanAdminUser.java   | 13 +++++--
 10 files changed, 81 insertions(+), 51 deletions(-)


[isis] 08/17: Merge branch 'ISIS-3191'

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3189
in repository https://gitbox.apache.org/repos/asf/isis.git

commit a969a6dc4c84b4ee2abe9ccc69f4556642e9bc84
Merge: ee89d943ee 64bc94278f
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Aug 29 11:06:06 2022 +0100

    Merge branch 'ISIS-3191'

 .../extensions/sessionlog/applib/IsisModuleExtSessionLogApplib.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)