aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorDinh Danh Le <dinh.danh.le@ericsson.com>2018-07-15 02:52:33 +0100
committerDinh Danh Le <dinh.danh.le@ericsson.com>2018-07-16 14:07:50 +0100
commit2df5543498c0fa0a2ba120eec744aa4cde929199 (patch)
tree2db4f026911e3a60d06ab468c2c041e1d7ff4672 /plugins
parent08b595c863b45e759e57ef419c83dad2b209df9c (diff)
Refactor persistence JPA testing
Adding tests for EclipseLink and refactoring Hibernate testcases. As both tests use the same test entities, the two existing test entity classes from org.onap.policy.apex.plugins.persistence.jpa.hibernate are moved to a newly created package org.onap.policy.apex.context.test.entities under context-test-utils. Relevent POM files are changed w.r.t this change. In particular, 1) add version infos as properties in apex-pdp/pom.xml 2) common dependencies related to Junit testing for EclipseLink and Hibernate are moved to their parent plugins-persistence-jpa's POM. Change-Id: I9d9387154cbfdfc69be49960b80e040b6fd35b5a Signed-off-by: Dinh Danh Le <dinh.danh.le@ericsson.com> Issue-ID: POLICY-862
Diffstat (limited to 'plugins')
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/pom.xml1
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/eclipselink/EclipselinkApexDaoTest.java251
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/src/test/resources/META-INF/persistence.xml40
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml18
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ArtifactKeyTestEntity.java162
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java8
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ReferenceKeyTestEntity.java165
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml11
-rw-r--r--plugins/plugins-persistence/plugins-persistence-jpa/pom.xml15
9 files changed, 318 insertions, 353 deletions
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/pom.xml b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/pom.xml
index c40f0abaa..649e9ed69 100644
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/pom.xml
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/pom.xml
@@ -25,7 +25,6 @@
<artifactId>plugins-persistence-jpa</artifactId>
<version>2.0.0-SNAPSHOT</version>
</parent>
-
<artifactId>plugins-persistence-jpa-eclipselink</artifactId>
<name>${project.artifactId}</name>
<description>[${project.parent.artifactId}] Plugin for persistence using EclipseLink</description>
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/eclipselink/EclipselinkApexDaoTest.java b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/eclipselink/EclipselinkApexDaoTest.java
new file mode 100644
index 000000000..d33621e47
--- /dev/null
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/eclipselink/EclipselinkApexDaoTest.java
@@ -0,0 +1,251 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.plugins.persistence.jpa.eclipselink;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.context.test.entities.ArtifactKeyTestEntity;
+import org.onap.policy.apex.context.test.entities.ReferenceKeyTestEntity;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
+import org.onap.policy.apex.model.basicmodel.dao.DAOParameters;
+
+/**
+ * Junit tests for class EclipselinkApexDao
+ *
+ * @author Dinh Danh Le (dinh.danh.le@ericsson.com)
+ *
+ */
+
+public class EclipselinkApexDaoTest {
+
+ private static final List<AxArtifactKey> TEST_ARTIKEYS = Arrays.asList(new AxArtifactKey[] {
+ new AxArtifactKey("ABC", "0.0.1"), new AxArtifactKey("DEF", "0.1.1"), new AxArtifactKey("XYZ", "1.1.1")});
+
+ private final DAOParameters daoParameters = new DAOParameters();
+
+ private EclipselinkApexDao eclipselinkApexDao = null;
+
+ @Before
+ public void setup() throws ApexException {
+ daoParameters.setPluginClass(EclipselinkApexDao.class.getCanonicalName());
+ daoParameters.setPersistenceUnit("DAOTest");
+ eclipselinkApexDao = new EclipselinkApexDao();
+ eclipselinkApexDao.init(daoParameters);
+ }
+
+ @After
+ public void teardown() {
+ eclipselinkApexDao.close();
+ }
+
+ @Test
+ public void test_NullArguments() {
+ final AxArtifactKey nullArtifactKey = null;
+ final AxArtifactKey nullRefernceKey = null;
+ final List<Object> emptyList = Collections.emptyList();
+
+ assertNull(eclipselinkApexDao.getArtifact(null, nullArtifactKey));
+ assertNull(eclipselinkApexDao.getArtifact(ArtifactKeyTestEntity.class, nullArtifactKey));
+
+ assertNull(eclipselinkApexDao.getArtifact(null, nullRefernceKey));
+ assertNull(eclipselinkApexDao.getArtifact(ReferenceKeyTestEntity.class, nullRefernceKey));
+
+ assertNotNull(eclipselinkApexDao.getAll(null));
+ assertTrue(eclipselinkApexDao.getAll(null).equals(emptyList));
+ assertNotNull(eclipselinkApexDao.getAll(ReferenceKeyTestEntity.class));
+ }
+
+ @Test
+ public void test_createObject() throws ApexException {
+ // create 3 more entities from testArtiKeys
+ for (final AxArtifactKey akey : TEST_ARTIKEYS) {
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(new AxReferenceKey(akey), Math.random()));
+ }
+ assertEquals(3, eclipselinkApexDao.getAll(ReferenceKeyTestEntity.class).size());
+ }
+
+ @Test
+ public void test_getAll() {
+ // create a list of three entities from testArtiKeys
+ final double[] genDoubleVals = new double[TEST_ARTIKEYS.size()];
+
+ for (int i = 0; i < TEST_ARTIKEYS.size(); i++) {
+ final AxArtifactKey akey = TEST_ARTIKEYS.get(i);
+ genDoubleVals[i] = Math.random();
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(new AxReferenceKey(akey), genDoubleVals[i]));
+ }
+
+ final List<ReferenceKeyTestEntity> ret = eclipselinkApexDao.getAll(ReferenceKeyTestEntity.class);
+ assertEquals(TEST_ARTIKEYS.size(), ret.size());
+
+ for (int i = 0; i < TEST_ARTIKEYS.size(); i++) {
+ final ReferenceKeyTestEntity e = ret.get(i);
+ assertEquals(TEST_ARTIKEYS.get(i), e.getKey().getParentArtifactKey());
+ assertEquals(genDoubleVals[i], e.getDoubleValue(), 0.0);
+ }
+ }
+
+
+ @Test
+ public void test_getArtifactByReferenceKey() {
+ final AxArtifactKey artifactKey = new AxArtifactKey("XXX", "0.0.1");
+ final AxReferenceKey referenceKey = new AxReferenceKey(artifactKey, "Entity1");
+
+ // assert null if Entity Class is null
+ assertNull(eclipselinkApexDao.getArtifact(null, referenceKey));
+
+ // create PersistenceContext with an entity
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(referenceKey, 1.0));
+ // assert null when trying to find an entity with an unknown key
+ final AxArtifactKey anotherArtifactKey = new AxArtifactKey("YYY", "0.0.2");
+ final AxReferenceKey anotherReferenceKey = new AxReferenceKey(anotherArtifactKey);
+
+ assertNull(eclipselinkApexDao.getArtifact(ReferenceKeyTestEntity.class, anotherReferenceKey));
+
+ // assert return only one entity when finding an entity with correct key
+ final ReferenceKeyTestEntity retEntity =
+ eclipselinkApexDao.getArtifact(ReferenceKeyTestEntity.class, referenceKey);
+ assertEquals(referenceKey, retEntity.getKey());
+ }
+
+
+ @Test
+ public void test_getArtifactByArtifactKey() {
+ final AxArtifactKey artifactKey = new AxArtifactKey("XXX", "0.0.1");
+ // assert null if either Entity Class is null
+ assertNull(eclipselinkApexDao.getArtifact(null, artifactKey));
+ // create an entity
+ eclipselinkApexDao.create(new ArtifactKeyTestEntity(artifactKey, 1.0));
+
+ // assert null when trying to find an entity with an unknown key
+ final AxArtifactKey otherArtifactKey = new AxArtifactKey("YYY", "0.0.2");
+ assertNull(eclipselinkApexDao.getArtifact(ArtifactKeyTestEntity.class, otherArtifactKey));
+
+ // assert return only one entity when finding an entity with correct key
+ final ArtifactKeyTestEntity retEntity = eclipselinkApexDao.getArtifact(ArtifactKeyTestEntity.class, artifactKey);
+ assertNotNull(retEntity);
+ assertEquals(artifactKey, retEntity.getKey());
+ }
+
+
+ @Test
+ public void test_deleteByArtifactKey() {
+ // initialize a list of (3) entities corresponding to the list of testArtiKeys
+ for (final AxArtifactKey akey : TEST_ARTIKEYS) {
+ eclipselinkApexDao.create(new ArtifactKeyTestEntity(akey, Math.random()));
+ }
+ // create one more entity
+ final ArtifactKeyTestEntity entity = new ArtifactKeyTestEntity(new AxArtifactKey("XYZ", "100.0.0"), 100.0);
+ eclipselinkApexDao.create(entity);
+
+ assertEquals(3, eclipselinkApexDao.deleteByArtifactKey(ArtifactKeyTestEntity.class, TEST_ARTIKEYS));
+
+ // after deleteByArtifactKey()--> getAll().size() == 1
+ final List<ArtifactKeyTestEntity> remainingEntities = eclipselinkApexDao.getAll(ArtifactKeyTestEntity.class);
+ assertEquals(1, remainingEntities.size());
+ // more details about the remainingEntities
+ assertEquals(100.0, remainingEntities.get(0).getDoubleValue(), 0.0);
+ }
+
+
+ @Test
+ public void test_deleteByReferenceKey() {
+ // prepare 2 AxArtifactKeys
+ final AxArtifactKey owner0Key = new AxArtifactKey("Owner0", "0.0.1");
+ final AxArtifactKey owner1Key = new AxArtifactKey("Owner1", "0.0.1");
+
+ // prepare a list of (3) AxReferenceKeys corresponding to owner0Key
+ final List<AxReferenceKey> refKey0s =
+ Arrays.asList(new AxReferenceKey[] {new AxReferenceKey(owner0Key, "Entity01"),
+ new AxReferenceKey(owner0Key, "Entity02"), new AxReferenceKey(owner0Key, "Entity03")});
+ // prepare 2 more AxReferenceKeys corresponding to owner1Key
+ final AxReferenceKey refKey11 = new AxReferenceKey(owner1Key, "Entity11");
+ final AxReferenceKey refKey12 = new AxReferenceKey(owner1Key, "Entity12");
+
+ // create a list of 5 entities
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(refKey0s.get(0), 101.0));
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(refKey0s.get(1), 102.0));
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(refKey0s.get(2), 103.0));
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(refKey11, 104.0));
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(refKey12, 105.0));
+
+ // assert 3 entities are deleted by this deletion
+ assertEquals(3, eclipselinkApexDao.deleteByReferenceKey(ReferenceKeyTestEntity.class, refKey0s));
+ // after deletion, make sure getAll().size() == 2
+ assertEquals(2, eclipselinkApexDao.getAll(ReferenceKeyTestEntity.class).size());
+ }
+
+ @Test
+ public void test_deleteAll() {
+ // initialize a list of (3) entities and add to the PersistenceContext
+ for (final AxArtifactKey akey : TEST_ARTIKEYS) {
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(new AxReferenceKey(akey), Math.random()));
+ }
+ // before deleteAll()--> getAll().size() == 3
+ assertEquals(3, eclipselinkApexDao.getAll(ReferenceKeyTestEntity.class).size());
+ eclipselinkApexDao.deleteAll(ReferenceKeyTestEntity.class);
+ // after deleteAll()--> getAll().size() == 0
+ assertEquals(0, eclipselinkApexDao.getAll(ReferenceKeyTestEntity.class).size());
+ }
+
+
+ @Test
+ public void test_getAllByArtifactKey() {
+
+ final AxArtifactKey artiKey0 = new AxArtifactKey("XYZA", "0.1.2");
+ final AxArtifactKey artiKey1 = new AxArtifactKey("ONAP", "0.0.1");
+
+ final AxReferenceKey refKey0 = new AxReferenceKey(artiKey0, "Entity0");
+ final AxReferenceKey refKey1 = new AxReferenceKey(artiKey1, "Entity1");
+
+
+ // test with null class with known key --> return an empty list
+ assertNotNull(eclipselinkApexDao.getAll(null, artiKey1));
+ assertTrue(eclipselinkApexDao.getAll(null, artiKey1).equals(Collections.emptyList()));
+
+ // test with (not_null) ArtifactKeyTestEntity class
+ assertEquals(0, eclipselinkApexDao.getAll(ReferenceKeyTestEntity.class, artiKey0).size());
+ // create 2 entities
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(refKey0, 100.0));
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(refKey0, 200.0));
+ eclipselinkApexDao.create(new ReferenceKeyTestEntity(refKey1, 100.0));
+
+ final List<ReferenceKeyTestEntity> ret = eclipselinkApexDao.getAll(ReferenceKeyTestEntity.class, artiKey0);
+ assertEquals(1, ret.size());
+ final ReferenceKeyTestEntity retEntity = ret.get(0);
+ assertEquals(200.0, retEntity.getDoubleValue(), 0);
+ }
+
+
+
+}
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/src/test/resources/META-INF/persistence.xml b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/src/test/resources/META-INF/persistence.xml
new file mode 100644
index 000000000..130079dd9
--- /dev/null
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-eclipselink/src/test/resources/META-INF/persistence.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+<!-- This is to configure H2-IMDB using EclipseLink JPA-->
+
+<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.apex.context.test.entities.ReferenceKeyTestEntity</class>
+ <class>org.onap.policy.apex.context.test.entities.ArtifactKeyTestEntity</class>
+
+ <properties>
+ <property name="javax.persistence.jdbc.driver" value="org.h2.Driver" />
+ <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:test" />
+ <property name="javax.persistence.jdbc.user" value="sa" />
+ <property name="javax.persistence.jdbc.password" value="" />
+ <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" />
+ </properties>
+ </persistence-unit>
+</persistence> \ No newline at end of file
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml
index f20a06c1f..c219b733c 100644
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/pom.xml
@@ -30,15 +30,11 @@
<name>${project.artifactId}</name>
<description>[${project.parent.artifactId}] Plugin for persistence using Hibernate</description>
- <properties>
- <hibernate.version>5.3.1.Final</hibernate.version>
- </properties>
-
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
- <version>${hibernate.version}</version>
+ <version>${version.hibernate}</version>
<exclusions>
<exclusion>
<groupId>dom4j</groupId>
@@ -49,17 +45,7 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
- <version>${hibernate.version}</version>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>dom4j</groupId>
- <artifactId>dom4j</artifactId>
- <version>1.6</version>
+ <version>${version.hibernate}</version>
</dependency>
</dependencies>
</project> \ No newline at end of file
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ArtifactKeyTestEntity.java b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ArtifactKeyTestEntity.java
deleted file mode 100644
index 1da724a87..000000000
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ArtifactKeyTestEntity.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.plugins.persistence.jpa.hibernate;
-
-import java.util.Arrays;
-import java.util.List;
-
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlElement;
-
-import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
-import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
-
-@Entity
-@Table(name = "ArtifactKeyTestEntity")
-public class ArtifactKeyTestEntity extends AxConcept {
- private static final long serialVersionUID = -2962570563281067895L;
-
- @EmbeddedId()
- @XmlElement(name = "key", required = true)
- protected AxArtifactKey key;
-
- private double doubleValue;
-
- public ArtifactKeyTestEntity() {
- this.key = new AxArtifactKey();
- this.doubleValue = 0;
- }
-
- public ArtifactKeyTestEntity(final Double doubleValue) {
- this.key = new AxArtifactKey();
- this.doubleValue = doubleValue;
- }
-
- public ArtifactKeyTestEntity(final AxArtifactKey key, final Double doubleValue) {
- this.key = key;
- this.doubleValue = doubleValue;
- }
-
- public AxArtifactKey getKey() {
- return key;
- }
-
- public List<AxKey> getKeys() {
- return Arrays.asList((AxKey) getKey());
- }
-
- public void setKey(final AxArtifactKey key) {
- this.key = key;
- }
-
- public boolean checkSetKey() {
- return (this.key != null);
- }
-
- public double getDoubleValue() {
- return doubleValue;
- }
-
- public void setDoubleValue(final double doubleValue) {
- this.doubleValue = doubleValue;
- }
-
- @Override
- public AxValidationResult validate(final AxValidationResult result) {
- return key.validate(result);
- }
-
- @Override
- public void clean() {
- key.clean();
- }
-
- @Override
- public String toString() {
- return "ArtifactKeyTestEntity [key=" + key + ", doubleValue=" + doubleValue + "]";
- }
-
- @Override
- public AxConcept copyTo(final AxConcept target) {
- final Object copyObject = ((target == null) ? new ArtifactKeyTestEntity() : target);
- if (copyObject instanceof ArtifactKeyTestEntity) {
- final ArtifactKeyTestEntity copy = ((ArtifactKeyTestEntity) copyObject);
- if (this.checkSetKey()) {
- copy.setKey(new AxArtifactKey(key));
- } else {
- copy.key = null;
- }
- copy.doubleValue = doubleValue;
- return copy;
- } else {
- return null;
- }
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((key == null) ? 0 : key.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (obj == null)
- return false;
- if (this == obj)
- return true;
- if (getClass() != obj.getClass())
- return false;
- final ArtifactKeyTestEntity other = (ArtifactKeyTestEntity) obj;
- if (key == null) {
- if (other.key != null)
- return false;
- } else if (!key.equals(other.key))
- return false;
- if (doubleValue != other.doubleValue)
- return false;
- return true;
- }
-
- @Override
- public int compareTo(final AxConcept otherObj) {
- if (otherObj == null)
- return -1;
- if (this == otherObj)
- return 0;
- final ArtifactKeyTestEntity other = (ArtifactKeyTestEntity) otherObj;
- if (key == null) {
- if (other.key != null)
- return 1;
- } else if (!key.equals(other.key))
- return key.compareTo(other.key);
- if (doubleValue != other.doubleValue)
- return new Double(doubleValue).compareTo(other.doubleValue);
-
- return 0;
- }
-}
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java
index 894b7bac1..851332b7b 100644
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/HibernateApexDaoTest.java
@@ -1,6 +1,6 @@
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * Copyright (C) 2018 Ericsson. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,13 +32,15 @@ import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.apex.context.test.entities.ArtifactKeyTestEntity;
+import org.onap.policy.apex.context.test.entities.ReferenceKeyTestEntity;
import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
import org.onap.policy.apex.model.basicmodel.dao.DAOParameters;
/**
- * unit test for class HibernateApexDao
+ * Junit test for class HibernateApexDao
*
* @author Dinh Danh Le (dinh.danh.le@ericsson.com)
*
@@ -56,7 +58,7 @@ public class HibernateApexDaoTest {
@Before
public void setupDAO() throws ApexException {
daoParameters.setPluginClass(HibernateApexDao.class.getCanonicalName());
- daoParameters.setPersistenceUnit("HiDAOtest");
+ daoParameters.setPersistenceUnit("DAOTest");
hibernateApexDao = new HibernateApexDao();
hibernateApexDao.init(daoParameters);
}
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ReferenceKeyTestEntity.java b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ReferenceKeyTestEntity.java
deleted file mode 100644
index 991b4e2d7..000000000
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/java/org/onap/policy/apex/plugins/persistence/jpa/hibernate/ReferenceKeyTestEntity.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.plugins.persistence.jpa.hibernate;
-
-import java.util.Arrays;
-import java.util.List;
-
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
-import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
-import org.onap.policy.apex.model.basicmodel.xml.AxReferenceKeyAdapter;
-
-@Entity
-@Table(name = "ReferenceKeyTestEntity")
-public class ReferenceKeyTestEntity extends AxConcept {
- private static final long serialVersionUID = -2962570563281067894L;
-
- @EmbeddedId()
- @XmlElement(name = "key", required = true)
- @XmlJavaTypeAdapter(AxReferenceKeyAdapter.class)
- protected AxReferenceKey key;
-
- private double doubleValue;
-
- public ReferenceKeyTestEntity() {
- this.key = new AxReferenceKey();
- this.doubleValue = 0;
- }
-
- public ReferenceKeyTestEntity(final Double doubleValue) {
- this.key = new AxReferenceKey();
- this.doubleValue = doubleValue;
- }
-
- public ReferenceKeyTestEntity(final AxReferenceKey key, final Double doubleValue) {
- this.key = key;
- this.doubleValue = doubleValue;
- }
-
- public AxReferenceKey getKey() {
- return key;
- }
-
- public List<AxKey> getKeys() {
- return Arrays.asList((AxKey) getKey());
- }
-
- public void setKey(final AxReferenceKey key) {
- this.key = key;
- }
-
- public boolean checkSetKey() {
- return (this.key != null);
- }
-
- public double getDoubleValue() {
- return doubleValue;
- }
-
- public void setDoubleValue(final double doubleValue) {
- this.doubleValue = doubleValue;
- }
-
- @Override
- public AxValidationResult validate(final AxValidationResult result) {
- return key.validate(result);
- }
-
- @Override
- public void clean() {
- key.clean();
- }
-
- @Override
- public String toString() {
- return "ReferenceKeyTestEntity [key=" + key + ", doubleValue=" + doubleValue + "]";
- }
-
- @Override
- public AxConcept copyTo(final AxConcept target) {
- final Object copyObject = ((target == null) ? new ReferenceKeyTestEntity() : target);
- if (copyObject instanceof ReferenceKeyTestEntity) {
- final ReferenceKeyTestEntity copy = ((ReferenceKeyTestEntity) copyObject);
- if (this.checkSetKey()) {
- copy.setKey(new AxReferenceKey(key));
- } else {
- copy.key = null;
- }
- copy.doubleValue = doubleValue;
- return copy;
- } else {
- return null;
- }
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((key == null) ? 0 : key.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (obj == null)
- return false;
- if (this == obj)
- return true;
- if (getClass() != obj.getClass())
- return false;
- final ReferenceKeyTestEntity other = (ReferenceKeyTestEntity) obj;
- if (key == null) {
- if (other.key != null)
- return false;
- } else if (!key.equals(other.key))
- return false;
- if (doubleValue != other.doubleValue)
- return false;
- return true;
- }
-
- @Override
- public int compareTo(final AxConcept otherObj) {
- if (otherObj == null)
- return -1;
- if (this == otherObj)
- return 0;
- final ReferenceKeyTestEntity other = (ReferenceKeyTestEntity) otherObj;
- if (key == null) {
- if (other.key != null)
- return 1;
- } else if (!key.equals(other.key))
- return key.compareTo(other.key);
- if (doubleValue != other.doubleValue)
- return new Double(doubleValue).compareTo(other.doubleValue);
-
- return 0;
- }
-}
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml
index a40e0d9fe..ee38e0096 100644
--- a/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/plugins-persistence-jpa-hibernate/src/test/resources/META-INF/persistence.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
============LICENSE_START=======================================================
- Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ Copyright (C) 2018 Ericsson. All rights reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -21,23 +21,22 @@
<!-- This is to configure H2-IMDB using Hibernate-->
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
- <persistence-unit name="HiDAOtest" transaction-type="RESOURCE_LOCAL">
+ <persistence-unit name="DAOTest" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
- <class>org.onap.policy.apex.plugins.persistence.jpa.hibernate.ReferenceKeyTestEntity</class>
- <class>org.onap.policy.apex.plugins.persistence.jpa.hibernate.ArtifactKeyTestEntity</class>
+ <class>org.onap.policy.apex.context.test.entities.ReferenceKeyTestEntity</class>
+ <class>org.onap.policy.apex.context.test.entities.ArtifactKeyTestEntity</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
<property name="hibernate.connection.driver_class" value="org.h2.Driver" />
<property name="hibernate.connection.url" value="jdbc:h2:mem:test" />
<property name="hibernate.connection.user" value="sa" />
- <property name="javax.persistence.jdbc.password" value="" />
+ <property name="hibernate.connection.user.password" value="" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.flushMode" value="FLUSH_AUTO" />
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
-
</persistence> \ No newline at end of file
diff --git a/plugins/plugins-persistence/plugins-persistence-jpa/pom.xml b/plugins/plugins-persistence/plugins-persistence-jpa/pom.xml
index 9a262fc55..ddf80b5c6 100644
--- a/plugins/plugins-persistence/plugins-persistence-jpa/pom.xml
+++ b/plugins/plugins-persistence/plugins-persistence-jpa/pom.xml
@@ -39,6 +39,21 @@
<artifactId>basic-model</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.context</groupId>
+ <artifactId>context-test-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ <version>${version.dom4j}</version>
+ </dependency>
</dependencies>
<modules>