From d08dd4d3f41359c8e040beca0c581e02e521b954 Mon Sep 17 00:00:00 2001 From: Shicong Huang Date: Wed, 4 Sep 2019 15:46:13 -0400 Subject: [PATCH] Consolidate EntityManagerFactoryProviderTest (#253) Check if EntityManagerFactory is null before calling close() to avoid NullPointerException. --- .../persistence/EntityManagerFactoryProvider.java | 8 +++++++- .../persistence/EntityManagerFactoryProviderTest.java | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/google/registry/persistence/EntityManagerFactoryProvider.java b/core/src/main/java/google/registry/persistence/EntityManagerFactoryProvider.java index ed61e89ac..3ba3fe4c5 100644 --- a/core/src/main/java/google/registry/persistence/EntityManagerFactoryProvider.java +++ b/core/src/main/java/google/registry/persistence/EntityManagerFactoryProvider.java @@ -14,6 +14,7 @@ package google.registry.persistence; +import static com.google.common.base.Preconditions.checkState; import static google.registry.config.RegistryConfig.getHibernateConnectionIsolation; import static google.registry.config.RegistryConfig.getHibernateHikariConnectionTimeout; import static google.registry.config.RegistryConfig.getHibernateHikariIdleTimeout; @@ -62,6 +63,11 @@ public class EntityManagerFactoryProvider { properties.put(Environment.URL, jdbcUrl); properties.put(Environment.USER, username); properties.put(Environment.PASS, password); - return Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, properties.build()); + EntityManagerFactory emf = + Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, properties.build()); + checkState( + emf != null, + "Persistence.createEntityManagerFactory() returns a null EntityManagerFactory"); + return emf; } } diff --git a/core/src/test/java/google/registry/persistence/EntityManagerFactoryProviderTest.java b/core/src/test/java/google/registry/persistence/EntityManagerFactoryProviderTest.java index e19a49617..523642ec3 100644 --- a/core/src/test/java/google/registry/persistence/EntityManagerFactoryProviderTest.java +++ b/core/src/test/java/google/registry/persistence/EntityManagerFactoryProviderTest.java @@ -42,7 +42,9 @@ public class EntityManagerFactoryProviderTest { @After public void destroy() { - emf.close(); + if (emf != null) { + emf.close(); + } emf = null; }