Replace Eclipselink with Hibernate 28/133128/4
authorliamfallon <liam.fallon@est.tech>
Thu, 2 Feb 2023 14:42:33 +0000 (14:42 +0000)
committerliamfallon <liam.fallon@est.tech>
Mon, 6 Feb 2023 15:54:04 +0000 (15:54 +0000)
Issue-ID: POLICY-4533
Change-Id: I9d2e4d90bf997935efad16e8ae4473d635ae9d65
Signed-off-by: liamfallon <liam.fallon@est.tech>
12 files changed:
integrity-audit/pom.xml
integrity-audit/src/main/java/org/onap/policy/common/ia/jpa/IntegrityAuditEntity.java
integrity-audit/src/main/resources/META-INF/persistence.xml
integrity-monitor/pom.xml
integrity-monitor/src/main/java/org/onap/policy/common/im/IntegrityMonitor.java
integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ForwardProgressEntity.java
integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ImTestEntity.java
integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/ResourceRegistrationEntity.java
integrity-monitor/src/main/java/org/onap/policy/common/im/jpa/StateManagementEntity.java
integrity-monitor/src/main/resources/META-INF/persistence.xml [moved from integrity-monitor/src/main/resources/META-INF/persistenceIM.xml with 90% similarity]
integrity-monitor/src/test/java/org/onap/policy/common/im/IntegrityMonitorTestBase.java
utils/pom.xml

index edb4f2d..18f5536 100644 (file)
   ============LICENSE_END=========================================================
   -->
 
-<project
-    xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
     <modelVersion>4.0.0</modelVersion>
 
             <artifactId>h2</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.eclipse.persistence</groupId>
-            <artifactId>eclipselink</artifactId>
+            <groupId>org.hibernate.javax.persistence</groupId>
+            <artifactId>hibernate-jpa-2.1-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-entitymanager</artifactId>
         </dependency>
         <dependency>
             <groupId>org.onap.policy.common</groupId>
index 3768885..07b8557 100644 (file)
@@ -3,6 +3,7 @@
  * Integrity Audit
  * ================================================================================
  * Copyright (C) 2017-2018, 2020-2021 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 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.
@@ -29,6 +30,7 @@ import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
+import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.PrePersist;
 import javax.persistence.PreUpdate;
@@ -46,8 +48,10 @@ import org.onap.policy.common.ia.AuditorTime;
 
 @Entity
 @Table(name = "IntegrityAuditEntity")
-@NamedQuery(name = " IntegrityAuditEntity.findAll", query = "SELECT e FROM IntegrityAuditEntity e ")
-@NamedQuery(name = "IntegrityAuditEntity.deleteAll", query = "DELETE FROM IntegrityAuditEntity WHERE 1=1")
+@NamedQueries({
+    @NamedQuery(name = " IntegrityAuditEntity.findAll", query = "SELECT e FROM IntegrityAuditEntity e "),
+    @NamedQuery(name = "IntegrityAuditEntity.deleteAll", query = "DELETE FROM IntegrityAuditEntity WHERE 1=1")
+})
 @NoArgsConstructor
 @Getter
 @Setter
index 33c701b..b648cd6 100644 (file)
@@ -4,13 +4,14 @@
   Integrity Audit
   ================================================================================
   Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 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.
   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.
   ============LICENSE_END=========================================================
   -->
 
-<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
- <persistence-unit name="testPU" transaction-type="RESOURCE_LOCAL">
-  <!-- Limited use for generating the DB and schema files for iatest DB - 
-   uses eclipselink -->
-  <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-  <class>org.onap.policy.common.ia.jpa.IntegrityAuditEntity</class>
-  <class>org.onap.policy.common.ia.jpa.IaTestEntity</class>
-  <shared-cache-mode>NONE</shared-cache-mode>
-  <properties>
-   <property name="javax.persistence.schema-generation.database.action"
-    value="drop-and-create" />
-  </properties>
- </persistence-unit>
+<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
+    <persistence-unit name="testPU" transaction-type="RESOURCE_LOCAL">
+        <!-- Limited use for generating the DB and schema files for iatest DB - uses hibernate -->
+        <class>org.onap.policy.common.ia.jpa.IntegrityAuditEntity</class>
+        <class>org.onap.policy.common.ia.jpa.IaTestEntity</class>
+        <shared-cache-mode>NONE</shared-cache-mode>
+        <properties>
+            <property name="javax.persistence.schema-generation.database.action" value="create" />
+            <property name="hibernate.show_sql" value="false" />
+        </properties>
   </persistence-unit>
 
