Merge "Add Hibernate support in runtime-controlloop"
diff --git a/models/pom.xml b/models/pom.xml
index c38e803..6b129fd 100644
--- a/models/pom.xml
+++ b/models/pom.xml
@@ -38,16 +38,6 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-jpa</artifactId>
             <version>${version.springboot}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.hibernate</groupId>
-                    <artifactId>hibernate-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.hibernate.common</groupId>
-                    <artifactId>common-annotations</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
     </dependencies>
 
diff --git a/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/persistence/concepts/JpaControlLoop.java b/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/persistence/concepts/JpaControlLoop.java
index 756c4f1..adc3006 100644
--- a/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/persistence/concepts/JpaControlLoop.java
+++ b/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/persistence/concepts/JpaControlLoop.java
@@ -94,7 +94,6 @@
     @Column
     private Boolean primed;
 
-    // @formatter:off
     @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
     @NotNull
     private Map<@NotNull UUID, @NotNull @Valid JpaControlLoopElement> elements;
diff --git a/models/src/test/resources/META-INF/persistence.xml b/models/src/test/resources/META-INF/persistence.xml
index 078d534..54495a2 100644
--- a/models/src/test/resources/META-INF/persistence.xml
+++ b/models/src/test/resources/META-INF/persistence.xml
@@ -19,64 +19,6 @@
   ============LICENSE_END=========================================================
 -->
 <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
-    <persistence-unit name="CommissioningMariaDb" transaction-type="RESOURCE_LOCAL">
-        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-
-        <class>org.onap.policy.models.base.PfConceptKey</class>
-        <class>org.onap.policy.models.dao.converters.CDataConditioner</class>
-        <class>org.onap.policy.models.dao.converters.Uuid2String</class>
-        <class>org.onap.policy.models.pdp.persistence.concepts.JpaPdp</class>
-        <class>org.onap.policy.models.pdp.persistence.concepts.JpaPdpGroup</class>
-        <class>org.onap.policy.models.pdp.persistence.concepts.JpaPdpStatistics</class>
-        <class>org.onap.policy.models.pdp.persistence.concepts.JpaPdpSubGroup</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityAssignment</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityAssignments</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaDataType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaDataTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplates</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaParameter</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicies</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicy</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaProperty</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRelationshipType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRelationshipTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRequirement</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRequirements</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaTopologyTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaTrigger</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaControlLoop</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaControlLoopElement</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipant</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipantStatistics</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaClElementStatistics</class>
-
-        <properties>
-            <property name="eclipselink.ddl-generation" value="create-or-extend-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" /-->
-        </properties>
-        <shared-cache-mode>NONE</shared-cache-mode>
-    </persistence-unit>
-
     <persistence-unit name="ToscaConceptTest" transaction-type="RESOURCE_LOCAL">
         <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
 
@@ -132,7 +74,6 @@
             <property name="eclipselink.logging.level.query" value="ALL" />
             <property name="eclipselink.logging.level.properties" value="ALL"/> -->
         </properties>
-        <shared-cache-mode>NONE</shared-cache-mode>
     </persistence-unit>
 </persistence>
 
diff --git a/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml b/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml
index 1a57f23..4624489 100644
--- a/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml
+++ b/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml
@@ -16,6 +16,16 @@
       idleTimeout: 600000
       maxLifetime: 1800000
       maximumPoolSize: 10
+  jpa:
+    hibernate:
+      ddl-auto: update
+      naming:
+        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+        implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
+    properties:
+      hibernate:
+        dialect: org.hibernate.dialect.MariaDB103Dialect
+        format_sql: true
 
 security:
   enable-csrf: false
@@ -29,24 +39,12 @@
 
 
 runtime:
-  supervisionScannerIntervalSec: 1000
-  participantClUpdateIntervalSec: 1000
-  participantClStateChangeIntervalSec: 1000
   participantParameters:
     heartBeatMs: 20000
     maxStatusWaitMs: 100000
     updateParameters:
       maxRetryCount: 3
       maxWaitMs: 20000
-  databasePlatform: org.eclipse.persistence.platform.database.MySQLPlatform
-  databaseProviderParameters:
-    name: PolicyProviderParameterGroup
-    implementation: org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl
-    databaseDriver: org.mariadb.jdbc.Driver
-    databaseUrl: jdbc:mariadb://${mariadb.host:mariadb}:${mariadb.port:3306}/controlloop
-    databaseUser: policy_user
-    databasePassword: policy_user
-    persistenceUnit: CommissioningMariaDb
   topicParameterGroup:
     topicSources:
       -
