You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2020/06/15 14:52:50 UTC
[airavata] branch
AIRAVATA-3326-improved-database-migration-script-creation updated:
AIRAVATA-3326 Remove unused code
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch AIRAVATA-3326-improved-database-migration-script-creation
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/AIRAVATA-3326-improved-database-migration-script-creation by this push:
new bff2ee2 AIRAVATA-3326 Remove unused code
bff2ee2 is described below
commit bff2ee2bba90cbfe97f9d3b4eda3f8924a04f5fa
Author: Marcus Christie <ma...@iu.edu>
AuthorDate: Mon Jun 15 10:49:56 2020 -0400
AIRAVATA-3326 Remove unused code
---
.../org/apache/airavata/common/utils/JPAUtils.java | 134 +--------------------
.../core/utils/JPAUtil/AppCatalogJPAUtils.java | 2 +-
.../core/utils/JPAUtil/ExpCatalogJPAUtils.java | 2 +-
.../core/utils/JPAUtil/RepCatalogJPAUtils.java | 2 +-
.../core/utils/migration/MappingToolRunner.java | 15 +--
.../utils/migration/MigrationSchemaGenerator.java | 16 +--
6 files changed, 15 insertions(+), 156 deletions(-)
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
index c85ce94..6ec2b67 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java
@@ -3,24 +3,10 @@ package org.apache.airavata.common.utils;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.function.Supplier;
-import javax.persistence.Cache;
-// import javax.persistence.EntityGraph;
-import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
-import javax.persistence.PersistenceUnitUtil;
-// import javax.persistence.Query;
-// import javax.persistence.SynchronizationType;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.metamodel.Metamodel;
-import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
-import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl;
-import org.apache.openjpa.jdbc.meta.MappingTool;
-import org.apache.openjpa.lib.util.Options;
-import org.apache.openjpa.persistence.ArgumentException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,122 +15,6 @@ import org.slf4j.LoggerFactory;
*/
public class JPAUtils {
- private static class EntityManagerFactoryWrapper implements EntityManagerFactory {
-
- private final EntityManagerFactory factory;
- private final JDBCConfig jdbcConfig;
-
- EntityManagerFactoryWrapper(EntityManagerFactory factory, JDBCConfig jdbcConfig) {
- this.factory = factory;
- this.jdbcConfig = jdbcConfig;
- }
-
- @Override
- public EntityManager createEntityManager() {
- return wrapCreateEntityManager(() -> this.factory.createEntityManager());
- }
-
- @Override
- public EntityManager createEntityManager(Map map) {
- return wrapCreateEntityManager(() -> this.factory.createEntityManager(map));
- }
-
- // @Override
- // public EntityManager createEntityManager(SynchronizationType synchronizationType) {
- // return wrapCreateEntityManager(() -> this.factory.createEntityManager(synchronizationType));
- // }
-
- // @Override
- // public EntityManager createEntityManager(SynchronizationType synchronizationType, Map map) {
- // return wrapCreateEntityManager(() -> this.factory.createEntityManager(synchronizationType, map));
- // }
-
- private EntityManager wrapCreateEntityManager(Supplier<EntityManager> entityManagerSupplier) {
-
- try {
- return entityManagerSupplier.get();
- } catch (ArgumentException e) {
-
- Map<String, String> finalProperties = new HashMap<>(JPAUtils.DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES);
- finalProperties.putAll(JPAUtils.createConnectionProperties(this.jdbcConfig));
- JDBCConfiguration jdbcConfiguration = new JDBCConfigurationImpl();
- jdbcConfiguration.fromProperties(finalProperties);
-
- Options options = new Options();
- options.put("sqlFile", "migration.sql");
- // If you want to generate the entire schema instead of just what is
- // needed to bring the database up to date, use schemaAction=build
- // options.put("schemaAction", "build");
- options.put("foreignKeys", "true");
- options.put("indexes", "true");
- options.put("primaryKeys", "true");
- try {
- MappingTool.run(jdbcConfiguration, new String[] {}, options, null);
- } catch (Exception mappingToolEx) {
- logger.error("Failed to run MappingTool", mappingToolEx);
- throw new RuntimeException(
- "Failed to get EntityManager, then failed to run MappingTool to generate migration script",
- e);
- }
- throw new RuntimeException("Failed to get EntityManager, but successfully executed "
- + "MappingTool to generate migration script (to file named "
- + "migration.sql) in case the error was caused by the database "
- + "schema being out of date with the mappings", e);
- }
- }
-
- @Override
- public CriteriaBuilder getCriteriaBuilder() {
- return this.factory.getCriteriaBuilder();
- }
-
- @Override
- public Metamodel getMetamodel() {
- return this.factory.getMetamodel();
- }
-
- @Override
- public boolean isOpen() {
- return this.factory.isOpen();
- }
-
- @Override
- public void close() {
- this.factory.close();
- }
-
- @Override
- public Map<String, Object> getProperties() {
- return this.factory.getProperties();
- }
-
- @Override
- public Cache getCache() {
- return this.factory.getCache();
- }
-
- @Override
- public PersistenceUnitUtil getPersistenceUnitUtil() {
- return this.factory.getPersistenceUnitUtil();
- }
-
- // @Override
- // public void addNamedQuery(String name, Query query) {
- // this.factory.addNamedQuery(name, query);
- // }
-
- // @Override
- // public <T> T unwrap(Class<T> cls) {
- // return this.factory.unwrap(cls);
- // }
-
- // @Override
- // public <T> void addNamedEntityGraph(String graphName, EntityGraph<T> entityGraph) {
- // this.factory.addNamedEntityGraph(graphName, entityGraph);
- // }
-
- }
-
private final static Logger logger = LoggerFactory.getLogger(JPAUtils.class);
private final static Map<String, String> DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES;
static {
@@ -193,11 +63,9 @@ public class JPAUtils {
finalProperties.putAll(createConnectionProperties(jdbcConfig));
finalProperties.putAll(properties);
return Persistence.createEntityManagerFactory(persistenceUnitName, finalProperties);
- // return new EntityManagerFactoryWrapper(
- // Persistence.createEntityManagerFactory(persistenceUnitName, finalProperties), jdbcConfig);
}
- private static Map<String, String> createConnectionProperties(JDBCConfig jdbcConfig) {
+ public static Map<String, String> createConnectionProperties(JDBCConfig jdbcConfig) {
String connectionProperties = "DriverClassName=" + jdbcConfig.getDriver() + "," + "Url=" + jdbcConfig.getURL()
+ "?autoReconnect=true," + "Username=" + jdbcConfig.getUser() + "," + "Password="
+ jdbcConfig.getPassword() + ",validationQuery=" + jdbcConfig.getValidationQuery();
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
index 236b095..58dd139 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
@@ -30,7 +30,7 @@ public class AppCatalogJPAUtils {
// TODO: we can rename this back to appcatalog_data once we completely replace
// the other appcatalog_data persistence context in airavata-registry-core
- private static final String PERSISTENCE_UNIT_NAME = "appcatalog_data_new";
+ public static final String PERSISTENCE_UNIT_NAME = "appcatalog_data_new";
private static final JDBCConfig JDBC_CONFIG = new AppCatalogJDBCConfig();
private static final EntityManagerFactory factory = JPAUtils.getEntityManagerFactory(PERSISTENCE_UNIT_NAME,
JDBC_CONFIG);
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
index 6803bfb..bafc872 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
@@ -27,7 +27,7 @@ import org.apache.airavata.common.utils.JPAUtils;
import org.apache.airavata.registry.core.utils.ExpCatalogJDBCConfig;
public class ExpCatalogJPAUtils {
- private static final String PERSISTENCE_UNIT_NAME = "experiment_data_new";
+ public static final String PERSISTENCE_UNIT_NAME = "experiment_data_new";
private static final JDBCConfig JDBC_CONFIG = new ExpCatalogJDBCConfig();
private static final EntityManagerFactory factory = JPAUtils.getEntityManagerFactory(PERSISTENCE_UNIT_NAME, JDBC_CONFIG);
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
index 4e3b4f0..7b1f9cb 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
@@ -29,7 +29,7 @@ import org.apache.airavata.registry.core.utils.ReplicaCatalogJDBCConfig;
public class RepCatalogJPAUtils {
// TODO: we can rename this back to replicacatalog_data once we completely replace the other replicacatalog_data persistence context in airavata-registry-core
- private static final String PERSISTENCE_UNIT_NAME = "replicacatalog_data_new";
+ public static final String PERSISTENCE_UNIT_NAME = "replicacatalog_data_new";
private static final JDBCConfig JDBC_CONFIG = new ReplicaCatalogJDBCConfig();
private static final EntityManagerFactory factory = JPAUtils.getEntityManagerFactory(PERSISTENCE_UNIT_NAME, JDBC_CONFIG);
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
index 3fe32dc..7d509a2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java
@@ -1,9 +1,7 @@
package org.apache.airavata.registry.core.utils.migration;
-import java.util.Collections;
-import java.util.Map;
-
import org.apache.airavata.common.utils.JDBCConfig;
+import org.apache.airavata.common.utils.JPAUtils;
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl;
import org.apache.openjpa.jdbc.meta.MappingTool;
@@ -22,7 +20,7 @@ public class MappingToolRunner {
public static void run(JDBCConfig jdbcConfig, String outputFile, String persistenceUnitName, String schemaAction) {
JDBCConfiguration jdbcConfiguration = new JDBCConfigurationImpl();
- jdbcConfiguration.fromProperties(createConnectionProperties(jdbcConfig));
+ jdbcConfiguration.fromProperties(JPAUtils.createConnectionProperties(jdbcConfig));
jdbcConfiguration.setConnectionDriverName("org.apache.commons.dbcp.BasicDataSource");
Options options = new Options();
@@ -44,13 +42,4 @@ public class MappingToolRunner {
"Failed to run MappingTool to generate migration script", mappingToolEx);
}
}
-
- // TODO: copied from JPAUtils
- private static Map<String, String> createConnectionProperties(JDBCConfig jdbcConfig) {
- String connectionProperties = "DriverClassName=" + jdbcConfig.getDriver() + "," + "Url=" + jdbcConfig.getURL()
- + "?autoReconnect=true," + "Username=" + jdbcConfig.getUser() + "," + "Password="
- + jdbcConfig.getPassword() + ",validationQuery=" + jdbcConfig.getValidationQuery();
- logger.debug("Connection properties={}", connectionProperties);
- return Collections.singletonMap("openjpa.ConnectionProperties", connectionProperties);
- }
}
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MigrationSchemaGenerator.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MigrationSchemaGenerator.java
index 93afd29..78d83d4 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MigrationSchemaGenerator.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MigrationSchemaGenerator.java
@@ -1,17 +1,18 @@
package org.apache.airavata.registry.core.utils.migration;
-import org.apache.airavata.common.utils.DBInitializer;
-
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.airavata.common.utils.DBInitConfig;
-import org.apache.airavata.common.utils.DerbyUtil;
+import org.apache.airavata.common.utils.DBInitializer;
import org.apache.airavata.common.utils.JDBCConfig;
import org.apache.airavata.registry.core.utils.AppCatalogDBInitConfig;
import org.apache.airavata.registry.core.utils.ExpCatalogDBInitConfig;
import org.apache.airavata.registry.core.utils.ReplicaCatalogDBInitConfig;
+import org.apache.airavata.registry.core.utils.JPAUtil.AppCatalogJPAUtils;
+import org.apache.airavata.registry.core.utils.JPAUtil.ExpCatalogJPAUtils;
+import org.apache.airavata.registry.core.utils.JPAUtil.RepCatalogJPAUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -19,12 +20,13 @@ public class MigrationSchemaGenerator {
private static final Logger logger = LoggerFactory.getLogger(MigrationSchemaGenerator.class);
- // sharing catalog?
private enum Database {
- app_catalog(new AppCatalogDBInitConfig().setDbInitScriptPrefix("appcatalog"), "appcatalog_data_new"),
- experiment_catalog(new ExpCatalogDBInitConfig().setDbInitScriptPrefix("expcatalog"), "experiment_data_new"),
+ app_catalog(new AppCatalogDBInitConfig().setDbInitScriptPrefix("appcatalog"),
+ AppCatalogJPAUtils.PERSISTENCE_UNIT_NAME),
+ experiment_catalog(new ExpCatalogDBInitConfig().setDbInitScriptPrefix("expcatalog"),
+ ExpCatalogJPAUtils.PERSISTENCE_UNIT_NAME),
replica_catalog(new ReplicaCatalogDBInitConfig().setDbInitScriptPrefix("replicacatalog"),
- "replicacatalog_data_new");
+ RepCatalogJPAUtils.PERSISTENCE_UNIT_NAME);
private final DBInitConfig dbInitConfig;
private final String persistenceUnitName;