- <persistence-unit name="integrityAuditPU"
-  transaction-type="RESOURCE_LOCAL">
-  <!-- For operational use -->
-  <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-  <class>org.onap.policy.common.ia.jpa.IntegrityAuditEntity</class>
-  <shared-cache-mode>NONE</shared-cache-mode>
-  <properties>
-   <!-- none -->
-  </properties>
- </persistence-unit>
+    <persistence-unit name="integrityAuditPU" transaction-type="RESOURCE_LOCAL">
+        <!-- For operational use -->
+        <class>org.onap.policy.common.ia.jpa.IntegrityAuditEntity</class>
+        <shared-cache-mode>NONE</shared-cache-mode>
+        <properties>
+            <property name="hibernate.show_sql" value="false" />
+        </properties>
+    </persistence-unit>
 </persistence>
index 72762ef..5657d4b 100644 (file)
             <artifactId>h2</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.eclipse.persistence</groupId>
-            <artifactId>eclipselink</artifactId>
+            <groupId>org.hibernate.javax.persistence</groupId>
+            <artifactId>hibernate-jpa-2.1-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-entitymanager</artifactId>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
index d4454db..d0b320f 100644 (file)
@@ -3,6 +3,7 @@
  * Integrity Monitor
  * ================================================================================
  * Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 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.
@@ -47,7 +48,6 @@ import javax.persistence.TypedQuery;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.commons.lang3.StringUtils;
-import org.eclipse.persistence.config.PersistenceUnitProperties;
 import org.onap.policy.common.im.jmx.ComponentAdmin;
 import org.onap.policy.common.im.jmx.ComponentAdminMBean;
 import org.onap.policy.common.im.jmx.JmxAgentConnection;
@@ -241,17 +241,7 @@ public class IntegrityMonitor {
         //
         // Create the entity manager factory
         //
-        if (!properties.containsKey(PersistenceUnitProperties.ECLIPSELINK_PERSISTENCE_XML)) {
-            properties.setProperty(PersistenceUnitProperties.ECLIPSELINK_PERSISTENCE_XML, "META-INF/persistenceIM.xml");
-        }
         emf = Persistence.createEntityManagerFactory(getPersistenceUnit(), properties);
-        //
-        // Did it get created?
-        //
-        if (emf == null) {
-            logger.error("Error creating IM entity manager factory with persistence unit: {}", getPersistenceUnit());
-            throw new IntegrityMonitorException("Unable to create IM Entity Manager Factory");
-        }
 
         // add entry to forward progress and resource registration tables in DB
 
index 1359502..f4c3f4f 100644 (file)
@@ -3,6 +3,7 @@
  * Integrity Monitor
  * ================================================================================
  * Copyright (C) 2017-2018, 2020-2021 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 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.
@@ -25,6 +26,7 @@ import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
+import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.PrePersist;
 import javax.persistence.Table;
@@ -35,9 +37,10 @@ import lombok.Setter;
 
 @Entity
 @Table(name = "ForwardProgressEntity")
-@NamedQuery(name = " ForwardProgressEntity.findAll", query = "SELECT e FROM ForwardProgressEntity e ")
-@NamedQuery(name = "ForwardProgressEntity.deleteAll", query = "DELETE FROM ForwardProgressEntity WHERE 1=1")
-// @SequenceGenerator(name="seqForwardProgress", initialValue=1, allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = " ForwardProgressEntity.findAll", query = "SELECT e FROM ForwardProgressEntity e "),
+    @NamedQuery(name = "ForwardProgressEntity.deleteAll", query = "DELETE FROM ForwardProgressEntity WHERE 1=1")
+})
 @Getter
 @Setter
 @NoArgsConstructor
@@ -45,7 +48,6 @@ public class ForwardProgressEntity extends DateEntity {
     private static final long serialVersionUID = 1L;
 
     @Id
-    // @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="seqForwardProgress")
     @GeneratedValue(strategy = GenerationType.AUTO)
     @Column(name = "forwardProgressId")
     @Setter(AccessLevel.NONE)
index 2b7b3d7..96a2390 100644 (file)
@@ -3,6 +3,7 @@
  * Integrity Monitor
  * ================================================================================
  * Copyright (C) 2017-2018, 2020-2021 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 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.
@@ -27,6 +28,7 @@ import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
+import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.PrePersist;
 import javax.persistence.PreUpdate;
@@ -41,9 +43,11 @@ import org.onap.policy.common.im.MonitorTime;
 
 @Entity
 @Table(name = "ImTestEntity")
-@NamedQuery(name = " ImTestEntity.findAll", query = "SELECT e FROM ImTestEntity e ")
-@NamedQuery(name = "ImTestEntity.deleteAll", query = "DELETE FROM ImTestEntity WHERE 1=1")
-// @SequenceGenerator(name="seqImTest", initialValue=1, allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = " ImTestEntity.findAll", query = "SELECT e FROM ImTestEntity e "),
+    @NamedQuery(name = "ImTestEntity.deleteAll", query = "DELETE FROM ImTestEntity WHERE 1=1")
+})
+
 @Getter
 @Setter
 @NoArgsConstructor
@@ -51,7 +55,6 @@ public class ImTestEntity implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @Id
-    // @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="seqImTest")
     @GeneratedValue(strategy = GenerationType.AUTO)
     @Column(name = "ImTestId")
     @Setter(AccessLevel.NONE)
