diff options
author | liamfallon <liam.fallon@est.tech> | 2023-02-02 14:43:12 +0000 |
---|---|---|
committer | liamfallon <liam.fallon@est.tech> | 2023-02-07 09:17:33 +0000 |
commit | e53df8d3f8ab0464b0876bdb339fa91dc9085cd2 (patch) | |
tree | e01029186ff980f7e00901c28aba09b80a85f8e8 /models-dao/src | |
parent | e3938e43b8a1f02f74368ecb75c38530285feac0 (diff) |
Replace Eclipselink with Hibernate
Issue-ID: POLICY-4533
Change-Id: I77a6c44c96013963e141265758629cae83e49876
Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'models-dao/src')
3 files changed, 37 insertions, 44 deletions
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 <T extends PfConcept> int deleteByReferenceKey(final Class<T> someClass, - final Collection<PfReferenceKey> keys) { + final Collection<PfReferenceKey> 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 <T extends PfConcept> List<T> getFiltered(final Class<T> 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<T> 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 extends PfConcept> T getSingleResult(final Class<T> someClass, final String searchFilter, - List<T> resultList) { + List<T> 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 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- ============LICENSE_START======================================================= - Copyright (C) 2019-2021 Nordix Foundation. + Copyright (C) 2019-2021,2023 Nordix Foundation. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -21,8 +21,6 @@ <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <persistence-unit name="DaoTest" transaction-type="RESOURCE_LOCAL"> - <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> - <class>org.onap.policy.models.dao.converters.CDataConditioner</class> <class>org.onap.policy.models.dao.converters.Uuid2String</class> <class>org.onap.policy.models.base.PfConceptKey</class> @@ -33,21 +31,9 @@ <class>org.onap.policy.models.dao.DummyReferenceTimestampEntity</class> <properties> - <property name="eclipselink.target-database" value="MySQL" /> - <property name="eclipselink.ddl-generation" value="drop-and-create-tables" /> - <property name="eclipselink.ddl-generation.output-mode" value="database" /> - <property name="eclipselink.logging.level" value="INFO" /> - - <property name="eclipselink.logging.level" value="ALL" /> - <property name="eclipselink.logging.level.jpa" value="ALL" /> - <property name="eclipselink.logging.level.ddl" value="ALL" /> - <property name="eclipselink.logging.level.connection" value="ALL" /> - <property name="eclipselink.logging.level.sql" value="ALL" /> - <property name="eclipselink.logging.level.transaction" value="ALL" /> - <property name="eclipselink.logging.level.sequencing" value="ALL" /> - <property name="eclipselink.logging.level.server" value="ALL" /> - <property name="eclipselink.logging.level.query" value="ALL" /> - <property name="eclipselink.logging.level.properties" value="ALL" /> + <property name="javax.persistence.schema-generation.database.action" value="drop-and-create" /> + <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" /> + <property name="hibernate.show_sql" value="false" /> </properties> </persistence-unit> </persistence> |