summaryrefslogtreecommitdiffstats
path: root/runtime-controlloop/src/main/java/org/onap
diff options
context:
space:
mode:
authorFrancescoFioraEst <francesco.fiora@est.tech>2021-12-03 13:43:41 +0000
committerFrancescoFioraEst <francesco.fiora@est.tech>2022-02-16 16:23:06 +0000
commitb902c7dd9ad1b74729c3c488b24624e510244250 (patch)
tree50ad8ab9560b95b66ec0e95e9ae3b3749ad21332 /runtime-controlloop/src/main/java/org/onap
parentc97a6c0428998103906472725d34b9951a0ff559 (diff)
Add Hibernate support in runtime-controlloop
Issue-ID: POLICY-3841 Change-Id: Ie958a4a4ab35c8bc4d6829128e39a2458d67a7a5 Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
Diffstat (limited to 'runtime-controlloop/src/main/java/org/onap')
-rw-r--r--runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/Application.java2
-rw-r--r--runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/config/JpaConfiguration.java119
-rw-r--r--runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java24
3 files changed, 1 insertions, 144 deletions
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 64d1393ac..44a661e55 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 @@ import org.springframework.scheduling.annotation.EnableScheduling;
"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 290b74e3a..000000000
--- 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 9211ca211..047bca2b1 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 @@ import org.springframework.validation.annotation.Validated;
@ConfigurationProperties(prefix = "runtime")
public class ClRuntimeParameterGroup {
- @NotNull
- @ParameterGroupConstraint
- private PolicyModelsProviderParameters databaseProviderParameters;
-
@Valid
@NotNull
private ParticipantParameters participantParameters;
@@ -53,21 +46,4 @@ public class ClRuntimeParameterGroup {
@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;
}