aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md6
-rw-r--r--models/pom.xml19
-rw-r--r--packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml11
-rw-r--r--participant/pom.xml6
-rw-r--r--runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/Application.java5
-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.java5
-rw-r--r--runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java6
-rw-r--r--runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java13
-rw-r--r--runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ControlLoopUpdatePublisher.java6
-rw-r--r--runtime-controlloop/src/main/resources/META-INF/persistence.xml48
-rw-r--r--runtime-controlloop/src/main/resources/application.yaml11
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java34
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java8
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java24
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java12
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java16
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java13
-rw-r--r--runtime-controlloop/src/test/resources/META-INF/persistence.xml59
-rw-r--r--runtime-controlloop/src/test/resources/application_test.properties11
-rw-r--r--runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml2622
21 files changed, 2816 insertions, 238 deletions
diff --git a/README.md b/README.md
index 583f4cc6f..93637cc9e 100644
--- a/README.md
+++ b/README.md
@@ -9,13 +9,13 @@ The ONAP CLAMP platform abstracts the details of these systems under the concept
At a higher level, CLAMP is about supporting and managing the broad operational life cycle of VNFs/VMs and ultimately ONAP components itself. It will offer the ability to design, test, deploy and update control loop automation - both closed and open. Automating these functions would represent a significant saving on operational costs compared to traditional methods.
# Developer Contact
-Owner: ONAP CLAMP Dev team
+Owner: ONAP Policy/CLAMP Dev team
Mailing List : onap-discuss@lists.onap.org
-Add the following prefix to Subject on the mailing list : [CLAMP]
+Add the following prefix to Subject on the mailing list : [POLICY]
See here to subscribe : https://wiki.onap.org/display/DW/Mailing+Lists
# Wiki
-https://wiki.onap.org/display/DW/CLAMP+Project
+https://wiki.onap.org/display/DW/Policy+Framework+Project
# Build
Jenkins Job: ${jenkins-joblink}
diff --git a/models/pom.xml b/models/pom.xml
index c534a16f4..4adf64d2a 100644
--- a/models/pom.xml
+++ b/models/pom.xml
@@ -32,4 +32,23 @@
<artifactId>policy-clamp-models</artifactId>
<name>${project.artifactId}</name>
+
+ <dependencies>
+ <dependency>
+ <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>
+
</project>
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 d399b82ba..a01c49881 100644
--- a/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml
+++ b/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml
@@ -6,6 +6,16 @@ spring:
http:
converters:
preferred-json-mapper: gson
+ datasource:
+ url: jdbc:mariadb://${mariadb.host:mariadb}:${mariadb.port:3306}/controlloop
+ driverClassName: org.mariadb.jdbc.Driver
+ username: policy_user
+ password: policy_user
+ hikari:
+ connectionTimeout: 30000
+ idleTimeout: 600000
+ maxLifetime: 1800000
+ maximumPoolSize: 10
security:
enable-csrf: false
@@ -28,6 +38,7 @@ runtime:
updateParameters:
maxRetryCount: 3
maxWaitMs: 20000
+ databasePlatform: org.eclipse.persistence.platform.database.MySQLPlatform
databaseProviderParameters:
name: PolicyProviderParameterGroup
implementation: org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl
diff --git a/participant/pom.xml b/participant/pom.xml
index fcfbe0c90..1134239cd 100644
--- a/participant/pom.xml
+++ b/participant/pom.xml
@@ -93,6 +93,12 @@
<groupId>org.onap.policy.clamp</groupId>
<artifactId>policy-clamp-models</artifactId>
<version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
</dependencies>
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 a9b45c589..3f51f1f2b 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
@@ -22,16 +22,21 @@ package org.onap.policy.clamp.controlloop.runtime;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.context.annotation.ComponentScan;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@SpringBootApplication
+@EnableJpaRepositories
@ComponentScan({"org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider",
"org.onap.policy.clamp.controlloop.runtime",
"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"})
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
new file mode 100644
index 000000000..290b74e3a
--- /dev/null
+++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/config/JpaConfiguration.java
@@ -0,0 +1,119 @@
+/*-
+ * ============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 86473caa8..9211ca211 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
@@ -22,6 +22,7 @@ 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;
@@ -65,4 +66,8 @@ public class ClRuntimeParameterGroup {
private long participantDeregisterAckIntervalSec;
private long participantUpdateIntervalSec;
+ @NotBlank
+ private String databasePlatform;
+
+ private boolean showSql = false;
}
diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java
index 2a1f9082f..f011d9392 100644
--- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java
+++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java
@@ -40,6 +40,7 @@ import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantUtils;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
+import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ControlLoopAck;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantDeregister;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantMessage;
@@ -54,7 +55,6 @@ import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantReg
import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantUpdatePublisher;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.base.PfModelRuntimeException;
-import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.slf4j.Logger;
@@ -80,7 +80,7 @@ public class SupervisionHandler {
private final ControlLoopProvider controlLoopProvider;
private final ParticipantProvider participantProvider;
private final MonitoringProvider monitoringProvider;
- private final PolicyModelsProvider modelsProvider;
+ private final ServiceTemplateProvider serviceTemplateProvider;
// Publishers for participant communication
private final ControlLoopUpdatePublisher controlLoopUpdatePublisher;
@@ -427,7 +427,7 @@ public class SupervisionHandler {
private int getFirstStartPhase(ControlLoop controlLoop) {
ToscaServiceTemplate toscaServiceTemplate = null;
try {
- toscaServiceTemplate = modelsProvider.getServiceTemplateList(null, null).get(0);
+ toscaServiceTemplate = serviceTemplateProvider.getServiceTemplateList(null, null).get(0);
} catch (PfModelException e) {
throw new PfModelRuntimeException(Status.BAD_REQUEST, "Canont load ToscaServiceTemplate from DB", e);
}
diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java
index 48e06010d..900a117bd 100644
--- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java
+++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScanner.java
@@ -34,13 +34,13 @@ import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantUtils;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
+import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
import org.onap.policy.clamp.controlloop.runtime.main.parameters.ClRuntimeParameterGroup;
import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ControlLoopStateChangePublisher;
import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ControlLoopUpdatePublisher;
import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantStatusReqPublisher;
import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantUpdatePublisher;
import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
@@ -63,7 +63,7 @@ public class SupervisionScanner {
private final Map<ToscaConceptIdentifier, Integer> phaseMap = new HashMap<>();
private final ControlLoopProvider controlLoopProvider;
- private final PolicyModelsProvider modelsProvider;
+ private final ServiceTemplateProvider serviceTemplateProvider;
private final ControlLoopStateChangePublisher controlLoopStateChangePublisher;
private final ControlLoopUpdatePublisher controlLoopUpdatePublisher;
private final ParticipantProvider participantProvider;
@@ -74,7 +74,7 @@ public class SupervisionScanner {
* Constructor for instantiating SupervisionScanner.
*
* @param controlLoopProvider the provider to use to read control loops from the database
- * @param modelsProvider the Policy Models Provider
+ * @param serviceTemplateProvider the Policy Models Provider
* @param controlLoopStateChangePublisher the ControlLoop StateChange Publisher
* @param controlLoopUpdatePublisher the ControlLoopUpdate Publisher
* @param participantProvider the Participant Provider
@@ -82,14 +82,15 @@ public class SupervisionScanner {
* @param participantUpdatePublisher the Participant Update Publisher
* @param clRuntimeParameterGroup the parameters for the control loop runtime
*/
- public SupervisionScanner(final ControlLoopProvider controlLoopProvider, PolicyModelsProvider modelsProvider,
+ public SupervisionScanner(final ControlLoopProvider controlLoopProvider,
+ ServiceTemplateProvider serviceTemplateProvider,
final ControlLoopStateChangePublisher controlLoopStateChangePublisher,
ControlLoopUpdatePublisher controlLoopUpdatePublisher, ParticipantProvider participantProvider,
ParticipantStatusReqPublisher participantStatusReqPublisher,
ParticipantUpdatePublisher participantUpdatePublisher,
final ClRuntimeParameterGroup clRuntimeParameterGroup) {
this.controlLoopProvider = controlLoopProvider;
- this.modelsProvider = modelsProvider;
+ this.serviceTemplateProvider = serviceTemplateProvider;
this.controlLoopStateChangePublisher = controlLoopStateChangePublisher;
this.controlLoopUpdatePublisher = controlLoopUpdatePublisher;
this.participantProvider = participantProvider;
@@ -130,7 +131,7 @@ public class SupervisionScanner {
}
try {
- var list = modelsProvider.getServiceTemplateList(null, null);
+ var list = serviceTemplateProvider.getServiceTemplateList(null, null);
if (list != null && !list.isEmpty()) {
ToscaServiceTemplate toscaServiceTemplate = list.get(0);
diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ControlLoopUpdatePublisher.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ControlLoopUpdatePublisher.java
index 06fbcd649..32c0638af 100644
--- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ControlLoopUpdatePublisher.java
+++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ControlLoopUpdatePublisher.java
@@ -31,9 +31,9 @@ import org.onap.policy.clamp.controlloop.common.utils.CommonUtils;
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopElement;
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantUpdates;
+import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ControlLoopUpdate;
import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,7 +47,7 @@ import org.springframework.stereotype.Component;
public class ControlLoopUpdatePublisher extends AbstractParticipantPublisher<ControlLoopUpdate> {
private static final Logger LOGGER = LoggerFactory.getLogger(ControlLoopUpdatePublisher.class);
- private final PolicyModelsProvider modelsProvider;
+ private final ServiceTemplateProvider serviceTemplateProvider;
/**
* Send ControlLoopUpdate to Participant.
@@ -72,7 +72,7 @@ public class ControlLoopUpdatePublisher extends AbstractParticipantPublisher<Con
controlLoopUpdateMsg.setTimestamp(Instant.now());
ToscaServiceTemplate toscaServiceTemplate;
try {
- toscaServiceTemplate = modelsProvider.getServiceTemplateList(null, null).get(0);
+ toscaServiceTemplate = serviceTemplateProvider.getServiceTemplateList(null, null).get(0);
} catch (PfModelException pfme) {
LOGGER.warn("Get of tosca service template failed, cannot send participantupdate", pfme);
return;
diff --git a/runtime-controlloop/src/main/resources/META-INF/persistence.xml b/runtime-controlloop/src/main/resources/META-INF/persistence.xml
index e5d2cab11..a4e9a56e9 100644
--- a/runtime-controlloop/src/main/resources/META-INF/persistence.xml
+++ b/runtime-controlloop/src/main/resources/META-INF/persistence.xml
@@ -69,53 +69,5 @@
<shared-cache-mode>NONE</shared-cache-mode>
</persistence-unit>
- <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" />
-
- <!-- 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 50c063fb3..c4fc77b4d 100644
--- a/runtime-controlloop/src/main/resources/application.yaml
+++ b/runtime-controlloop/src/main/resources/application.yaml
@@ -6,6 +6,16 @@ spring:
http:
converters:
preferred-json-mapper: gson
+ datasource:
+ url: jdbc:mariadb://${mariadb.host:localhost}:${mariadb.port:3306}/controlloop
+ driverClassName: org.mariadb.jdbc.Driver
+ username: policy
+ password: P01icY
+ hikari:
+ connectionTimeout: 30000
+ idleTimeout: 600000
+ maxLifetime: 1800000
+ maximumPoolSize: 10
security:
enable-csrf: false
@@ -28,6 +38,7 @@ runtime:
updateParameters:
maxRetryCount: 4
maxWaitMs: 20000
+ databasePlatform: org.eclipse.persistence.platform.database.MySQLPlatform
databaseProviderParameters:
name: PolicyProviderParameterGroup
implementation: org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java
index 4a5a6e2a3..9d1435e7c 100644
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java
+++ b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java
@@ -39,12 +39,10 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.api.parallel.Execution;
import org.junit.jupiter.api.parallel.ExecutionMode;
+import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
import org.onap.policy.clamp.controlloop.models.messages.rest.commissioning.CommissioningResponse;
import org.onap.policy.clamp.controlloop.runtime.instantiation.InstantiationUtils;
-import org.onap.policy.clamp.controlloop.runtime.main.parameters.ClRuntimeParameterGroup;
import org.onap.policy.clamp.controlloop.runtime.util.rest.CommonRestController;
-import org.onap.policy.models.provider.PolicyModelsProvider;
-import org.onap.policy.models.provider.PolicyModelsProviderFactory;
import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.springframework.beans.factory.annotation.Autowired;
@@ -70,7 +68,7 @@ class CommissioningControllerTest extends CommonRestController {
private static ToscaServiceTemplate commonPropertiesServiceTemplate = new ToscaServiceTemplate();
@Autowired
- private ClRuntimeParameterGroup clRuntimeParameterGroup;
+ private ServiceTemplateProvider serviceTemplateProvider;
@LocalServerPort
private int randomServerPort;
@@ -282,37 +280,25 @@ class CommissioningControllerTest extends CommonRestController {
Response resp = invocationBuilder.delete();
assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- try (PolicyModelsProvider modelsProvider = new PolicyModelsProviderFactory()
- .createPolicyModelsProvider(clRuntimeParameterGroup.getDatabaseProviderParameters())) {
- List<ToscaServiceTemplate> templatesInDB = modelsProvider.getServiceTemplateList(null, null);
- assertThat(templatesInDB).isEmpty();
- }
+ List<ToscaServiceTemplate> templatesInDB = serviceTemplateProvider.getServiceTemplateList(null, null);
+ assertThat(templatesInDB).isEmpty();
}
private synchronized void createEntryInDB() throws Exception {
- try (PolicyModelsProvider modelsProvider = new PolicyModelsProviderFactory()
- .createPolicyModelsProvider(clRuntimeParameterGroup.getDatabaseProviderParameters())) {
- deleteEntryInDB(commonPropertiesServiceTemplate.getName(), commonPropertiesServiceTemplate.getVersion());
- modelsProvider.createServiceTemplate(serviceTemplate);
- }
+ deleteEntryInDB(commonPropertiesServiceTemplate.getName(), commonPropertiesServiceTemplate.getVersion());
+ serviceTemplateProvider.createServiceTemplate(serviceTemplate);
}
// Delete entries from the DB after relevant tests
private synchronized void deleteEntryInDB(String name, String version) throws Exception {
- try (PolicyModelsProvider modelsProvider = new PolicyModelsProviderFactory()
- .createPolicyModelsProvider(clRuntimeParameterGroup.getDatabaseProviderParameters())) {
- if (!modelsProvider.getServiceTemplateList(null, null).isEmpty()) {
- modelsProvider.deleteServiceTemplate(name, version);
- }
+ if (!serviceTemplateProvider.getServiceTemplateList(null, null).isEmpty()) {
+ serviceTemplateProvider.deleteServiceTemplate(name, version);
}
}
private synchronized void createFullEntryInDbWithCommonProps() throws Exception {
- try (PolicyModelsProvider modelsProvider = new PolicyModelsProviderFactory()
- .createPolicyModelsProvider(clRuntimeParameterGroup.getDatabaseProviderParameters())) {
- deleteEntryInDB(commonPropertiesServiceTemplate.getName(), commonPropertiesServiceTemplate.getVersion());
- modelsProvider.createServiceTemplate(commonPropertiesServiceTemplate);
- }
+ deleteEntryInDB(commonPropertiesServiceTemplate.getName(), commonPropertiesServiceTemplate.getVersion());
+ serviceTemplateProvider.createServiceTemplate(commonPropertiesServiceTemplate);
}
}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java
index ae1c59851..8fbd47136 100644
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java
+++ b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java
@@ -138,11 +138,11 @@ class ControlLoopInstantiationProviderTest {
var participantRegisterAckPublisher = Mockito.mock(ParticipantRegisterAckPublisher.class);
var participantDeregisterAckPublisher = Mockito.mock(ParticipantDeregisterAckPublisher.class);
var participantUpdatePublisher = Mockito.mock(ParticipantUpdatePublisher.class);
- var modelsProvider = Mockito.mock(PolicyModelsProvider.class);
+ var serviceTemplateProvider = Mockito.mock(ServiceTemplateProvider.class);
- supervisionHandler = new SupervisionHandler(clProvider, participantProvider, monitoringProvider, modelsProvider,
- controlLoopUpdatePublisher, controlLoopStateChangePublisher, participantRegisterAckPublisher,
- participantDeregisterAckPublisher, participantUpdatePublisher);
+ supervisionHandler = new SupervisionHandler(clProvider, participantProvider, monitoringProvider,
+ serviceTemplateProvider, controlLoopUpdatePublisher, controlLoopStateChangePublisher,
+ participantRegisterAckPublisher, participantDeregisterAckPublisher, participantUpdatePublisher);
}
@BeforeEach
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java
index 2e01be289..e361ff469 100644
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java
+++ b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java
@@ -37,17 +37,15 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoops;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
+import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.ControlLoopPrimedResponse;
import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstantiationCommand;
import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstantiationResponse;
import org.onap.policy.clamp.controlloop.runtime.instantiation.ControlLoopInstantiationProvider;
import org.onap.policy.clamp.controlloop.runtime.instantiation.InstantiationUtils;
-import org.onap.policy.clamp.controlloop.runtime.main.parameters.ClRuntimeParameterGroup;
import org.onap.policy.clamp.controlloop.runtime.main.rest.InstantiationController;
import org.onap.policy.clamp.controlloop.runtime.util.CommonTestData;
import org.onap.policy.clamp.controlloop.runtime.util.rest.CommonRestController;
-import org.onap.policy.models.provider.PolicyModelsProvider;
-import org.onap.policy.models.provider.PolicyModelsProviderFactory;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.springframework.beans.factory.annotation.Autowired;
@@ -86,7 +84,7 @@ class InstantiationControllerTest extends CommonRestController {
private static ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate();
@Autowired
- private ClRuntimeParameterGroup clRuntimeParameterGroup;
+ private ServiceTemplateProvider serviceTemplateProvider;
@Autowired
private ControlLoopInstantiationProvider instantiationProvider;
@@ -177,8 +175,8 @@ class InstantiationControllerTest extends CommonRestController {
assertEquals(controlLoopFromRsc, controlLoopsFromDb.getControlLoopList().get(0));
}
- invocationBuilder = super.sendRequest(PRIMING_ENDPOINT + "?name="
- + "PMSHInstance0Create" + "&version=" + "1.0.1");
+ invocationBuilder =
+ super.sendRequest(PRIMING_ENDPOINT + "?name=" + "PMSHInstance0Create" + "&version=" + "1.0.1");
Response rawresp = invocationBuilder.buildGet().invoke();
assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
ControlLoopPrimedResponse primResponse = rawresp.readEntity(ControlLoopPrimedResponse.class);
@@ -349,19 +347,13 @@ class InstantiationControllerTest extends CommonRestController {
}
private synchronized void deleteEntryInDB(String name, String version) throws Exception {
- try (PolicyModelsProvider modelsProvider = new PolicyModelsProviderFactory()
- .createPolicyModelsProvider(clRuntimeParameterGroup.getDatabaseProviderParameters())) {
- if (!modelsProvider.getServiceTemplateList(null, null).isEmpty()) {
- modelsProvider.deleteServiceTemplate(name, version);
- }
+ if (!serviceTemplateProvider.getServiceTemplateList(null, null).isEmpty()) {
+ serviceTemplateProvider.deleteServiceTemplate(name, version);
}
}
private synchronized void createEntryInDB() throws Exception {
- try (PolicyModelsProvider modelsProvider = new PolicyModelsProviderFactory()
- .createPolicyModelsProvider(clRuntimeParameterGroup.getDatabaseProviderParameters())) {
- deleteEntryInDB(serviceTemplate.getName(), serviceTemplate.getVersion());
- modelsProvider.createServiceTemplate(serviceTemplate);
- }
+ deleteEntryInDB(serviceTemplate.getName(), serviceTemplate.getVersion());
+ serviceTemplateProvider.createServiceTemplate(serviceTemplate);
}
}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java
index bbc4deec1..a314b30a0 100644
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java
+++ b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java
@@ -41,6 +41,7 @@ import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantStatistics;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
+import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ControlLoopAck;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantDeregister;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantMessageType;
@@ -56,7 +57,6 @@ import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantReg
import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantUpdatePublisher;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
class SupervisionHandlerTest {
@@ -265,13 +265,13 @@ class SupervisionHandlerTest {
when(controlLoopProvider.getControlLoop(identifier)).thenReturn(controlLoop);
- var modelsProvider = Mockito.mock(PolicyModelsProvider.class);
- when(modelsProvider.getServiceTemplateList(any(), any()))
+ var serviceTemplateProvider = Mockito.mock(ServiceTemplateProvider.class);
+ when(serviceTemplateProvider.getServiceTemplateList(any(), any()))
.thenReturn(List.of(InstantiationUtils.getToscaServiceTemplate(TOSCA_TEMPLATE_YAML)));
- return new SupervisionHandler(controlLoopProvider, participantProvider, monitoringProvider, modelsProvider,
- controlLoopUpdatePublisher, controlLoopStateChangePublisher, participantRegisterAckPublisher,
- participantDeregisterAckPublisher, participantUpdatePublisher);
+ return new SupervisionHandler(controlLoopProvider, participantProvider, monitoringProvider,
+ serviceTemplateProvider, controlLoopUpdatePublisher, controlLoopStateChangePublisher,
+ participantRegisterAckPublisher, participantDeregisterAckPublisher, participantUpdatePublisher);
}
}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java
index f884e0129..50672a84e 100644
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java
+++ b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java
@@ -39,6 +39,7 @@ import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant
import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantState;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
+import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
import org.onap.policy.clamp.controlloop.runtime.instantiation.InstantiationUtils;
import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ControlLoopStateChangePublisher;
import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ControlLoopUpdatePublisher;
@@ -47,7 +48,6 @@ import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantUpd
import org.onap.policy.clamp.controlloop.runtime.util.CommonTestData;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
@@ -57,12 +57,12 @@ class SupervisionScannerTest {
"src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml";
private static final String CONTROLLOOP_JSON = "src/test/resources/rest/controlloops/ControlLoopsSmoke.json";
- private static PolicyModelsProvider modelsProvider = mock(PolicyModelsProvider.class);
+ private static ServiceTemplateProvider serviceTemplateProvider = mock(ServiceTemplateProvider.class);
@BeforeAll
public static void setUpBeforeAll() throws Exception {
ToscaServiceTemplate serviceTemplate = InstantiationUtils.getToscaServiceTemplate(TOSCA_SERVICE_TEMPLATE_YAML);
- when(modelsProvider.getServiceTemplateList(null, null)).thenReturn(List.of(serviceTemplate));
+ when(serviceTemplateProvider.getServiceTemplateList(null, null)).thenReturn(List.of(serviceTemplate));
}
@Test
@@ -79,7 +79,7 @@ class SupervisionScannerTest {
InstantiationUtils.getControlLoopsFromResource(CONTROLLOOP_JSON, "Crud").getControlLoopList();
when(controlLoopProvider.getControlLoops(null, null)).thenReturn(controlLoops);
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, modelsProvider,
+ var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
supervisionScanner.run(false);
@@ -103,7 +103,7 @@ class SupervisionScannerTest {
var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
var clRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanner");
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, modelsProvider,
+ var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
supervisionScanner.run(false);
@@ -129,7 +129,7 @@ class SupervisionScannerTest {
var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
var clRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanner");
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, modelsProvider,
+ var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
@@ -166,7 +166,7 @@ class SupervisionScannerTest {
var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
var clRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanner");
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, modelsProvider,
+ var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
@@ -200,7 +200,7 @@ class SupervisionScannerTest {
var controlLoopStateChangePublisher = mock(ControlLoopStateChangePublisher.class);
var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, modelsProvider,
+ var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java
index 4dfb8a9fd..ade2723cb 100644
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java
+++ b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java
@@ -41,6 +41,7 @@ import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantStatisticsProvider;
+import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantDeregister;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantDeregisterAck;
import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantRegisterAck;
@@ -53,7 +54,6 @@ import org.onap.policy.clamp.controlloop.runtime.util.rest.CommonRestController;
import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
import org.onap.policy.common.endpoints.event.comm.TopicSink;
import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
class SupervisionMessagesTest extends CommonRestController {
@@ -64,7 +64,6 @@ class SupervisionMessagesTest extends CommonRestController {
private static final String TOPIC = "my-topic";
private static SupervisionHandler supervisionHandler;
private static ControlLoopProvider clProvider;
- private static PolicyModelsProvider modelsProvider;
/**
* setup Db Provider Parameters.
@@ -75,7 +74,6 @@ class SupervisionMessagesTest extends CommonRestController {
public static void setupDbProviderParameters() throws PfModelException {
ClRuntimeParameterGroup controlLoopParameters = CommonTestData.geParameterGroup("instantproviderdb");
- modelsProvider = CommonTestData.getPolicyModelsProvider(controlLoopParameters.getDatabaseProviderParameters());
clProvider = new ControlLoopProvider(controlLoopParameters.getDatabaseProviderParameters());
var participantStatisticsProvider =
@@ -85,21 +83,20 @@ class SupervisionMessagesTest extends CommonRestController {
var monitoringProvider =
new MonitoringProvider(participantStatisticsProvider, clElementStatisticsProvider, clProvider);
var participantProvider = new ParticipantProvider(controlLoopParameters.getDatabaseProviderParameters());
- var modelsProvider = Mockito.mock(PolicyModelsProvider.class);
+ var serviceTemplateProvider = Mockito.mock(ServiceTemplateProvider.class);
var controlLoopUpdatePublisher = Mockito.mock(ControlLoopUpdatePublisher.class);
var controlLoopStateChangePublisher = Mockito.mock(ControlLoopStateChangePublisher.class);
var participantRegisterAckPublisher = Mockito.mock(ParticipantRegisterAckPublisher.class);
var participantDeregisterAckPublisher = Mockito.mock(ParticipantDeregisterAckPublisher.class);
var participantUpdatePublisher = Mockito.mock(ParticipantUpdatePublisher.class);
- supervisionHandler = new SupervisionHandler(clProvider, participantProvider, monitoringProvider, modelsProvider,
- controlLoopUpdatePublisher, controlLoopStateChangePublisher, participantRegisterAckPublisher,
- participantDeregisterAckPublisher, participantUpdatePublisher);
+ supervisionHandler = new SupervisionHandler(clProvider, participantProvider, monitoringProvider,
+ serviceTemplateProvider, controlLoopUpdatePublisher, controlLoopStateChangePublisher,
+ participantRegisterAckPublisher, participantDeregisterAckPublisher, participantUpdatePublisher);
}
@AfterAll
public static void closeDbProvider() throws PfModelException {
clProvider.close();
- modelsProvider.close();
}
@Test
diff --git a/runtime-controlloop/src/test/resources/META-INF/persistence.xml b/runtime-controlloop/src/test/resources/META-INF/persistence.xml
index c4e2e8d55..fe460ff4b 100644
--- a/runtime-controlloop/src/test/resources/META-INF/persistence.xml
+++ b/runtime-controlloop/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>
@@ -109,7 +51,6 @@
<class>org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaClElementStatistics</class>
<properties>
- <property name="eclipselink.target-database" value="MySQL" />
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" />
<property name="eclipselink.logging.level" value="INFO" />
diff --git a/runtime-controlloop/src/test/resources/application_test.properties b/runtime-controlloop/src/test/resources/application_test.properties
index 61557879d..190281415 100644
--- a/runtime-controlloop/src/test/resources/application_test.properties
+++ b/runtime-controlloop/src/test/resources/application_test.properties
@@ -2,6 +2,16 @@ spring.security.user.name=healthcheck
spring.security.user.password=zb!XztG34
security.enable-csrf=false
+spring.datasource.url=jdbc:h2:mem:testdb
+spring.datasource.driverClassName=org.h2.Driver
+spring.datasource.username=policy
+spring.datasource.password=P01icY
+
+spring.datasource.hikari.connectionTimeout=30000
+spring.datasource.hikari.idleTimeout=600000
+spring.datasource.hikari.maxLifetime=1800000
+spring.datasource.hikari.maximumPoolSize=3
+
server.port=6969
server.servlet.context-path=/onap/controlloop
server.error.path=/error
@@ -9,6 +19,7 @@ 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
diff --git a/runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml b/runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml
index f69755e2b..9d1b7be64 100644
--- a/runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml
+++ b/runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml
@@ -583,26 +583,6 @@ node_types:
policy_id:
type: onap.datatypes.ToscaConceptIdentifier
requred: false
- org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
org.onap.policy.clamp.controlloop.CDSControlLoopElement:
version: 1.0.1
derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
@@ -710,32 +690,6 @@ topology_template:
version: 1.0.0
policy_id:
get_input: pmsh_operational_policy
- org.onap.domain.pmsh.DerivedPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.3.1
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
- org.onap.domain.pmsh.DerivedDerivedPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.3.1
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
org.onap.k8s.controlloop.K8SControlLoopParticipant:
version: 2.3.4
type: org.onap.policy.clamp.controlloop.Participant
@@ -956,11 +910,2579 @@ topology_template:
version: 1.2.3
- name: org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement
version: 1.2.3
- - name: org.onap.domain.pmsh.DerivedPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.DerivedDerivedPolicyControlLoopElement
- version: 1.2.3
- name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
version: 1.2.3
- name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
version: 1.2.3
+ policies:
+ - operational.apex.pmcontrol:
+ type: onap.policies.controlloop.operational.common.Apex
+ type_version: 1.0.0
+ version: 1.0.0
+ metadata:
+ policy-id: operational.apex.pmcontrol
+ policy-version: 1
+ properties:
+ engineServiceParameters:
+ name: MyApexEngine
+ version: 0.0.1
+ id: 45
+ instanceCount: 2
+ deploymentPort: 12561
+ policy_type_impl:
+ apexPolicyModel:
+ key:
+ name: PMControlPolicy
+ version: 0.0.1
+ keyInformation:
+ key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ keyInfoMap:
+ entry:
+ - key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82
+ description: Generated description for concept referred to by key "CDSActionIdentifiersType:0.0.1"
+ - key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad
+ description: Generated description for concept referred to by key "CDSCreateResponseEvent:0.0.1"
+ - key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13
+ description: Generated description for concept referred to by key "CDSCreateResponsePayloadType:0.0.1"
+ - key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c
+ description: Generated description for concept referred to by key "CDSCreateResponsePolicy:0.0.1"
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2
+ description: Generated description for concept referred to by key "CDSCreateResponseTask:0.0.1"
+ - key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60
+ description: Generated description for concept referred to by key "CDSCreateSubscriptionPayloadType:0.0.1"
+ - key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2
+ description: Generated description for concept referred to by key "CDSCreateSubscriptionRequestEvent:0.0.1"
+ - key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8
+ description: Generated description for concept referred to by key "CDSDeleteResponseEvent:0.0.1"
+ - key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0
+ description: Generated description for concept referred to by key "CDSDeleteResponsePayloadType:0.0.1"
+ - key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ UUID: a780251c-edd5-3132-b865-04313246b43c
+ description: Generated description for concept referred to by key "CDSDeleteResponsePolicy:0.0.1"
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc
+ description: Generated description for concept referred to by key "CDSDeleteResponseTask:0.0.1"
+ - key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b
+ description: Generated description for concept referred to by key "CDSDeleteSubscriptionPayloadType:0.0.1"
+ - key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9
+ description: Generated description for concept referred to by key "CDSDeleteSubscriptionRequestEvent:0.0.1"
+ - key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1
+ description: Generated description for concept referred to by key "CDSRequestCommonHeaderType:0.0.1"
+ - key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c
+ description: Generated description for concept referred to by key "CDSResponseCommonHeaderType:0.0.1"
+ - key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ UUID: 7986e21b-32f7-302e-9554-31f21b673493
+ description: Generated description for concept referred to by key "CDSResponseStatusEvent:0.0.1"
+ - key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa
+ description: Generated description for concept referred to by key "CDSResponseStatusType:0.0.1"
+ - key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a
+ description: Generated description for concept referred to by key "CreateSubscriptionPayloadEvent:0.0.1"
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d
+ description: Generated description for concept referred to by key "CreateSubscriptionPayloadTask:0.0.1"
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869
+ description: Generated description for concept referred to by key "CreateSubscriptionRequestTask:0.0.1"
+ - key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074
+ description: Generated description for concept referred to by key "DeleteSubscriptionPayloadEvent:0.0.1"
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ UUID: 0f519117-5fea-3e4b-941f-8f778100465f
+ description: Generated description for concept referred to by key "DeleteSubscriptionPayloadTask:0.0.1"
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ UUID: acb772fe-d442-39e3-98f9-b1080caf4150
+ description: Generated description for concept referred to by key "DeleteSubscriptionRequestTask:0.0.1"
+ - key:
+ name: MRResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: MRResponseEvent
+ version: 0.0.1
+ UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194
+ description: Generated description for concept referred to by key "MRResponseEvent:0.0.1"
+ - key:
+ name: PMControlPolicy
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy
+ version: 0.0.1
+ UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4
+ description: Generated description for concept referred to by key "PMControlPolicy:0.0.1"
+ - key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b
+ description: Generated description for concept referred to by key "PMControlPolicy_Albums:0.0.1"
+ - key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ UUID: be3871a0-c42a-3113-a066-82d192840eca
+ description: Generated description for concept referred to by key "PMControlPolicy_Events:0.0.1"
+ - key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ UUID: ced37634-28a4-3178-b7f6-2980794927b0
+ description: Generated description for concept referred to by key "PMControlPolicy_KeyInfo:0.0.1"
+ - key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed
+ description: Generated description for concept referred to by key "PMControlPolicy_Policies:0.0.1"
+ - key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ UUID: e61973f1-189c-39e5-82f6-0d3afe298a20
+ description: Generated description for concept referred to by key "PMControlPolicy_Schemas:0.0.1"
+ - key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a
+ description: Generated description for concept referred to by key "PMControlPolicy_Tasks:0.0.1"
+ - key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ UUID: c2bd6f0d-6854-317a-9be2-97c08338428c
+ description: Generated description for concept referred to by key "PMSubscriptionAlbum:0.0.1"
+ - key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05
+ description: Generated description for concept referred to by key "PMSubscriptionOutputEvent:0.0.1"
+ - key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae
+ description: Generated description for concept referred to by key "PMSubscriptionType:0.0.1"
+ - key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1
+ description: Generated description for concept referred to by key "ReceiveEventPolicy:0.0.1"
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ UUID: f596afc8-100c-35eb-92c8-352355ea457d
+ description: Generated description for concept referred to by key "ReceiveSubscriptionTask:0.0.1"
+ - key:
+ name: SimpleIntType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleIntType
+ version: 0.0.1
+ UUID: 153791fd-ae0a-36a7-88a5-309a7936415d
+ description: Generated description for concept referred to by key "SimpleIntType:0.0.1"
+ - key:
+ name: SimpleStringType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleStringType
+ version: 0.0.1
+ UUID: 8a4957cf-9493-3a76-8c22-a208e23259af
+ description: Generated description for concept referred to by key "SimpleStringType:0.0.1"
+ - key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b
+ description: Generated description for concept referred to by key "SubscriptionStatusType:0.0.1"
+ - key:
+ name: SubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionType
+ version: 0.0.1
+ UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce
+ description: Generated description for concept referred to by key "SubscriptionType:0.0.1"
+ - key:
+ name: UUIDType
+ version: 0.0.1
+ value:
+ key:
+ name: UUIDType
+ version: 0.0.1
+ UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c
+ description: Generated description for concept referred to by key "UUIDType:0.0.1"
+ - key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ value:
+ key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d
+ description: Generated description for concept referred to by key "pmsh-operational-policy:0.0.1"
+ policies:
+ key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ policyMap:
+ entry:
+ - key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CDSCreateResponseState
+ value:
+ stateKey:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CDSCreateResponseState
+ trigger:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ResponseOutput
+ value:
+ key:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: ResponseOutput
+ outgoingEvent:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: [ ]
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: CDSCreateResponsePolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: ResponseOutput
+ firstState: CDSCreateResponseState
+ - key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CDSDeleteResponseState
+ value:
+ stateKey:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CDSDeleteResponseState
+ trigger:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ResponseOutput
+ value:
+ key:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: ResponseOutput
+ outgoingEvent:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: [ ]
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: CDSDeleteResponsePolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: ResponseOutput
+ firstState: CDSDeleteResponseState
+ - key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CreateOrDeleteState
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateOrDeleteState
+ trigger:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: CreateSubscriptionPayload
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: CreateSubscriptionPayload
+ outgoingEvent:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateSubscription
+ - key: DeleteSubscriptionPayload
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: DeleteSubscriptionPayload
+ outgoingEvent:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DeleteSubscription
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: TaskSelectionLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. 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=========================================================
+ */
+
+ executor.logger.info(executor.subject.id);
+
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toString()
+
+ executor.logger.info("Change Type is " + changeType)
+
+ if ("CREATE".equals(changeType)) {
+ executor.logger.info("Choosing to create a subscription")
+ executor.subject.getTaskKey("CreateSubscriptionPayloadTask").copyTo(executor.selectedTask);
+ }
+ else if ("DELETE".equals(changeType)) {
+ executor.logger.info("Choosing to delete a subscription")
+ executor.subject.getTaskKey("DeleteSubscriptionPayloadTask").copyTo(executor.selectedTask);
+ }
+
+ //var returnValue = executor.isTrue;
+ true;
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: CreateSubscriptionPayload
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: DeleteSubscriptionPayload
+ - key: CreateSubscription
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateSubscription
+ trigger:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: IssueCreateSubscriptionRequestOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: IssueCreateSubscriptionRequestOutput
+ outgoingEvent:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: IssueCreateSubscriptionRequestOutput
+ - key: DeleteSubscription
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DeleteSubscription
+ trigger:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: IssueDeleteSubscriptionRequestOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: IssueDeleteSubscriptionRequestOutput
+ outgoingEvent:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: IssueDeleteSubscriptionRequestOutput
+ - key: ReceiveSubscriptionState
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: ReceiveSubscriptionState
+ trigger:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ReceivePMSubscriptionOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceivePMSubscriptionOutput
+ outgoingEvent:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateOrDeleteState
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: [ ]
+ defaultTask:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceivePMSubscriptionOutput
+ firstState: ReceiveSubscriptionState
+ tasks:
+ key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ taskMap:
+ entry:
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. 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=========================================================
+ */
+
+ executor.logger.info(executor.subject.id);
+
+ var commonHeader = executor.inFields.get("commonHeader")
+ var response = executor.inFields.get("payload")
+ var albumID = commonHeader.get("requestId")
+
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
+ var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
+
+ responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
+ responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
+
+ var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
+
+ executor.logger.info("RESPONSE STATUS = " + status)
+
+ if(status == "success") {
+ responseStatus.put("message", "success")
+ } else {
+ responseStatus.put("message", "failed")
+ }
+
+ executor.outFields.put("status", responseStatus)
+
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. 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=========================================================
+ */
+
+ executor.logger.info(executor.subject.id);
+
+ var commonHeader = executor.inFields.get("commonHeader")
+ var response = executor.inFields.get("payload")
+ var albumID = commonHeader.get("requestId")
+
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
+ var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
+
+ responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
+ responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
+
+ var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
+
+ executor.logger.info("RESPONSE STATUS = " + status)
+
+ if(status == "success") {
+ responseStatus.put("message", "success")
+ } else {
+ responseStatus.put("message", "failed")
+ }
+
+ executor.outFields.put("status", responseStatus)
+
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. 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=========================================================
+ */
+
+ executor.logger.info(executor.subject.id);
+
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+
+ var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
+
+ payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
+ payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
+ payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
+ payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
+ payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
+
+ var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
+ payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
+
+ var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+ payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
+
+ executor.outFields.put("albumID", executor.inFields.get("albumID"))
+ executor.outFields.put("payload", payload);
+
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. 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=========================================================
+ */
+
+ executor.logger.info(executor.subject.id);
+
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
+ var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
+ var payload = executor.inFields.get("payload")
+ var actionName = changeType + "-subscription"
+
+ var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+ commonHeader.put("originatorId", "sdnc");
+ commonHeader.put("requestId", executor.inFields.get("albumID").toString());
+ commonHeader.put("subRequestId", "sub-123456-1000");
+
+ var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+ actionIdentifiers.put("actionName", actionName);
+ actionIdentifiers.put("blueprintName", blueprintName);
+ actionIdentifiers.put("blueprintVersion", blueprintVersion);
+ actionIdentifiers.put("mode", "sync");
+
+ executor.outFields.put("commonHeader", commonHeader);
+ executor.outFields.put("actionIdentifiers", actionIdentifiers);
+ executor.outFields.put("payload", payload);
+
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. 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=========================================================
+ */
+
+ executor.logger.info(executor.subject.id);
+
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+
+ var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
+
+ payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
+ payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
+ payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
+ payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
+ payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
+
+ var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
+ payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
+
+ var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+ payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
+
+ executor.outFields.put("albumID", executor.inFields.get("albumID"))
+ executor.outFields.put("payload", payload);
+
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. 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=========================================================
+ */
+
+ executor.logger.info(executor.subject.id);
+
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
+ var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
+ var payload = executor.inFields.get("payload")
+ var actionName = changeType + "-subscription"
+
+ var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+ commonHeader.put("originatorId", "sdnc");
+ commonHeader.put("requestId", executor.inFields.get("albumID").toString());
+ commonHeader.put("subRequestId", "sub-123456-1000");
+
+ var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+ actionIdentifiers.put("actionName", actionName);
+ actionIdentifiers.put("blueprintName", blueprintName);
+ actionIdentifiers.put("blueprintVersion", blueprintVersion);
+ actionIdentifiers.put("mode", "sync");
+
+ executor.outFields.put("commonHeader", commonHeader);
+ executor.outFields.put("actionIdentifiers", actionIdentifiers);
+ executor.outFields.put("payload", payload);
+
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: blueprintName
+ value:
+ key: blueprintName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: blueprintVersion
+ value:
+ key: blueprintVersion
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: changeType
+ value:
+ key: changeType
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: closedLoopControlName
+ value:
+ key: closedLoopControlName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: nfName
+ value:
+ key: nfName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: policyName
+ value:
+ key: policyName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: subscription
+ value:
+ key: subscription
+ fieldSchemaKey:
+ name: SubscriptionType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: [ ]
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. 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=========================================================
+ */
+ var uuidType = java.util.UUID;
+
+ executor.logger.info(executor.subject.id);
+
+ //albumID will be used to fetch info from our album later
+ var albumID = uuidType.randomUUID();
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
+ var returnValue = true;
+
+ if(executor.inFields.get("policyName") != null) {
+ executor.logger.info("nfName in receive sub event " + executor.inFields.get("nfName"));
+
+ var changeType = executor.inFields.get("changeType")
+ var nfName = executor.inFields.get("nfName")
+ var policyName = executor.inFields.get("policyName")
+ var closedLoopControlName = executor.inFields.get("closedLoopControlName")
+ var subscription = executor.inFields.get("subscription")
+ var blueprintName = executor.inFields.get("blueprintName")
+ var blueprintVersion = executor.inFields.get("blueprintVersion")
+
+ pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
+ pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
+ pmSubscriptionInfo.put("policyName", executor.inFields.get("policyName"))
+ pmSubscriptionInfo.put("closedLoopControlName", executor.inFields.get("closedLoopControlName"))
+ pmSubscriptionInfo.put("subscription", subscription)
+ pmSubscriptionInfo.put("blueprintName", blueprintName)
+ pmSubscriptionInfo.put("blueprintVersion", blueprintVersion)
+
+
+ executor.getContextAlbum("PMSubscriptionAlbum").put(albumID.toString(), pmSubscriptionInfo);
+
+ executor.outFields.put("albumID", albumID)
+ } else {
+ executor.message = "Received invalid event"
+ returnValue = false;
+ }
+
+ returnValue;
+ events:
+ key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ eventMap:
+ entry:
+ - key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: CDS
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: CDS
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: DCAE
+ parameter:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: MRResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: MRResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: DCAE
+ target: APEX
+ parameter:
+ entry:
+ - key: count
+ value:
+ key: count
+ fieldSchemaKey:
+ name: SimpleIntType
+ version: 0.0.1
+ optional: false
+ - key: serverTimeMs
+ value:
+ key: serverTimeMs
+ fieldSchemaKey:
+ name: SimpleIntType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ value:
+ key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: DCAE
+ target: APEX
+ parameter:
+ entry:
+ - key: blueprintName
+ value:
+ key: blueprintName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: blueprintVersion
+ value:
+ key: blueprintVersion
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: changeType
+ value:
+ key: changeType
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: closedLoopControlName
+ value:
+ key: closedLoopControlName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: nfName
+ value:
+ key: nfName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: policyName
+ value:
+ key: policyName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: subscription
+ value:
+ key: subscription
+ fieldSchemaKey:
+ name: SubscriptionType
+ version: 0.0.1
+ optional: false
+ albums:
+ key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ albums:
+ entry:
+ - key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ scope: policy
+ isWritable: true
+ itemSchema:
+ name: PMSubscriptionType
+ version: 0.0.1
+ schemas:
+ key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ schemas:
+ entry:
+ - key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ActionIdentifiers_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "actionName",
+ "type": "string"
+ },
+ {
+ "name": "blueprintName",
+ "type": "string"
+ },
+ {
+ "name": "blueprintVersion",
+ "type": "string"
+ },
+ {
+ "name": "mode",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "name": "CreateResponsePayloadEntry",
+ "type": "record",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "create_DasH_subscription_DasH_response",
+ "type": {
+ "name": "create_DasH_subscription_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "odl_DasH_response",
+ "type": {
+ "name": "odl_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "status",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "map",
+ "values": {
+ "type": "record",
+ "name": "CDSRequestPayloadEntry",
+ "fields": [
+ {
+ "name": "create_DasH_subscription_DasH_properties",
+ "type": {
+ "name": "create_DasH_subscription_DasH_properties_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "nfName",
+ "type": "string"
+ },
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "administrativeState",
+ "type": "string"
+ },
+ {
+ "name": "fileBasedGP",
+ "type": "string"
+ },
+ {
+ "name": "fileLocation",
+ "type": "string"
+ },
+ {
+ "name": "measurementGroups",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "measurementGroups_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementGroup",
+ "type": {
+ "name": "measurementGroup",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementTypes",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "measurementTypes_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementType",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "managedObjectDNsBasic",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "managedObjectDNsBasic_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "DN",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ - key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "name": "DeleteResponsePayloadEntry",
+ "type": "record",
+ "namespace": "com.acme.avro",
+ "fields": [
+ {
+ "name": "delete_DasH_subscription_DasH_response",
+ "type": {
+ "name": "delete_DasH_subscription_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "odl_DasH_response",
+ "type": {
+ "name": "odl_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "status",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "map",
+ "values": {
+ "type": "record",
+ "name": "CDSRequestPayloadEntry",
+ "fields": [
+ {
+ "name": "delete_DasH_subscription_DasH_properties",
+ "type": {
+ "name": "delete_DasH_subscription_DasH_properties_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "nfName",
+ "type": "string"
+ },
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "administrativeState",
+ "type": "string"
+ },
+ {
+ "name": "fileBasedGP",
+ "type": "string"
+ },
+ {
+ "name": "fileLocation",
+ "type": "string"
+ },
+ {
+ "name": "measurementGroups",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "measurementGroups_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementGroup",
+ "type": {
+ "name": "measurementGroup",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementTypes",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "measurementTypes_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementType",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "managedObjectDNsBasic",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "managedObjectDNsBasic_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "DN",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ - key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "RequestCommonHeader_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "originatorId",
+ "type": "string"
+ },
+ {
+ "name": "requestId",
+ "type": "string"
+ },
+ {
+ "name": "subRequestId",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ResponseCommonHeader_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "originatorId",
+ "type": "string"
+ },
+ {
+ "name": "requestId",
+ "type": "string"
+ },
+ {
+ "name": "subRequestId",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "type": "string"
+ },
+ {
+ "name": "flags",
+ "type": ["null", "string"]
+ }
+ ]
+ }
+ - key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ResponseStatus_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "code",
+ "type": "int"
+ },
+ {
+ "name": "eventType",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "type": "string"
+ },
+ {
+ "name": "message",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: "{\n\t\"name\": \"PMSubscription\",\n\t\"type\": \"record\",\n\t\"namespace\": \"\
+ org.onap.policy.apex.onap.pmcontrol\",\n\t\"fields\": [\n {\n \"name\": \"nfName\"\
+ ,\n \"type\": \"string\"\n },\n\t {\n\t\t\t\"name\": \"changeType\",\n\t\t\t\"\
+ type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"closedLoopControlName\",\n\t\t\t\"type\": \"\
+ string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"policyName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
+ {\n\t\t \"name\": \"blueprintName\",\n\t\t \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t \"name\"\
+ : \"blueprintVersion\",\n\t\t \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"subscription\"\
+ ,\n\t\t\t\"type\": {\n\t\t\t\t\"name\": \"subscription\",\n\t\t\t\t\"type\": \"record\",\n\t\t\t\t\
+ \"fields\": [{\n\t\t\t\t\t\t\"name\": \"subscriptionName\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\
+ \t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"administrativeState\",\n\t\t\t\t\t\t\"type\": \"string\"\
+ \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\t\t\t\"type\": \"int\"\
+ \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileLocation\",\n\t\t\t\t\t\t\"type\": \"string\"\
+ \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\t\t\t\"type\": {\n\
+ \t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"name\": \"Measurement_Groups_Type\"\
+ ,\n\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\"\
+ : \"measurementGroup\",\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"name\": \"Measurement_Group_Type\"\
+ ,\n\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\
+ \t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\
+ \t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\
+ name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+ \t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
+ \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\
+ \t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\
+ \t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
+ \t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\"\
+ ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\",\n\t\
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
+ \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\
+ \t\t\t\t}\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\
+ \t}\n\t]\n}"
+ - key:
+ name: SimpleIntType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleIntType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.Integer
+ - key:
+ name: SimpleStringType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleStringType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.String
+ - key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ActivateSubscriptionStatus_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "nfName",
+ "type": "string"
+ },
+ {
+ "name": "changeType",
+ "type": "string"
+ },
+ {
+ "name": "message",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: SubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: "{\n\t\"name\": \"subscription\",\n\t\"type\": \"record\",\n\t\"fields\": [{\n\t\t\
+ \t\"name\": \"subscriptionName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"administrativeState\"\
+ ,\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\"type\": \"\
+ int\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileLocation\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
+ {\n\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\"type\": {\n\t\t\t\t\"type\": \"array\",\n\t\t\t\
+ \t\"items\": {\n\t\t\t\t\t\"name\": \"Measurement_Groups_Type\",\n\t\t\t\t\t\"type\": \"record\",\n\
+ \t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\"name\": \"measurementGroup\",\n\t\t\t\t\t\t\"type\": {\n\t\
+ \t\t\t\t\t\t\"name\": \"Measurement_Group_Type\",\n\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+ \t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\"type\"\
+ : {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
+ \t\t\"name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+ \t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\t\t\t\t\t\t\
+ \t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\
+ }\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\
+ \t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\"\
+ : {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"\
+ type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\"\
+ ,\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\
+ \t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}]\n\t\t\t\t}\n\t\
+ \t\t}\n\t\t}\n\t]\n}"
+ - key:
+ name: UUIDType
+ version: 0.0.1
+ value:
+ key:
+ name: UUIDType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.util.UUID
+ engineParameters:
+ executorParameters:
+ JAVASCRIPT:
+ parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters
+ contextParameters:
+ parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters
+ schemaParameters:
+ Avro:
+ parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters
+ Java:
+ parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters
+ jsonAdapters:
+ Instant:
+ adaptedClass: java.time.Instant
+ adaptorClass: org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter
+ eventInputParameters:
+ DCAEConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ consumerPollTime: '50'
+ url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ nameAlias: policyName
+ eventName: pmsh-operational-policy
+ eventNameFilter: pmsh-operational-policy
+ CDSRequestConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: http://10.10.10.184:30254/api/v1/execution-service/process
+ httpMethod: POST
+ restRequestTimeout: 2000
+ httpHeaders:
+ - - Authorization
+ - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: CDSCreateResponseEvent
+ eventNameFilter: CDSCreateResponseEvent
+ requestorMode: true
+ requestorPeer: CDSRequestProducer
+ requestorTimeout: 500
+ CDSDeleteRequestConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: http://10.10.10.184:30254/api/v1/execution-service/process
+ httpMethod: POST
+ restRequestTimeout: 2000
+ httpHeaders:
+ - - Authorization
+ - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: CDSDeleteResponseEvent
+ eventNameFilter: CDSDeleteResponseEvent
+ requestorMode: true
+ requestorPeer: CDSDeleteRequestProducer
+ requestorTimeout: 500
+ CDSReplyConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT
+ httpMethod: POST
+ restRequestTimeout: 2000
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: MRResponseEvent
+ eventNameFilter: MRResponseEvent
+ requestorMode: true
+ requestorPeer: CDSReplyProducer
+ requestorTimeout: 500
+ eventOutputParameters:
+ logOutputter:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ fileName: /tmp/outputevents.log
+ eventProtocolParameters:
+ eventProtocol: JSON
+ StdOutOutputter:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ standardIo: true
+ eventProtocolParameters:
+ eventProtocol: JSON
+ CDSRequestProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSCreateSubscriptionRequestEvent
+ requestorMode: true
+ requestorPeer: CDSRequestConsumer
+ requestorTimeout: 500
+ CDSDeleteRequestProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSDeleteSubscriptionRequestEvent
+ requestorMode: true
+ requestorPeer: CDSDeleteRequestConsumer
+ requestorTimeout: 500
+ CDSReplyProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSResponseStatusEvent
+ requestorMode: true
+ requestorPeer: CDSReplyConsumer
+ requestorTimeout: 500