From e53df8d3f8ab0464b0876bdb339fa91dc9085cd2 Mon Sep 17 00:00:00 2001 From: liamfallon Date: Thu, 2 Feb 2023 14:43:12 +0000 Subject: Replace Eclipselink with Hibernate Issue-ID: POLICY-4533 Change-Id: I77a6c44c96013963e141265758629cae83e49876 Signed-off-by: liamfallon --- .../onap/policy/models/dao/impl/DefaultPfDao.java | 40 +++++++++++----------- .../org/onap/policy/models/dao/EntityTest.java | 19 ++++++---- .../src/test/resources/META-INF/persistence.xml | 22 +++--------- 3 files changed, 37 insertions(+), 44 deletions(-) (limited to 'models-dao/src') diff --git a/models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java b/models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java index 22c5c5397..13a4eea5a 100644 --- a/models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java +++ b/models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019-2021 Nordix Foundation. + * Copyright (C) 2019-2021,2023 Nordix Foundation. * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. * Modifications Copyright (C) 2022 Bell Canada. All rights reserved. * ================================================================================ @@ -113,16 +113,16 @@ public class DefaultPfDao implements PfDao { if (daoParameters == null || daoParameters.getPersistenceUnit() == null) { LOGGER.error("Policy Framework persistence unit parameter not set"); throw new PfModelException(Response.Status.INTERNAL_SERVER_ERROR, - "Policy Framework persistence unit parameter not set"); + "Policy Framework persistence unit parameter not set"); } LOGGER.debug("Creating Policy Framework persistence unit \"{}\" . . .", daoParameters.getPersistenceUnit()); try { emf = Persistence.createEntityManagerFactory(daoParameters.getPersistenceUnit(), - daoParameters.getJdbcProperties()); + daoParameters.getJdbcProperties()); } catch (final Exception ex) { String errorMessage = "Creation of Policy Framework persistence unit \"" - + daoParameters.getPersistenceUnit() + "\" failed"; + + daoParameters.getPersistenceUnit() + "\" failed"; LOGGER.warn(errorMessage); throw new PfModelException(Response.Status.INTERNAL_SERVER_ERROR, errorMessage, ex); } @@ -138,7 +138,7 @@ public class DefaultPfDao implements PfDao { if (emf == null) { LOGGER.warn("Policy Framework DAO has not been initialized"); throw new PfModelRuntimeException(Response.Status.INTERNAL_SERVER_ERROR, - "Policy Framework DAO has not been initialized"); + "Policy Framework DAO has not been initialized"); } return emf.createEntityManager(); @@ -190,7 +190,7 @@ public class DefaultPfDao implements PfDao { try { // @formatter:off mg.getTransaction().begin(); - mg.createQuery(setQueryTable(DELETE_BY_CONCEPT_KEY, someClass), someClass) + mg.createQuery(setQueryTable(DELETE_BY_CONCEPT_KEY, someClass)) .setParameter(NAME, key.getName()) .setParameter(VERSION, key.getVersion()) .executeUpdate(); @@ -210,7 +210,7 @@ public class DefaultPfDao implements PfDao { try { // @formatter:off mg.getTransaction().begin(); - mg.createQuery(setQueryTable(DELETE_BY_REFERENCE_KEY, someClass), someClass) + mg.createQuery(setQueryTable(DELETE_BY_REFERENCE_KEY, someClass)) .setParameter(PARENT_NAME, key.getParentKeyName()) .setParameter(PARENT_VERSION, key.getParentKeyVersion()) .setParameter(LOCAL_NAME, key.getLocalName()) @@ -231,7 +231,7 @@ public class DefaultPfDao implements PfDao { try { // @formatter:off mg.getTransaction().begin(); - mg.createQuery(setQueryTable(DELETE_BY_TIMESTAMP_KEY, someClass), someClass) + mg.createQuery(setQueryTable(DELETE_BY_TIMESTAMP_KEY, someClass)) .setParameter(NAME, key.getName()) .setParameter(VERSION, key.getVersion()) .setParameter(TIMESTAMP, key.getTimeStamp()) @@ -288,7 +288,7 @@ public class DefaultPfDao implements PfDao { // @formatter:off mg.getTransaction().begin(); for (final PfConceptKey key : keys) { - deletedCount += mg.createQuery(setQueryTable(DELETE_BY_CONCEPT_KEY, someClass), someClass) + deletedCount += mg.createQuery(setQueryTable(DELETE_BY_CONCEPT_KEY, someClass)) .setParameter(NAME, key.getName()) .setParameter(VERSION, key.getVersion()) .executeUpdate(); @@ -303,7 +303,7 @@ public class DefaultPfDao implements PfDao { @Override public int deleteByReferenceKey(final Class someClass, - final Collection keys) { + final Collection keys) { if (keys == null || keys.isEmpty()) { return 0; } @@ -313,7 +313,7 @@ public class DefaultPfDao implements PfDao { // @formatter:off mg.getTransaction().begin(); for (final PfReferenceKey key : keys) { - deletedCount += mg.createQuery(setQueryTable(DELETE_BY_REFERENCE_KEY, someClass), someClass) + deletedCount += mg.createQuery(setQueryTable(DELETE_BY_REFERENCE_KEY, someClass)) .setParameter(PARENT_NAME, key.getParentKeyName()) .setParameter(PARENT_VERSION, key.getParentKeyVersion()) .setParameter(LOCAL_NAME, key.getLocalName()) @@ -332,7 +332,7 @@ public class DefaultPfDao implements PfDao { final var mg = getEntityManager(); try { mg.getTransaction().begin(); - mg.createQuery(setQueryTable(DELETE_FROM_TABLE, someClass), someClass).executeUpdate(); + mg.createQuery(setQueryTable(DELETE_FROM_TABLE, someClass)).executeUpdate(); mg.getTransaction().commit(); } finally { mg.close(); @@ -341,7 +341,7 @@ public class DefaultPfDao implements PfDao { @Override public List getFiltered(final Class someClass, final String name, - final String version) { + final String version) { if (name == null) { return getAll(someClass); } @@ -362,8 +362,8 @@ public class DefaultPfDao implements PfDao { try { PfFilter filter = new PfFilterFactory().createFilter(someClass); var filterQueryString = SELECT_FROM_TABLE - + filter.genWhereClause(filterParams) - + filter.genOrderClause(filterParams); + + filter.genWhereClause(filterParams) + + filter.genOrderClause(filterParams); TypedQuery query = mg.createQuery(setQueryTable(filterQueryString, someClass), someClass); filter.setParams(query, filterParams); @@ -457,7 +457,7 @@ public class DefaultPfDao implements PfDao { } return mg.createQuery(query, someClass).setMaxResults(numRecords) - .getResultList(); + .getResultList(); } finally { mg.close(); } @@ -567,8 +567,8 @@ public class DefaultPfDao implements PfDao { * The invoking code only passes well-known classes into this method, thus * disabling the sonar about SQL injection. */ - size = mg.createQuery("SELECT COUNT(c) FROM " + someClass.getSimpleName() + " c", Long.class) // NOSONAR - .getSingleResult(); + size = mg.createQuery("SELECT COUNT(c) FROM " + someClass.getSimpleName() + " c", Long.class) // NOSONAR + .getSingleResult(); } finally { mg.close(); } @@ -595,13 +595,13 @@ public class DefaultPfDao implements PfDao { * @return the single unique result */ private T getSingleResult(final Class someClass, final String searchFilter, - List resultList) { + List resultList) { if (resultList == null || resultList.isEmpty()) { return null; } if (resultList.size() > 1) { throw new IllegalArgumentException("More than one result was returned query on " + someClass - + " with filter " + searchFilter + ": " + resultList); + + " with filter " + searchFilter + ": " + resultList); } return resultList.get(0); } diff --git a/models-dao/src/test/java/org/onap/policy/models/dao/EntityTest.java b/models-dao/src/test/java/org/onap/policy/models/dao/EntityTest.java index 65d22863f..e5f40ebf4 100644 --- a/models-dao/src/test/java/org/onap/policy/models/dao/EntityTest.java +++ b/models-dao/src/test/java/org/onap/policy/models/dao/EntityTest.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019-2021 Nordix Foundation. + * Copyright (C) 2019-2021,2023 Nordix Foundation. * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. * Modifications Copyright (C) 2022 Bell Canada. All rights reserved. * ================================================================================ @@ -38,7 +38,6 @@ import java.util.Properties; import java.util.Set; import java.util.TreeSet; import java.util.UUID; -import org.eclipse.persistence.config.PersistenceUnitProperties; import org.junit.After; import org.junit.Test; import org.onap.policy.models.base.PfConceptKey; @@ -85,10 +84,10 @@ public class EntityTest { Properties jdbcProperties = new Properties(); // @formatter:off - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_DRIVER, "org.h2.Driver"); - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_URL, "jdbc:h2:mem:EntityTest"); - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_USER, "sa"); - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_PASSWORD, ""); + jdbcProperties.setProperty("javax.persistence.jdbc.driver", "org.h2.Driver"); + jdbcProperties.setProperty("javax.persistence.jdbc.url", "jdbc:h2:mem:EntityTest"); + jdbcProperties.setProperty("javax.persistence.jdbc.user", "sa"); + jdbcProperties.setProperty("javax.persistence.jdbc.password", ""); // @formatter:on daoParameters.setJdbcProperties(jdbcProperties); @@ -145,6 +144,14 @@ public class EntityTest { daoParameters.setPluginClass(DefaultPfDao.class.getName()); daoParameters.setPersistenceUnit("DaoTest"); + Properties jdbcProperties = new Properties(); + jdbcProperties.setProperty("javax.persistence.jdbc.driver", "org.h2.Driver"); + jdbcProperties.setProperty("javax.persistence.jdbc.url", "jdbc:h2:mem:EntityTest"); + jdbcProperties.setProperty("javax.persistence.jdbc.user", "sa"); + jdbcProperties.setProperty("javax.persistence.jdbc.password", ""); + + daoParameters.setJdbcProperties(jdbcProperties); + pfDao = new PfDaoFactory().createPfDao(daoParameters); pfDao.init(daoParameters); diff --git a/models-dao/src/test/resources/META-INF/persistence.xml b/models-dao/src/test/resources/META-INF/persistence.xml index d324ae0a6..5148f059a 100644 --- a/models-dao/src/test/resources/META-INF/persistence.xml +++ b/models-dao/src/test/resources/META-INF/persistence.xml @@ -1,7 +1,7 @@