You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/01/15 11:08:13 UTC

[isis] branch master updated: ISIS-2480: update sys overview (adoc)

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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new c934b93  ISIS-2480: update sys overview (adoc)
c934b93 is described below

commit c934b938ecbd998fef45e2e5bafeaf3c32179713
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jan 15 12:08:03 2021 +0100

    ISIS-2480: update sys overview (adoc)
---
 .../pages/index/applib/annotation/Nature.adoc      |  17 +--
 .../index/applib/services/metamodel/BeanSort.adoc  |  12 +--
 .../applib/services/xactn/TransactionService.adoc  |  18 ++--
 .../pages/index/commons/having/HasUniqueId.adoc    |   2 +-
 .../transaction/TransactionServiceSpring.adoc      |  37 +++++++
 .../jdo/applib/integration/JdoSupportService.adoc  | 116 +++++++++++++++++++++
 .../modules/generated/pages/system-overview.adoc   | 100 +++++++-----------
 7 files changed, 207 insertions(+), 95 deletions(-)

diff --git a/antora/components/system/modules/generated/pages/index/applib/annotation/Nature.adoc b/antora/components/system/modules/generated/pages/index/applib/annotation/Nature.adoc
index d275e92..1f323b4 100644
--- a/antora/components/system/modules/generated/pages/index/applib/annotation/Nature.adoc
+++ b/antora/components/system/modules/generated/pages/index/applib/annotation/Nature.adoc
@@ -12,9 +12,7 @@ enum Nature {
 
   NOT_SPECIFIED // <.>
 
-  JDO_ENTITY // <.>
-
-  JPA_ENTITY // <.>
+  ENTITY // <.>
 
   VIEW_MODEL // <.>
 
@@ -31,19 +29,10 @@ enum Nature {
 --
 The default; allows the programmer to combine `@DomainObject` annotation with the xref:system:generated:index/applib/ViewModel.adoc[ViewModel] annotation, or the _XmlRootElement_ annotation, or by implementing the _org.apache.isis.applib.ViewModel_ interface.
 --
-<.> `[teal]#*_JDO_ENTITY_*#`
-+
---
-A domain entity whose persistence is managed internally by Isis, using JDO as the persistence implementation. Domain entities are considered to be part of the domain model layer.
-
-Domain entities are considered to be part of the domain model layer.
-
-Currently implies no additional semantics other than documentation.
---
-<.> `[teal]#*_JPA_ENTITY_*#`
+<.> `[teal]#*_ENTITY_*#`
 +
 --
-A domain entity whose persistence is managed internally by Isis, using JPA as the persistence implementation. Domain entities are considered to be part of the domain model layer.
+A domain entity whose persistence is managed internally by Isis, using JPA or JDO as the persistence implementation.
 
 Domain entities are considered to be part of the domain model layer.
 
diff --git a/antora/components/system/modules/generated/pages/index/applib/services/metamodel/BeanSort.adoc b/antora/components/system/modules/generated/pages/index/applib/services/metamodel/BeanSort.adoc
index 1c1500d..98fc8f9 100644
--- a/antora/components/system/modules/generated/pages/index/applib/services/metamodel/BeanSort.adoc
+++ b/antora/components/system/modules/generated/pages/index/applib/services/metamodel/BeanSort.adoc
@@ -10,9 +10,7 @@ enum BeanSort {
 
   VIEW_MODEL // <.>
 
-  ENTITY_JDO // <.>
-
-  ENTITY_JPA
+  ENTITY // <.>
 
   MANAGED_BEAN_CONTRIBUTING // <.>
 
@@ -36,16 +34,12 @@ enum BeanSort {
 
   boolean isCollection()
 
-  boolean isEntityJdo()
-
-  boolean isEntityJpa()
+  boolean isEntity()
 
   boolean isUnknown()
 
   boolean isToBeIntrospected()
 
-  boolean isEntity()
-
   boolean isWrappingSupported()
 }
 ----
@@ -59,7 +53,7 @@ Includes classes annotated with _@DomainObject_ , when *not* associated with a p
 
 see also _#ENTITY_
 --
-<.> `[teal]#*_ENTITY_JDO_*#`
+<.> `[teal]#*_ENTITY_*#`
 +
 --
 Persistable object, associated with a persistence layer/context.
diff --git a/antora/components/system/modules/generated/pages/index/applib/services/xactn/TransactionService.adoc b/antora/components/system/modules/generated/pages/index/applib/services/xactn/TransactionService.adoc
index 5f84b71..c01bfca 100644
--- a/antora/components/system/modules/generated/pages/index/applib/services/xactn/TransactionService.adoc
+++ b/antora/components/system/modules/generated/pages/index/applib/services/xactn/TransactionService.adoc
@@ -1,14 +1,14 @@
 = TransactionService : _interface_
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-Handles _global_ transactions. Global transactions enable you to work with multiple transactional resources, typically relational databases.
+Provides utilities to access active transactions associated with the current thread.
 
 .Java Sources
 [source,java]
 ----
 interface TransactionService {
 
-  TransactionId currentTransactionId() // <.>
+  Optional<TransactionId> currentTransactionId() // <.>
 
   TransactionState currentTransactionState() // <.>
 
@@ -18,22 +18,28 @@ interface TransactionService {
 }
 ----
 
-<.> `[teal]#*currentTransactionId*#()` : `xref:system:generated:index/applib/services/xactn/TransactionId.adoc[TransactionId]`
+<.> `[teal]#*currentTransactionId*#()` : `Optional<xref:system:generated:index/applib/services/xactn/TransactionId.adoc[TransactionId]>`
 +
 --
-When called within an existing transactional boundary returns the unique identifier to the transaction, _null_ otherwise.
+Optionally returns the unique identifier of the current thread's transaction, based on whether there is an active transaction associated with the current thread.
 --
 <.> `[teal]#*currentTransactionState*#()` : `xref:system:generated:index/applib/services/xactn/TransactionState.adoc[TransactionState]`
++
+--
+Returns the state of the current thread's transaction., or returns _TransactionState#NONE_ , if there is no active transaction associated with the current thread.
+--
 <.> `[teal]#*flushTransaction*#()` : `void`
 +
 --
-Flush all changes to the object store.
+Flushes all changes to the object store.
 
 Occasionally useful to ensure that newly persisted domain objects are flushed to the database prior to a subsequent repository query.
+
+If there is no active transaction associated with the current thread, then does nothing.
 --
 <.> `[teal]#*nextTransaction*#()` : `void`
 +
 --
-Commits the current transaction (if there is one), and begins a new one. If there is no current transaction, then is a no-op.
+Commits the current thread's transaction (if there is one), and in any case begins a new one.
 --
 
diff --git a/antora/components/system/modules/generated/pages/index/commons/having/HasUniqueId.adoc b/antora/components/system/modules/generated/pages/index/commons/having/HasUniqueId.adoc
index 981cdc1..ae65adc 100644
--- a/antora/components/system/modules/generated/pages/index/commons/having/HasUniqueId.adoc
+++ b/antora/components/system/modules/generated/pages/index/commons/having/HasUniqueId.adoc
@@ -13,6 +13,6 @@ interface HasUniqueId {
 <.> `[teal]#*getUniqueId*#()` : `UUID`
 +
 --
-The unique identifier (a GUID) of the request/interaction/transaction.
+A unique identifier (a GUID).
 --
 
diff --git a/antora/components/system/modules/generated/pages/index/core/runtimeservices/transaction/TransactionServiceSpring.adoc b/antora/components/system/modules/generated/pages/index/core/runtimeservices/transaction/TransactionServiceSpring.adoc
new file mode 100644
index 0000000..69d2a50
--- /dev/null
+++ b/antora/components/system/modules/generated/pages/index/core/runtimeservices/transaction/TransactionServiceSpring.adoc
@@ -0,0 +1,37 @@
+= TransactionServiceSpring : _class_
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+
+.Java Sources
+[source,java]
+----
+class TransactionServiceSpring {
+
+  TransactionServiceSpring(final List<PlatformTransactionManager> platformTransactionManagers, final InteractionTracker interactionTracker)
+
+  Result<T> callTransactional(TransactionDefinition def, Callable<T> callable)
+
+  void nextTransaction()
+
+  void flushTransaction()
+
+  Optional<TransactionId> currentTransactionId()
+
+  TransactionState currentTransactionState()
+
+  void beforeEnteringTransactionalBoundary(InteractionSession interactionSession) // <.>
+
+  void onTransactionEnded(TransactionAfterCompletionEvent event) // <.>
+}
+----
+
+<.> `[teal]#*beforeEnteringTransactionalBoundary*#(InteractionSession interactionSession)` : `void`
++
+--
+INTERACTION BEGIN BOUNDARY
+--
+<.> `[teal]#*onTransactionEnded*#(xref:system:generated:index/core/transaction/events/TransactionAfterCompletionEvent.adoc[TransactionAfterCompletionEvent] event)` : `void`
++
+--
+TRANSACTION END BOUNDARY
+--
+
diff --git a/antora/components/system/modules/generated/pages/index/persistence/jdo/applib/integration/JdoSupportService.adoc b/antora/components/system/modules/generated/pages/index/persistence/jdo/applib/integration/JdoSupportService.adoc
new file mode 100644
index 0000000..cdf2637
--- /dev/null
+++ b/antora/components/system/modules/generated/pages/index/persistence/jdo/applib/integration/JdoSupportService.adoc
@@ -0,0 +1,116 @@
+= JdoSupportService : _interface_
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+
+Primarily provides access to the current thread's _PersistenceManagerFactory_ and hence also the current thread's _PersistenceManager_ .
+
+.Java Sources
+[source,java]
+----
+interface JdoSupportService {
+
+  PersistenceManagerFactory getPersistenceManagerFactory()
+
+  T refresh(T domainObject) // <.>
+
+  void ensureLoaded(Collection<?> collectionOfDomainObjects)
+
+  List<Map<String, Object>> executeSql(String sql)
+
+  Integer executeUpdate(String sql)
+
+  void deleteAll(Class<?>... pcClasses) // <.>
+
+  List<T> executeQuery(final Class<T> cls, final BooleanExpression filter) // <.>
+
+  List<T> executeQuery(final Class<T> cls)
+
+  T executeQueryUnique(final Class<T> cls, final BooleanExpression filter) // <.>
+
+  T executeQueryUnique(final Class<T> cls)
+
+  JDOQLTypedQuery<T> newTypesafeQuery(Class<T> cls) // <.>
+
+  void disableMultivaluedFetch(JDOQLTypedQuery<?> query) // <.>
+
+  void disableMultivaluedFetch(Query<?> query) // <.>
+
+  PersistenceManager getPersistenceManager()
+}
+----
+
+<.> `[teal]#*refresh*#<T>(T domainObject)` : `T`
++
+--
+Force a reload (corresponding to the JDO `PersistenceManager` 's `refresh()` method) of a domain objects.
+
+In fact, this may just reset the lazy-load state of the domain object, but the effect is the same: to cause the object's state to be reloaded from the database.
+
+The particular example that led to this method being added was a 1:m bidirectional relationship, analogous to `Customer <-> * Order` . Persisting the child `Order` object did not cause the parent `Customer` 's collection of orders to be updated. In fact, JDO does not make any such guarantee to do so. Options are therefore either to maintain the collection in code, or to refresh the parent.
+--
+<.> `[teal]#*deleteAll*#(Class<?>... pcClasses)` : `void`
++
+--
+Force the deletion of all instances of the specified class.
+
+Note: this is intended primarily for testing purposes, eg clearing existing data as part of installing fixtures. It will generate a `SQL DELETE` for each instance. To perform a bulk deletion with a single `SQL DELETE` , use _#executeUpdate(String)_ .
+
+Implementation note: It can occasionally be the case that Isis' internal adapter for the domain object is still in memory. JDO/DataNucleus seems to bump up the version of the object prior to its deletion, which under normal circumstances would cause Isis to throw a concurrency exception. Therefore To prevent this from happening (ie to _force_ the deletion of all instances), concurrency checking is temporarily disabled while this method is performed.
+--
+<.> `[teal]#*executeQuery*#<T>(Class<T> cls, BooleanExpression filter)` : `List<T>`
++
+--
+To perform the most common use-case of executing a (type-safe) query against the specified class, filtering using the provided _BooleanExpression_ , then automatically cloning the returned list and closing the query.
+
+Typical usage:
+
+----
+
+         final QToDoItem q = QToDoItem.candidate();
+         return executeQuery(ToDoItem.class,
+                             q.atPath.eq(atPath).and(
+                             q.description.indexOf(description).gt(0))
+                             );
+    
+----
+
+--
+<.> `[teal]#*executeQueryUnique*#<T>(Class<T> cls, BooleanExpression filter)` : `T`
++
+--
+To perform a common use-case of executing a (type-safe) query against the specified class, filtering a unique match using the provided _BooleanExpression_ , then returning the result and closing the query.
+
+Typical usage:
+
+----
+
+         final QToDoItem q = QToDoItem.candidate();
+         return executeQueryUnique(ToDoItem.class,
+                             q.atPath.eq(atPath).and(
+                             q.description.eq(description))
+                             );
+    
+----
+
+--
+<.> `[teal]#*newTypesafeQuery*#<T>(Class<T> cls)` : `JDOQLTypedQuery<T>`
++
+--
+To support the execution of type-safe queries using DataNucleus' lower-level APIs (eg for group by and so on).
+
+Responsibility for cloning any result sets and closing the query is the responsibility of the caller.
+--
+<.> `[teal]#*disableMultivaluedFetch*#(JDOQLTypedQuery<?> query)` : `void`
++
+--
+Fetch Optimization
+
+FromDN-5.2...
+
+For RDBMS any single-valued member will be fetched in the original SQL query, but with multiple-valued members this is not supported. However what will happen is that any collection/array field will be retrieved in a single SQL query for all candidate objects (by default using an EXISTS subquery); this avoids the "N+1" problem, resulting in 1 original SQL query plus 1 SQL query per collection member. Note that you can disable this by either not putting multi-valued fields in the FetchPla [...]
+--
+<.> `[teal]#*disableMultivaluedFetch*#(xref:system:generated:index/applib/query/Query.adoc[Query]<?> query)` : `void`
++
+--
+Fetch Optimization
+--
+
diff --git a/antora/components/system/modules/generated/pages/system-overview.adoc b/antora/components/system/modules/generated/pages/system-overview.adoc
index 9053f87..667c6be 100644
--- a/antora/components/system/modules/generated/pages/system-overview.adoc
+++ b/antora/components/system/modules/generated/pages/system-overview.adoc
@@ -400,7 +400,8 @@ Folder: \core\interaction
 
 _Components_
 
-* o.a.i.core.interaction.scope.IsisInteractionScopeBeanFactoryPostProcessor
+* o.a.i.core.interaction.integration.InteractionAwareTransactionalBoundaryHandler
+* o.a.i.core.interaction.scope.InteractionScopeBeanFactoryPostProcessor
 
 _Dependencies_
 
@@ -499,6 +500,7 @@ Folder: \core\runtime
 _Components_
 
 * o.a.i.core.runtime.events.AppLifecycleEventService
+* o.a.i.core.runtime.events.TransactionEventEmitter
 
 _Dependencies_
 
@@ -564,7 +566,7 @@ _Dependencies_
 
 _Document Index Entries_
 
-xref:system:generated:index/core/runtimeservices/xml/XmlServiceDefault.adoc[XmlServiceDefault], xref:system:generated:index/core/runtimeservices/xmlsnapshot/XmlSnapshotServiceDefault.adoc[XmlSnapshotServiceDefault]
+xref:system:generated:index/core/runtimeservices/transaction/TransactionServiceSpring.adoc[TransactionServiceSpring], xref:system:generated:index/core/runtimeservices/xml/XmlServiceDefault.adoc[XmlServiceDefault], xref:system:generated:index/core/runtimeservices/xmlsnapshot/XmlSnapshotServiceDefault.adoc[XmlSnapshotServiceDefault]
 
 |Apache Isis Core - Security
 [source,yaml]
@@ -1109,11 +1111,6 @@ skinparam rectangle<<12>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<13>> {
-  BackgroundColor #438dd5
-  FontColor #fffffe
-  BorderColor #2E6295
-}
 skinparam rectangle<<2>> {
   BackgroundColor #438dd5
   FontColor #fffffe
@@ -1161,28 +1158,26 @@ skinparam rectangle<<10>> {
 }
 package "Persistence\n[Software System]" {
   rectangle "==Apache Isis Persistence - JDO\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
-  rectangle "==Apache Isis Persistence - JDO (Spring)\n<size:10>[Container: packaging: jar]</size>" <<9>> as 9
+  rectangle "==Apache Isis Persistence - JDO (Spring)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
   rectangle "==Apache Isis Persistence - JDO (applib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
   rectangle "==Apache Isis Persistence - JDO (integration)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
-  rectangle "==Apache Isis Persistence - JDO (lightweight integration)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
-  rectangle "==Apache Isis Persistence - JDO (metamodel)\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
-  rectangle "==Apache Isis Persistence - JDO (provider)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
+  rectangle "==Apache Isis Persistence - JDO (metamodel)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
+  rectangle "==Apache Isis Persistence - JDO (provider)\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
   rectangle "==Apache Isis Persistence - JDO Provider (DataNucleus)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
-  rectangle "==Apache Isis Persistence - JPA\n<size:10>[Container: packaging: pom]</size>" <<10>> as 10
-  rectangle "==Apache Isis Persistence - JPA (applib)\n<size:10>[Container: packaging: jar]</size>" <<11>> as 11
-  rectangle "==Apache Isis Persistence - JPA (integration)\n<size:10>[Container: packaging: jar]</size>" <<13>> as 13
-  rectangle "==Apache Isis Persistence - JPA EclipseLink\n<size:10>[Container: packaging: jar]</size>" <<12>> as 12
+  rectangle "==Apache Isis Persistence - JPA\n<size:10>[Container: packaging: pom]</size>" <<9>> as 9
+  rectangle "==Apache Isis Persistence - JPA (applib)\n<size:10>[Container: packaging: jar]</size>" <<10>> as 10
+  rectangle "==Apache Isis Persistence - JPA (integration)\n<size:10>[Container: packaging: jar]</size>" <<12>> as 12
+  rectangle "==Apache Isis Persistence - JPA EclipseLink\n<size:10>[Container: packaging: jar]</size>" <<11>> as 11
 }
-2 .[#707070].> 9 : ""
+2 .[#707070].> 8 : ""
 2 .[#707070].> 3 : ""
 2 .[#707070].> 5 : ""
 2 .[#707070].> 6 : ""
 2 .[#707070].> 7 : ""
-2 .[#707070].> 8 : ""
 2 .[#707070].> 4 : ""
-10 .[#707070].> 11 : ""
-10 .[#707070].> 13 : ""
-10 .[#707070].> 12 : ""
+9 .[#707070].> 10 : ""
+9 .[#707070].> 12 : ""
+9 .[#707070].> 11 : ""
 @enduml
 ----
 .Projects/Modules (Persistence)
@@ -1217,6 +1212,10 @@ _Dependencies_
 * org.datanucleus:datanucleus-rdbms:jar:<managed>
 * org.datanucleus:javax.jdo:jar:<managed>
 
+_Document Index Entries_
+
+xref:system:generated:index/persistence/jdo/applib/integration/JdoSupportService.adoc[JdoSupportService]
+
 |Apache Isis Persistence - JDO Provider (DataNucleus)
 [source,yaml]
 ----
@@ -1230,7 +1229,12 @@ Folder: \persistence\jdo\datanucleus
 _Components_
 
 * o.a.i.persistence.jdo.datanucleus.config.DnEntityDiscoveryListener
+* o.a.i.persistence.jdo.datanucleus.config.DnSettings
 * o.a.i.persistence.jdo.datanucleus.entities.DnEntityStateProvider
+* o.a.i.persistence.jdo.datanucleus.exceptions.recognizers.ExceptionRecognizerForJDODataStoreException
+* o.a.i.persistence.jdo.datanucleus.exceptions.recognizers.ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException
+* o.a.i.persistence.jdo.datanucleus.exceptions.recognizers.ExceptionRecognizerForJDOObjectNotFoundException
+* o.a.i.persistence.jdo.datanucleus.exceptions.recognizers.ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException
 
 _Dependencies_
 
@@ -1256,16 +1260,9 @@ Folder: \persistence\jdo\integration
 
 _Components_
 
-* o.a.i.persistence.jdo.integration.config.DataNucleusSettings
-* o.a.i.persistence.jdo.integration.exceprecog.ExceptionRecognizerForJDODataStoreException
-* o.a.i.persistence.jdo.integration.exceprecog.ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException
-* o.a.i.persistence.jdo.integration.exceprecog.ExceptionRecognizerForJDOObjectNotFoundException
-* o.a.i.persistence.jdo.integration.exceprecog.ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException
 * o.a.i.persistence.jdo.integration.jdosupport.IsisJdoSupportDN5
-* o.a.i.persistence.jdo.integration.lifecycles.JdoPersistenceLifecycleService
 * o.a.i.persistence.jdo.integration.metamodel.JdoIntegrationProgrammingModel
-* o.a.i.persistence.jdo.integration.persistence.IsisPlatformTransactionManagerForJdo
-* o.a.i.persistence.jdo.integration.persistence.PersistenceSessionFactory5
+* o.a.i.persistence.jdo.integration.schema.JdoSchemaService
 
 _Dependencies_
 
@@ -1282,32 +1279,6 @@ _Document Index Entries_
 
 xref:system:generated:index/persistence/jdo/integration/schema/JdoSchemaService.adoc[JdoSchemaService]
 
-|Apache Isis Persistence - JDO (lightweight integration)
-[source,yaml]
-----
-Group: org.apache.isis.persistence
-Artifact: isis-persistence-jdo-lightweight
-Type: jar
-Folder: \persistence\jdo\lightweight
-----
-|JDO lightweight integration (experimental)
-
-_Components_
-
-* o.a.i.persistence.jdo.lightweight.metamodel.JdoLightweightProgrammingModel
-* o.a.i.persistence.jdo.lightweight.services.LightweightJdoSupport
-
-_Dependencies_
-
-* org.apache.isis.commons:isis-commons:jar:<managed>
-* org.apache.isis.core:isis-applib:jar:<managed>
-* org.apache.isis.core:isis-core-internaltestsupport:jar:<managed>
-* org.apache.isis.core:isis-core-runtime:jar:<managed>
-* org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed>
-* org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed>
-* org.apache.isis.persistence:isis-persistence-jdo-metamodel:jar:<managed>
-* org.apache.isis.persistence:isis-persistence-jdo-spring:jar:<managed>
-
 |Apache Isis Persistence - JDO (metamodel)
 [source,yaml]
 ----
@@ -1557,12 +1528,12 @@ skinparam {
   maxMessageSize 100
 }
 hide stereotype
-skinparam rectangle<<22>> {
+skinparam rectangle<<11>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<11>> {
+skinparam rectangle<<22>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
@@ -1652,12 +1623,12 @@ skinparam rectangle<<20>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<21>> {
+skinparam rectangle<<10>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<10>> {
+skinparam rectangle<<21>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
@@ -1802,9 +1773,9 @@ Folder: \valuetypes\asciidoc\ui
 ----
 |_Dependencies_
 
-* com.github.jnr:jnr-constants:jar:0.10.0
-* com.github.jnr:jnr-enxio:jar:0.32.1
-* com.github.jnr:jnr-posix:jar:3.1.3
+* com.github.jnr:jnr-constants:jar:0.10.1
+* com.github.jnr:jnr-enxio:jar:0.32.3
+* com.github.jnr:jnr-posix:jar:3.1.4
 * org.apache.isis.core:isis-core-metamodel:jar:<managed>
 * org.apache.isis.valuetypes:isis-valuetypes-asciidoc-applib:jar:<managed>
 * org.asciidoctor:asciidoctorj:jar:${asciidoctorj.version}
@@ -2819,13 +2790,11 @@ _Dependencies_
 * org.apache.isis.mavendeps:isis-mavendeps-jdo:pom:<managed>
 * org.apache.isis.mavendeps:isis-mavendeps-jpa:pom:<managed>
 * org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed>
-* org.apache.isis.persistence:isis-persistence-jdo-lightweight:jar:<managed>
 * org.apache.isis.security:isis-security-shiro:jar:<managed>
 * org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed>
 * org.apache.isis.testing:isis-testing-specsupport-applib:jar:<managed>
 * org.apache.isis.tooling:isis-tooling-model4adoc:jar:${project.version}
 * org.apache.isis.viewer:isis-viewer-common:jar:<managed>
-* org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.7.7
 * org.glassfish:javax.json:jar:1.1.4
 * org.glassfish.jersey.ext:jersey-spring5:jar:<managed>
 * org.projectlombok:lombok:jar:<managed>
@@ -2847,6 +2816,7 @@ Folder: \regressiontests\stable
 * o.a.i.testdomain.applayer.publishing.EntityPropertyChangeSubscriberForTesting
 * o.a.i.testdomain.applayer.publishing.ExecutionSubscriberForTesting
 * o.a.i.testdomain.conf.Configuration_headless$HeadlessCommandSupport
+* o.a.i.testdomain.jpa.springdata.EmployeeRepository
 * o.a.i.testdomain.util.interaction.InteractionBoundaryProbe
 * o.a.i.testdomain.util.kv.KVStoreForTesting
 * o.a.i.testdomain.util.rest.RestEndpointService
@@ -3577,12 +3547,12 @@ skinparam rectangle<<11>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<23>> {
+skinparam rectangle<<12>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<12>> {
+skinparam rectangle<<23>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295