index a8726f0..7457f73 100644 (file)
@@ -3,6 +3,7 @@
  * Integrity Monitor
  * ================================================================================
  * Copyright (C) 2017-2018, 2020-2021 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 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.
@@ -25,6 +26,7 @@ import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
+import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.Table;
 import lombok.AccessLevel;
@@ -37,9 +39,12 @@ import lombok.Setter;
 
 @Entity
 @Table(name = "ResourceRegistrationEntity")
-@NamedQuery(name = " ResourceRegistrationEntity.findAll", query = "SELECT e FROM ResourceRegistrationEntity e ")
-@NamedQuery(name = "ResourceRegistrationEntity.deleteAll", query = "DELETE FROM ResourceRegistrationEntity WHERE 1=1")
-// @SequenceGenerator(name="seqResourceRegistration", initialValue=1, allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = " ResourceRegistrationEntity.findAll", query = "SELECT e FROM ResourceRegistrationEntity e "),
+    @NamedQuery(
+        name = "ResourceRegistrationEntity.deleteAll",
+        query = "DELETE FROM ResourceRegistrationEntity WHERE 1=1")
+})
 @Getter
 @Setter
 @NoArgsConstructor
@@ -47,7 +52,6 @@ public class ResourceRegistrationEntity extends DateEntity {
     private static final long serialVersionUID = 1L;
 
     @Id
-    // @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="seqResourceRegistration")
     @GeneratedValue(strategy = GenerationType.AUTO)
     @Column(name = "ResourceRegistrationId")
     @Setter(AccessLevel.NONE)
index c04a1b3..44c4e9b 100644 (file)
@@ -42,7 +42,6 @@ import org.onap.policy.common.im.MonitorTime;
 @Entity
 @Table(name = "StateManagementEntity")
 @NamedQuery(name = "StateManagementEntity.findAll", query = "SELECT e FROM StateManagementEntity e")
-// @SequenceGenerator(name="seqSM", initialValue=1, allocationSize=1)
 
 @Getter
 @Setter
@@ -51,7 +50,6 @@ public class StateManagementEntity implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @Id
-    // @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="seqSM")
     @GeneratedValue(strategy = GenerationType.AUTO)
     @Column(name = "id")
     @Getter(AccessLevel.NONE)
@@ -4,6 +4,7 @@
   Integrity Monitor
   ================================================================================
   Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 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.
   ============LICENSE_END=========================================================
   -->
 
-<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
     <persistence-unit name="schemaPU" transaction-type="RESOURCE_LOCAL">
-    <!-- Limited use for generating the DB and schema files for imtest DB - uses eclipselink -->
-        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+    <!-- Limited use for generating the DB and schema files for imtest DB - uses hibernate -->
         <class>org.onap.policy.common.im.jpa.ImTestEntity</class>
         <class>org.onap.policy.common.im.jpa.StateManagementEntity</class>
         <class>org.onap.policy.common.im.jpa.ForwardProgressEntity</class>
@@ -36,7 +37,6 @@
 
     <persistence-unit name="operationalPU" transaction-type="RESOURCE_LOCAL">
     <!-- For operational use -->
-        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
         <class>org.onap.policy.common.im.jpa.ImTestEntity</class>
         <class>org.onap.policy.common.im.jpa.StateManagementEntity</class>
         <class>org.onap.policy.common.im.jpa.ForwardProgressEntity</class>
index ffa45a2..684ac74 100644 (file)
@@ -31,7 +31,6 @@ import java.util.concurrent.TimeUnit;
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
-import org.eclipse.persistence.config.PersistenceUnitProperties;
 import org.onap.policy.common.utils.jpa.EntityTransCloser;
 import org.onap.policy.common.utils.test.log.logback.ExtractAppender;
 import org.onap.policy.common.utils.time.CurrentTime;
@@ -165,7 +164,6 @@ public class IntegrityMonitorTestBase {
         properties.put(IntegrityMonitorProperties.NODE_TYPE, NODE_TYPE);
         properties.put(IntegrityMonitorProperties.REFRESH_STATE_AUDIT_INTERVAL_MS,
                 String.valueOf(REFRESH_INTERVAL_MS));
-        properties.setProperty(PersistenceUnitProperties.ECLIPSELINK_PERSISTENCE_XML, "META-INF/persistenceIM.xml");
 
         emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT, makeProperties());
 
index 5fdd4b3..c4d79b6 100644 (file)
@@ -83,8 +83,8 @@
             <artifactId>logback-classic</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.eclipse.persistence</groupId>
-            <artifactId>eclipselink</artifactId>
+            <groupId>org.hibernate.javax.persistence</groupId>
+            <artifactId>hibernate-jpa-2.1-api</artifactId>
         </dependency>
         <dependency>
             <groupId>com.worldturner.medeia</groupId>