You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2025/10/19 11:32:17 UTC
(causeway) 23/36: CAUSEWAY-3866: removes more references to JDO in .adoc etc
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch CAUSEWAY-3866
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 77ecdb5941595eeee3033bdb59965f5e16cda470
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Oct 18 15:29:02 2025 +0100
CAUSEWAY-3866: removes more references to JDO in .adoc etc
---
causeway-tooling.yml | 1 -
.../sections/causeway.persistence.commons.adoc | 4 +-
.../sections/causeway.persistence.schema.adoc | 7 ++-
.../changetracking/EntityChangeTracker.java | 3 +-
...yPersistenceJdoMetaModelRoleAndPermissions.java | 53 ----------------------
.../scripts/SeedUsersAndRolesFixtureScript.java | 1 -
.../adoc/modules/starters/pages/simpleapp.adoc | 2 +-
7 files changed, 7 insertions(+), 64 deletions(-)
diff --git a/causeway-tooling.yml b/causeway-tooling.yml
index 67ebeb2bdce..584096ffd33 100644
--- a/causeway-tooling.yml
+++ b/causeway-tooling.yml
@@ -35,7 +35,6 @@ commands:
Persistence: org.apache.causeway.persistence
"Persistence Commons": "org.apache.causeway.persistence:causeway-persistence-commons.*"
- JDO: "org.apache.causeway.persistence:causeway-persistence-jdo.*"
JPA: "org.apache.causeway.persistence:causeway-persistence-jpa.*"
Security: org.apache.causeway.security
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/causeway.persistence.commons.adoc b/core/config/src/main/adoc/modules/config/pages/sections/causeway.persistence.commons.adoc
index c5a98025fbd..06bd6653eb2 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/causeway.persistence.commons.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/causeway.persistence.commons.adoc
@@ -31,7 +31,7 @@ suppress-auto-flush
| true
| Normally any query submitted to `RepositoryService#allMatches(Query)` will trigger a flush first, unless auto-flush has been disabled.
-However, this auto-flush behaviour can be troublesome if the query occurs as a side-effect of the evaluation of a derived property, whose value in turn is enlisted by an implementation of a subscriber (in particular `EntityPropertyChangeSubscriber`) which captures the value of all properties (both persisted and derived). However, this behaviour can (at least under JDO), result in a `ConcurrentModificationException`.
+However, this auto-flush behaviour can be troublesome if the query occurs as a side effect of the evaluation of a derived property, whose value in turn is enlisted by an implementation of a subscriber (in particular `EntityPropertyChangeSubscriber`) which captures the value of all properties (both persisted and derived). However, this behaviour may result in a `ConcurrentModificationException`.
By default, `EntityChangeTracker` will therefore temporarily suppress any auto-flushing while this is ongoing. The purpose of this configuration property is to never suppress, ie always autoflush.
@@ -42,7 +42,7 @@ causeway.persistence.commons. +
repository-service. +
disable-auto-flush
-|
+|
| Normally any queries are automatically preceded by flushing pending executions.
This key allows this behaviour to be disabled.
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/causeway.persistence.schema.adoc b/core/config/src/main/adoc/modules/config/pages/sections/causeway.persistence.schema.adoc
index 8bfb139ae26..e4f9654b300 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/causeway.persistence.schema.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/causeway.persistence.schema.adoc
@@ -16,16 +16,15 @@ include::../section-hooks/causeway.persistence.schema~pre.adoc[]
causeway.persistence.schema. +
additional-orm-files
-|
-| Does lookup additional "mapping-files" in META-INF/orm-_name_.xml (equivalent to "mapping-file" entries in persistence.xml) and adds these to those that are already configured the _Spring Data_ way (if any). NOTE: not implemented for JDO
-
+|
+| Does lookup additional "mapping-files" in META-INF/orm-_name_.xml (equivalent to "mapping-file" entries in persistence.xml) and adds these to those that are already configured the _Spring Data_ way (if any).
|
[[causeway.persistence.schema.auto-create-schemas]]
causeway.persistence.schema. +
auto-create-schemas
-|
+|
| List of additional schemas to be auto-created.
Explicitly creates given list of schemas by using the specified `#getCreateSchemaSqlTemplate()` to generate the actual SQL statement against the configured data-source.
diff --git a/core/transaction/src/main/java/org/apache/causeway/core/transaction/changetracking/EntityChangeTracker.java b/core/transaction/src/main/java/org/apache/causeway/core/transaction/changetracking/EntityChangeTracker.java
index cbf02787e05..effd156780f 100644
--- a/core/transaction/src/main/java/org/apache/causeway/core/transaction/changetracking/EntityChangeTracker.java
+++ b/core/transaction/src/main/java/org/apache/causeway/core/transaction/changetracking/EntityChangeTracker.java
@@ -59,8 +59,7 @@ public interface EntityChangeTracker extends DisposableBean {
* </p>
*
* @param entity
- * @param propertyChangeRecordSupplier - optional parameter (as a performance optimization)
- * to provide the pre-computed {@link PropertyChangeRecord}s from the ORM. JPA does this, JDO does not.
+ * @param propertyChangeRecordSupplier - provide the pre-computed {@link PropertyChangeRecord}s from the ORM; supported by JPA.
*/
void enlistUpdating(ManagedObject entity, @Nullable Function<ManagedObject, Can<PropertyChangeRecord>> propertyChangeRecordSupplier);
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/causeway/extensions/secman/applib/role/seed/CausewayPersistenceJdoMetaModelRoleAndPermissions.java b/extensions/security/secman/applib/src/main/java/org/apache/causeway/extensions/secman/applib/role/seed/CausewayPersistenceJdoMetaModelRoleAndPermissions.java
deleted file mode 100644
index ed16402b9da..00000000000
--- a/extensions/security/secman/applib/src/main/java/org/apache/causeway/extensions/secman/applib/role/seed/CausewayPersistenceJdoMetaModelRoleAndPermissions.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.causeway.extensions.secman.applib.role.seed;
-
-import org.apache.causeway.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.causeway.commons.collections.Can;
-import org.apache.causeway.extensions.secman.applib.permission.dom.ApplicationPermissionMode;
-import org.apache.causeway.extensions.secman.applib.permission.dom.ApplicationPermissionRule;
-import org.apache.causeway.extensions.secman.applib.role.fixtures.AbstractRoleAndPermissionsFixtureScript;
-
-/**
- * Sets up a role with access to the menu actions to download the JDO metamodel.
- *
- * @since 2.0 {@index}
- */
-public class CausewayPersistenceJdoMetaModelRoleAndPermissions
-extends AbstractRoleAndPermissionsFixtureScript {
-
- private static final String SERVICE_LOGICAL_TYPE_NAME = "causeway.persistence.jdo.JdoMetamodelMenu";
-
- public static final String ROLE_NAME = SERVICE_LOGICAL_TYPE_NAME.replace(".","-");
-
- public CausewayPersistenceJdoMetaModelRoleAndPermissions() {
- super(ROLE_NAME, "Access to download the JDO metamodel");
- }
-
- @Override
- protected void execute(ExecutionContext executionContext) {
- newPermissions(
- ApplicationPermissionRule.ALLOW,
- ApplicationPermissionMode.CHANGING,
- Can.of(
- ApplicationFeatureId.newType(SERVICE_LOGICAL_TYPE_NAME)
- )
- );
- }
-}
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/causeway/extensions/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.java b/extensions/security/secman/applib/src/main/java/org/apache/causeway/extensions/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.java
index b62fb6d4a15..b03d06daa3b 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/causeway/extensions/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/causeway/extensions/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.java
@@ -50,7 +50,6 @@
import org.apache.causeway.extensions.secman.applib.role.seed.CausewayExtSecmanAdminRoleAndPermissions;
import org.apache.causeway.extensions.secman.applib.role.seed.CausewayExtSecmanRegularUserRoleAndPermissions;
import org.apache.causeway.extensions.secman.applib.role.seed.CausewayExtSessionLogRoleAndPermissions;
-import org.apache.causeway.extensions.secman.applib.role.seed.CausewayPersistenceJdoMetaModelRoleAndPermissions;
import org.apache.causeway.extensions.secman.applib.role.seed.CausewaySudoImpersonateRoleAndPermissions;
import org.apache.causeway.extensions.secman.applib.role.seed.CausewayViewerRestfulObjectsSwaggerRoleAndPermissions;
import org.apache.causeway.extensions.secman.applib.seed.SeedSecurityModuleService;
diff --git a/starters/adoc/modules/starters/pages/simpleapp.adoc b/starters/adoc/modules/starters/pages/simpleapp.adoc
index eb560d818b3..cde1ec72b3e 100644
--- a/starters/adoc/modules/starters/pages/simpleapp.adoc
+++ b/starters/adoc/modules/starters/pages/simpleapp.adoc
@@ -914,7 +914,7 @@ If you run into issues, please don't hesitate to ask for help on the users maili
The application is configured by default uses H2 as an inmemory database, with <<fixtures,fixtures>> used to populate the database with representative data.
To deploy to production though of course will require a persistent database, and the schema of the tables will be explicitly managed.
-Although both JDO and JPA can automatically create the database schema, many development teams choose to manage the schema externally to the ORM.
+Although xref:pjpa:ROOT:about.adoc[JPA/Eclipselink] can automatically create the database schema, many development teams choose to manage the schema externally to the ORM.
A popular tool to do this is link:https://flywaydb.org/[Flyway], and Spring Boot provides automatic support for it using link:https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#common-application-properties-data-migration[these configuration properties].