diff --git a/pom.xml b/pom.xml
index 5020225..713cf5e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,6 +101,11 @@
             <version>${policy.common.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.onap.policy.common</groupId>
+            <artifactId>spring-utils</artifactId>
+            <version>${policy.common.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.onap.policy.models</groupId>
             <artifactId>policy-models-provider</artifactId>
             <version>${policy.models.version}</version>
diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/Application.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/Application.java
index 64d1393..44a661e 100644
--- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/Application.java
+++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/Application.java
@@ -36,7 +36,7 @@
     "org.onap.policy.clamp.controlloop.common.rest"})
 @ConfigurationPropertiesScan("org.onap.policy.clamp.controlloop.runtime.main.parameters")
 @EntityScan({"org.onap.policy.models.tosca.simple.concepts",
-    "org.onap.policy.clamp.controlloop.models.controlloop.concepts"})
+    "org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts"})
 public class Application {
 
     public static void main(String[] args) {
diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/config/JpaConfiguration.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/config/JpaConfiguration.java
deleted file mode 100644
index 290b74e..0000000
--- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/config/JpaConfiguration.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- *  Copyright (C) 2021 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.
- * 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.clamp.controlloop.runtime.config;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.persistence.EntityManagerFactory;
-import javax.sql.DataSource;
-import org.eclipse.persistence.config.BatchWriting;
-import org.eclipse.persistence.config.PersistenceUnitProperties;
-import org.eclipse.persistence.logging.SessionLog;
-import org.onap.policy.clamp.controlloop.runtime.main.parameters.ClRuntimeParameterGroup;
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration;
-import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
-import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import org.springframework.orm.jpa.JpaTransactionManager;
-import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
-import org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter;
-import org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-import org.springframework.transaction.jta.JtaTransactionManager;
-
-@Configuration
-@EnableTransactionManagement
-public class JpaConfiguration extends JpaBaseConfiguration {
-
-    protected JpaConfiguration(DataSource dataSource, JpaProperties properties,
-            ObjectProvider<JtaTransactionManager> jtaTransactionManager) {
-        super(dataSource, properties, jtaTransactionManager);
-    }
-
-    @Override
-    protected AbstractJpaVendorAdapter createJpaVendorAdapter() {
-        return new EclipseLinkJpaVendorAdapter();
-    }
-
-    @Override
-    protected Map<String, Object> getVendorProperties() {
-        return Map.of(PersistenceUnitProperties.BATCH_WRITING, BatchWriting.JDBC);
-    }
-
-    /**
-     * Create EntityManagerFactory.
-     *
-     * @param builder EntityManagerFactoryBuilder
-     * @param dataSource DataSource
-     * @return LocalContainerEntityManagerFactoryBean
-     */
-    @Bean("entityManagerFactory")
-    public LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactory(
-            EntityManagerFactoryBuilder builder, DataSource dataSource,
-            ClRuntimeParameterGroup clRuntimeParameterGroup) {
-
-        return builder.dataSource(dataSource)
-                .persistenceUnit(clRuntimeParameterGroup.getDatabaseProviderParameters().getPersistenceUnit())
-                .properties(initJpaProperties()).build();
-    }
-
-    /**
-     * create a PlatformTransactionManager.
-     *
-     * @param emf EntityManagerFactory
-     * @return PlatformTransactionManager
-     */
-    @Bean
-    public static PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
-        final var transactionManager = new JpaTransactionManager();
-        transactionManager.setEntityManagerFactory(emf);
-        return transactionManager;
-    }
-
-    /**
-     * create Jpa Properties.
-     *
-     * @return JpaProperties
-     */
-    @Bean
-    @Primary
-    public static JpaProperties properties(ClRuntimeParameterGroup clRuntimeParameterGroup) {
-        final var jpaProperties = new JpaProperties();
-        jpaProperties.setShowSql(clRuntimeParameterGroup.isShowSql());
-        jpaProperties.setDatabasePlatform(clRuntimeParameterGroup.getDatabasePlatform());
-        return jpaProperties;
-    }
-
-    private static Map<String, ?> initJpaProperties() {
-        final Map<String, Object> ret = new HashMap<>();
-        // Add any JpaProperty you are interested in and is supported by your Database and JPA implementation
-        ret.put(PersistenceUnitProperties.BATCH_WRITING, BatchWriting.JDBC);
-        ret.put(PersistenceUnitProperties.LOGGING_LEVEL, SessionLog.INFO_LABEL);
-        ret.put(PersistenceUnitProperties.WEAVING, "false");
-        ret.put(PersistenceUnitProperties.DDL_GENERATION, PersistenceUnitProperties.CREATE_ONLY);
-        ret.put(PersistenceUnitProperties.DDL_GENERATION_MODE, PersistenceUnitProperties.DDL_DATABASE_GENERATION);
-        return ret;
-    }
-}
diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java
index 9211ca2..047bca2 100644
--- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java
+++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java
@@ -21,14 +21,11 @@
 package org.onap.policy.clamp.controlloop.runtime.main.parameters;
 
 import javax.validation.Valid;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import lombok.Getter;
 import lombok.Setter;
 import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
 import org.onap.policy.common.parameters.validation.ParameterGroupConstraint;
-import org.onap.policy.models.provider.PolicyModelsProviderParameters;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.validation.annotation.Validated;
 
@@ -42,10 +39,6 @@
 @ConfigurationProperties(prefix = "runtime")
 public class ClRuntimeParameterGroup {
 
-    @NotNull
-    @ParameterGroupConstraint
-    private PolicyModelsProviderParameters databaseProviderParameters;
-
     @Valid
     @NotNull
     private ParticipantParameters participantParameters;
@@ -53,21 +46,4 @@
     @NotNull
     @ParameterGroupConstraint
     private TopicParameterGroup topicParameterGroup;
-
-    @Min(value = 0)
-    private long supervisionScannerIntervalSec;
-
-    @Min(value = 0)
-    private long participantClUpdateIntervalSec;
-
-    @Min(value = 0)
-    private long participantClStateChangeIntervalSec;
-    private long participantRegisterAckIntervalSec;
-    private long participantDeregisterAckIntervalSec;
-    private long participantUpdateIntervalSec;
-
-    @NotBlank
-    private String databasePlatform;
-
-    private boolean showSql = false;
 }
diff --git a/runtime-controlloop/src/main/resources/META-INF/persistence.xml b/runtime-controlloop/src/main/resources/META-INF/persistence.xml
deleted file mode 100644
index a4e9a56..0000000
--- a/runtime-controlloop/src/main/resources/META-INF/persistence.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ============LICENSE_START=======================================================
-   Copyright (C) 2021 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.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
-  SPDX-License-Identifier: Apache-2.0
-  ============LICENSE_END=========================================================
--->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
-    <persistence-unit name="CommissioningMariaDb" transaction-type="RESOURCE_LOCAL">
-        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityAssignment</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityAssignments</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaDataType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaDataTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplates</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaParameter</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicies</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicy</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaProperty</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRelationshipType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRelationshipTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRequirement</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRequirements</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaTopologyTemplate</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaControlLoop</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaControlLoopElement</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipant</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipantStatistics</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaClElementStatistics</class>
-
-        <properties>
-            <property name="eclipselink.ddl-generation" value="create-or-extend-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" /-->
-        </properties>
-        <shared-cache-mode>NONE</shared-cache-mode>
-    </persistence-unit>
-
-</persistence>
-
diff --git a/runtime-controlloop/src/main/resources/application.yaml b/runtime-controlloop/src/main/resources/application.yaml
index bae4b96..3a3ada5 100644
--- a/runtime-controlloop/src/main/resources/application.yaml
+++ b/runtime-controlloop/src/main/resources/application.yaml
@@ -16,6 +16,16 @@
       idleTimeout: 600000
       maxLifetime: 1800000
       maximumPoolSize: 10
+  jpa:
+    hibernate:
+      ddl-auto: update
+      naming:
+        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+        implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
+    properties:
+      hibernate:
+        dialect: org.hibernate.dialect.MariaDB103Dialect
+        format_sql: true
 
 security:
   enable-csrf: false
@@ -29,24 +39,12 @@
 
 
 runtime:
-  supervisionScannerIntervalSec: 1000
-  participantClUpdateIntervalSec: 1000
-  participantClStateChangeIntervalSec: 1000
   participantParameters:
     heartBeatMs: 20000
     maxStatusWaitMs: 100000
     updateParameters:
       maxRetryCount: 4
       maxWaitMs: 20000
-  databasePlatform: org.eclipse.persistence.platform.database.MySQLPlatform
-  databaseProviderParameters:
-    name: PolicyProviderParameterGroup
-    implementation: org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl
-    databaseDriver: org.mariadb.jdbc.Driver
-    databaseUrl: jdbc:mariadb://${mariadb.host:localhost}:${mariadb.port:3306}/controlloop
-    databaseUser: policy
-    databasePassword: P01icY
-    persistenceUnit: CommissioningMariaDb
   topicParameterGroup:
     topicSources:
       -
diff --git a/runtime-controlloop/src/test/resources/META-INF/persistence.xml b/runtime-controlloop/src/test/resources/META-INF/persistence.xml
deleted file mode 100644
index fe460ff..0000000
--- a/runtime-controlloop/src/test/resources/META-INF/persistence.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ============LICENSE_START=======================================================
-   Copyright (C) 2021 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.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
-  SPDX-License-Identifier: Apache-2.0
-  ============LICENSE_END=========================================================
--->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
-    <persistence-unit name="ToscaConceptTest" transaction-type="RESOURCE_LOCAL">
-        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityAssignment</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityAssignments</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaDataType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaDataTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplates</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaParameter</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicies</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicy</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaProperty</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRelationshipType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRelationshipTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRequirement</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRequirements</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaTopologyTemplate</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaControlLoop</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaControlLoopElement</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipant</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipantStatistics</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaClElementStatistics</class>
-
-        <properties>
-            <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>
-        <shared-cache-mode>NONE</shared-cache-mode>
-    </persistence-unit>
-
-    <persistence-unit name="InstantiationTests" transaction-type="RESOURCE_LOCAL">
-        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityAssignment</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityAssignments</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaCapabilityTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaDataType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaDataTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplates</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaParameter</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicies</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicy</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicyTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaProperty</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRelationshipType</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRelationshipTypes</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRequirement</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaRequirements</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate</class>
-        <class>org.onap.policy.models.tosca.simple.concepts.JpaToscaTopologyTemplate</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaControlLoop</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaControlLoopElement</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipant</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipantStatistics</class>
-        <class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaClElementStatistics</class>
-
-        <properties>
-            <property name="eclipselink.ddl-generation" value="create-or-extend-tables" />
-            <property name="eclipselink.ddl-generation.output-mode" value="database" />
-            <property name="eclipselink.logging.level" value="INFO" />
-        </properties>
-        <shared-cache-mode>NONE</shared-cache-mode>
-    </persistence-unit>
-
-</persistence>
-
diff --git a/runtime-controlloop/src/test/resources/application_test.properties b/runtime-controlloop/src/test/resources/application_test.properties
index 26822db..52c372d 100644
--- a/runtime-controlloop/src/test/resources/application_test.properties
+++ b/runtime-controlloop/src/test/resources/application_test.properties
@@ -12,25 +12,20 @@
 spring.datasource.hikari.maxLifetime=1800000
 spring.datasource.hikari.maximumPoolSize=3
 
+spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+spring.jpa.hibernate.naming.implicit-strategy=org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
+spring.jpa.hibernate.ddl-auto=create
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.HSQLDialect
+spring.jpa.properties.hibernate.format_sql=true
+
 server.port=6969
 server.servlet.context-path=/onap/controlloop
 server.error.path=/error
 
-runtime.supervisionScannerIntervalSec=1000
-runtime.participantClUpdateIntervalSec=1000
-runtime.participantClStateChangeIntervalSec=1000
-runtime.showSql=true
 runtime.participantParameters.heartBeatMs=20000
 runtime.participantParameters.maxStatusWaitMs=100000
 runtime.participantParameters.updateParameters.maxRetryCount=3
 runtime.participantParameters.updateParameters.maxWaitMs=20000
-runtime.databaseProviderParameters.name=PolicyProviderParameterGroup
-runtime.databaseProviderParameters.implementation=org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl
-runtime.databaseProviderParameters.databaseDriver=org.h2.Driver
-runtime.databaseProviderParameters.databaseUrl=jdbc:h2:mem:testdb
-runtime.databaseProviderParameters.databaseUser=policy
-runtime.databaseProviderParameters.databasePassword=P01icY
-runtime.databaseProviderParameters.persistenceUnit=ToscaConceptTest
 runtime.topicParameterGroup.topicSources[0].topic=POLICY-CLRUNTIME-PARTICIPANT
 runtime.topicParameterGroup.topicSources[0].servers[0]=localhost
 runtime.topicParameterGroup.topicSources[0].topicCommInfrastructure=dmaap