This is an automated email from the ASF dual-hosted git repository. pcristof pushed a commit to branch OPENJPA-2940 in repository https://gitbox.apache.org/repos/asf/openjpa.git
commit cc17e19b88b63d3ce3d2ce27456a0fb71995b330 Author: Paulo Cristovão de Araújo Silva Filho <pcris...@gmail.com> AuthorDate: Sun Jul 13 09:28:06 2025 -0300 [OPENJPA-2940][WIP] Intermmediate commit * Reverting unnecessary changes * Fixing broken map synchronization --- .../apache/openjpa/jdbc/kernel/JDBCBrokerFactory.java | 10 +++++++--- .../org/apache/openjpa/conf/SpecificationPlugin.java | 2 +- .../java/org/apache/openjpa/kernel/BrokerFactory.java | 8 ++++---- .../apache/openjpa/kernel/DelegatingBrokerFactory.java | 10 +++++----- .../openjpa/persistence/PersistenceProviderImpl.java | 17 +++++++++-------- 5 files changed, 26 insertions(+), 21 deletions(-) diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/JDBCBrokerFactory.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/JDBCBrokerFactory.java index e132ee2ee..efc5d9ff0 100644 --- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/JDBCBrokerFactory.java +++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/JDBCBrokerFactory.java @@ -162,7 +162,7 @@ public class JDBCBrokerFactory extends AbstractBrokerFactory { public void validatePersistenceStruture() throws OpenJPAException { JDBCConfiguration conf = (JDBCConfiguration) getConfiguration(); Broker broker = super.newBrokerImpl(conf.getConnectionUserName(), conf.getConnectionPassword()); - synchronizeMappings(broker.getClassLoader(), conf, "buildSchema(ForeignKeys=true,SchemaAction='retain')"); + synchronizeMappings(broker.getClassLoader(), conf, "validate(ForeignKeys=true,SchemaAction='retain')"); } @Override @@ -174,14 +174,18 @@ public class JDBCBrokerFactory extends AbstractBrokerFactory { } protected boolean synchronizeMappings(ClassLoader loader, JDBCConfiguration conf) { - return synchronizeMappings(loader, conf, conf.getSynchronizeMappings()); + mapSchemaGenerationToSynchronizeMappings(conf); + String action = conf.getSynchronizeMappings(); + return synchronizeMappings(loader, conf, action); } - + /** * Synchronize the mappings of the classes listed in the configuration. */ protected boolean synchronizeMappings(ClassLoader loader, JDBCConfiguration conf, String action) { + mapSchemaGenerationToSynchronizeMappings(conf); + if (StringUtil.isEmpty(action)) return false; diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/conf/SpecificationPlugin.java b/openjpa-kernel/src/main/java/org/apache/openjpa/conf/SpecificationPlugin.java index e39819c06..3fe100fae 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/conf/SpecificationPlugin.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/conf/SpecificationPlugin.java @@ -54,7 +54,7 @@ public class SpecificationPlugin extends ObjectValue implements ValueListener { * * @param str can be null to set the Specification to null. * If non-null, then the String must be in Specification format - * @see Specification#createPersistenceStructure(String) + * @see Specification#create(String) */ @Override public void setString(String str) { diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java index 391141396..92d990558 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerFactory.java @@ -166,9 +166,9 @@ public interface BrokerFactory void createPersistenceStructure(boolean createSchemas); void dropPersistenceStrucuture(boolean dropSchemas); - - void validatePersistenceStruture() throws OpenJPAException; - - void truncateData(); + + void validatePersistenceStruture() throws OpenJPAException; + + void truncateData(); } diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java index 42c3b621d..e4d119677 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/DelegatingBrokerFactory.java @@ -261,14 +261,14 @@ public class DelegatingBrokerFactory } } - @Override - public void createPersistenceStructure(boolean createSchemas) { + @Override + public void createPersistenceStructure(boolean createSchemas) { try { _factory.createPersistenceStructure(createSchemas); } catch (RuntimeException re) { throw translate(re); } - } + } @Override public void dropPersistenceStrucuture(boolean dropSchemas) { @@ -278,7 +278,7 @@ public class DelegatingBrokerFactory throw translate(re); } } - + @Override public void validatePersistenceStruture() throws OpenJPAException { try { @@ -287,7 +287,7 @@ public class DelegatingBrokerFactory throw translate(re); } } - + @Override public void truncateData() { try { diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java index 6102cad36..09e30477d 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java @@ -138,22 +138,23 @@ public class PersistenceProviderImpl } } - private BrokerFactory getBrokerFactory(ConfigurationProvider cp, Object poolValue, ClassLoader loader) { + private BrokerFactory getBrokerFactory(ConfigurationProvider cp, + Object poolValue, ClassLoader loader) { // handle "true" and "false" - if (poolValue instanceof String pv && ("true".equalsIgnoreCase(pv) || "false".equalsIgnoreCase(pv))) { - poolValue = Boolean.valueOf(pv); - } + if (poolValue instanceof String + && ("true".equalsIgnoreCase((String) poolValue) + || "false".equalsIgnoreCase((String) poolValue))) + poolValue = Boolean.valueOf((String) poolValue); if (poolValue != null && !(poolValue instanceof Boolean)) { // we only support boolean settings for this option currently. throw new IllegalArgumentException(poolValue.toString()); } - - if (poolValue == null || !((Boolean) poolValue)) { + + if (poolValue == null || !(Boolean) poolValue) return Bootstrap.newBrokerFactory(cp, loader); - } else { + else return Bootstrap.getBrokerFactory(cp, loader); - } } @Override