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 1135734c12df32b2fa6aff690565eaec8387622b Author: Dan Haywood <[email protected]> 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].
