summaryrefslogtreecommitdiffstats
path: root/models-dao
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2023-02-02 14:43:12 +0000
committerliamfallon <liam.fallon@est.tech>2023-02-07 09:17:33 +0000
commite53df8d3f8ab0464b0876bdb339fa91dc9085cd2 (patch)
treee01029186ff980f7e00901c28aba09b80a85f8e8 /models-dao
parente3938e43b8a1f02f74368ecb75c38530285feac0 (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')
-rw-r--r--models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java40
-rw-r--r--models-dao/src/test/java/org/onap/policy/models/dao/EntityTest.java19
-rw-r--r--models-dao/src/test/resources/META-INF/persistence.xml22
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>