aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java18
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java25
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumerTest.java250
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java652
-rw-r--r--plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/pom.xml15
-rw-r--r--plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/java/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverter.java11
-rw-r--r--plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverterTest.java195
-rw-r--r--plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsTextEventConverterTest.java149
-rw-r--r--plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/JmsObjectEventProtocolParametersTest.java53
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/PeeredReferenceTest.java57
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventConsumerFactoryTest.java83
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventProducerFactoryTest.java83
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventProtocolFactoryTest.java70
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/apexprotocolplugin/Apex2ApexEventConverterTest.java180
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/apexprotocolplugin/ApexEventProtocolParametersTest.java50
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/enevent/ApexEvent2EnEventConverterTest.java100
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorCarrierTechnologyParametersTest.java43
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumerTest.java86
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducerTest.java161
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/TextBlockReaderFactoryTest.java79
-rw-r--r--services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/TextBlockTest.java57
-rw-r--r--testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx4503
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx2928
23 files changed, 7524 insertions, 2324 deletions
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java
index 538b63546..4bad4cb7a 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumer.java
@@ -30,6 +30,7 @@ import javax.jms.MessageListener;
import javax.jms.Session;
import javax.jms.Topic;
import javax.naming.InitialContext;
+import javax.naming.NamingException;
import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
import org.onap.policy.apex.service.engine.event.ApexEventException;
import org.onap.policy.apex.service.engine.event.ApexEventReceiver;
@@ -77,10 +78,10 @@ public class ApexJmsConsumer extends ApexPluginsEventConsumer implements Message
jmsConsumerProperties = (JmsCarrierTechnologyParameters) consumerParameters.getCarrierTechnologyParameters();
// Look up the JMS connection factory
- InitialContext jmsContext = null;
- ConnectionFactory connectionFactory = null;
+ InitialContext jmsContext;
+ ConnectionFactory connectionFactory;
try {
- jmsContext = new InitialContext(jmsConsumerProperties.getJmsConsumerProperties());
+ jmsContext = getInitialContext();
connectionFactory = (ConnectionFactory) jmsContext.lookup(jmsConsumerProperties.getConnectionFactory());
// Check if we actually got a connection factory
@@ -124,6 +125,17 @@ public class ApexJmsConsumer extends ApexPluginsEventConsumer implements Message
}
/**
+ * Construct InitialContext. This function should not be run directly.
+ * Package-private access is set for testing purposes only.
+ *
+ * @return InitialContext
+ * @throws NamingException if a naming exception is encountered
+ */
+ InitialContext getInitialContext() throws NamingException {
+ return new InitialContext(jmsConsumerProperties.getJmsConsumerProperties());
+ }
+
+ /**
* {@inheritDoc}.
*/
@Override
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java
index 4e5c7a31c..44ed810fd 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/main/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducer.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-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.
@@ -32,6 +32,7 @@ import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.Topic;
import javax.naming.InitialContext;
+import javax.naming.NamingException;
import org.onap.policy.apex.service.engine.event.ApexEventException;
import org.onap.policy.apex.service.engine.event.ApexEventProducer;
import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
@@ -72,7 +73,8 @@ public class ApexJmsProducer implements ApexEventProducer {
private String name = null;
// The peer references for this event handler
- private Map<EventHandlerPeeredMode, PeeredReference> peerReferenceMap = new EnumMap<>(EventHandlerPeeredMode.class);
+ private final Map<EventHandlerPeeredMode, PeeredReference> peerReferenceMap =
+ new EnumMap<>(EventHandlerPeeredMode.class);
/**
* {@inheritDoc}.
@@ -91,10 +93,10 @@ public class ApexJmsProducer implements ApexEventProducer {
jmsProducerProperties = (JmsCarrierTechnologyParameters) producerParameters.getCarrierTechnologyParameters();
// Look up the JMS connection factory
- InitialContext jmsContext = null;
- ConnectionFactory connectionFactory = null;
+ InitialContext jmsContext;
+ ConnectionFactory connectionFactory;
try {
- jmsContext = new InitialContext(jmsProducerProperties.getJmsProducerProperties());
+ jmsContext = getInitialContext();
connectionFactory = (ConnectionFactory) jmsContext.lookup(jmsProducerProperties.getConnectionFactory());
// Check if we actually got a connection factory
@@ -159,6 +161,17 @@ public class ApexJmsProducer implements ApexEventProducer {
}
/**
+ * Construct InitialContext. This function should not be run directly.
+ * Package-private access is set for testing purposes only.
+ *
+ * @return InitialContext
+ * @throws NamingException if a naming exception is encountered
+ */
+ public InitialContext getInitialContext() throws NamingException {
+ return new InitialContext(jmsProducerProperties.getJmsProducerProperties());
+ }
+
+ /**
* {@inheritDoc}.
*/
@Override
@@ -204,7 +217,7 @@ public class ApexJmsProducer implements ApexEventProducer {
}
// The JMS message to send is constructed using the JMS session
- Message jmsMessage = null;
+ Message jmsMessage;
// Check the type of JMS message to send
if (jmsProducerProperties.isObjectMessageSending()) {
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumerTest.java
index 8591d0470..e3ead320f 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumerTest.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsConsumerTest.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Samsung. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-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.
@@ -26,10 +26,18 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import java.util.Properties;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
import javax.jms.Message;
-import javax.jms.Session;
+import javax.jms.Topic;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.ArgumentMatchers;
+import org.mockito.Mockito;
import org.onap.policy.apex.service.engine.event.ApexEventException;
import org.onap.policy.apex.service.engine.event.ApexEventProducer;
import org.onap.policy.apex.service.engine.event.ApexEventReceiver;
@@ -41,41 +49,150 @@ import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerPeeredMo
public class ApexJmsConsumerTest {
- ApexJmsConsumer apexJmsConsumer = null;
- EventHandlerParameters consumerParameters = null;
- ApexEventReceiver incomingEventReceiver = null;
- ApexEventProducer apexJmsProducer = null;
- Session jmsSession = null;
- JmsCarrierTechnologyParameters jmsCarrierTechnologyParameters = null;
+ private static final String CONSUMER_NAME = "TestApexJmsConsumer";
+ private ApexJmsConsumer apexJmsConsumer = null;
+ private EventHandlerParameters consumerParameters = null;
+ private ApexEventReceiver incomingEventReceiver = null;
+ private ApexEventProducer apexJmsProducer = null;
+ private JmsCarrierTechnologyParameters jmsCarrierTechnologyParameters = null;
/**
* Set up testing.
- *
- * @throws Exception on test set up errors.
*/
@Before
- public void setUp() throws Exception {
- apexJmsConsumer = new ApexJmsConsumer();
+ public void setUp() {
+ apexJmsConsumer = Mockito.spy(new ApexJmsConsumer());
consumerParameters = new EventHandlerParameters();
apexJmsProducer = new ApexJmsProducer();
}
@Test
- public void testInitWithNonJmsCarrierTechnologyParameters() throws ApexEventException {
- consumerParameters.setCarrierTechnologyParameters(new CarrierTechnologyParameters() {});
- assertThatThrownBy(() -> apexJmsConsumer.init("TestApexJmsConsumer", consumerParameters, incomingEventReceiver))
+ public void testInitWithNonJmsCarrierTechnologyParameters() {
+ consumerParameters.setCarrierTechnologyParameters(new CarrierTechnologyParameters() {
+ });
+ assertThatThrownBy(
+ () -> apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver)
+ )
.isInstanceOf(ApexEventException.class);
}
@Test
- public void testInitWithJmsCarrierTechnologyParameters() throws ApexEventException {
+ public void testInitWithJmsCarrierTechnologyParameters() {
jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
- assertThatThrownBy(() -> apexJmsConsumer.init("TestApexJmsConsumer", consumerParameters, incomingEventReceiver))
+ assertThatThrownBy(
+ () -> apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver)
+ )
.isInstanceOf(ApexEventException.class);
}
@Test
+ public void testInitNoConnectionFactory() throws NamingException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ Mockito.doReturn(null).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(context).when(apexJmsConsumer).getInitialContext();
+
+ assertThatThrownBy(
+ () -> apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver)
+ )
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitNoConsumerTopic() throws NamingException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(null).when(context).lookup(jmsCarrierTechnologyParameters.getConsumerTopic());
+ Mockito.doReturn(context).when(apexJmsConsumer).getInitialContext();
+
+ assertThatThrownBy(
+ () -> apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver)
+ )
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitNoConnection() throws NamingException, JMSException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getConsumerTopic());
+ Mockito.doThrow(JMSException.class)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+
+ Mockito.doReturn(context).when(apexJmsConsumer).getInitialContext();
+
+ assertThatThrownBy(
+ () -> apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver)
+ )
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitConnectionError() throws NamingException, JMSException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getConsumerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doThrow(JMSException.class).when(connection).start();
+ Mockito.doReturn(context).when(apexJmsConsumer).getInitialContext();
+
+ assertThatThrownBy(
+ () -> apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver)
+ )
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInit() throws NamingException, JMSException, ApexEventException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getConsumerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(context).when(apexJmsConsumer).getInitialContext();
+
+ apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver);
+
+ Mockito.verify(connection, Mockito.times(1)).start();
+ }
+
+ @Test
public void testStart() {
assertThatCode(apexJmsConsumer::start).doesNotThrowAnyException();
}
@@ -93,7 +210,7 @@ public class ApexJmsConsumerTest {
@Test
public void testSetPeeredReference() {
PeeredReference peeredReference = new PeeredReference(EventHandlerPeeredMode.REQUESTOR,
- apexJmsConsumer, apexJmsProducer);
+ apexJmsConsumer, apexJmsProducer);
apexJmsConsumer.setPeeredReference(EventHandlerPeeredMode.REQUESTOR, peeredReference);
assertNotNull(apexJmsConsumer.getPeeredReference(EventHandlerPeeredMode.REQUESTOR));
}
@@ -104,14 +221,107 @@ public class ApexJmsConsumerTest {
}
@Test
- public void testOnMessage() {
+ public void testOnMessageUninitialized() {
Message jmsMessage = null;
assertThatThrownBy(() -> apexJmsConsumer.onMessage(jmsMessage))
.isInstanceOf(ApexEventRuntimeException.class);
}
@Test
- public void testStop() {
+ public void testOnMessage() throws JMSException, NamingException, ApexEventException {
+ // prepare ApexJmsConsumer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ incomingEventReceiver = Mockito.mock(ApexEventReceiver.class);
+
+
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getConsumerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(context).when(apexJmsConsumer).getInitialContext();
+
+ apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver);
+
+ final Message message = Mockito.mock(Message.class);
+
+ apexJmsConsumer.onMessage(message);
+ Mockito
+ .verify(incomingEventReceiver, Mockito.times(1))
+ .receiveEvent(ArgumentMatchers.any(Properties.class), ArgumentMatchers.eq(message));
+ }
+
+ @Test
+ public void testConnectionError() throws NamingException, JMSException, ApexEventException {
+ // prepare ApexJmsConsumer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getConsumerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(context).when(apexJmsConsumer).getInitialContext();
+
+ apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver);
+
+ Mockito.doThrow(JMSException.class).when(connection).close();
+
+ // do tests
+ apexJmsConsumer.start();
+ assertThatCode(() -> apexJmsConsumer.stop()).doesNotThrowAnyException();
+ Mockito.verify(connection, Mockito.times(1)).close();
+ }
+
+ @Test
+ public void testStop() throws NamingException, JMSException, ApexEventException {
+ // prepare ApexJmsConsumer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ consumerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getConsumerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(context).when(apexJmsConsumer).getInitialContext();
+
+ apexJmsConsumer.init(CONSUMER_NAME, consumerParameters, incomingEventReceiver);
+
+ Mockito.doNothing().when(connection).close();
+
+ apexJmsConsumer.start();
+
+ // do tests
+ apexJmsConsumer.stop();
+ Mockito.verify(connection, Mockito.times(1)).close();
+ }
+
+ @Test
+ public void testStopNoJmsProperties() {
assertThatThrownBy(apexJmsConsumer::stop).isInstanceOf(NullPointerException.class);
}
}
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java
index 09a87f804..708f29f4f 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-jms/src/test/java/org/onap/policy/apex/plugins/event/carrier/jms/ApexJmsProducerTest.java
@@ -21,18 +21,33 @@
package org.onap.policy.apex.plugins.event.carrier.jms;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatCode;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.util.Random;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.jms.Topic;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mockito;
import org.onap.policy.apex.service.engine.event.ApexEvent;
import org.onap.policy.apex.service.engine.event.ApexEventException;
-import org.onap.policy.apex.service.engine.event.ApexEventProducer;
-import org.onap.policy.apex.service.engine.event.ApexEventReceiver;
import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
import org.onap.policy.apex.service.engine.event.PeeredReference;
import org.onap.policy.apex.service.engine.event.SynchronousEventCache;
@@ -42,43 +57,204 @@ import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerPeeredMo
public class ApexJmsProducerTest {
- ApexJmsConsumer apexJmsConsumer = null;
- EventHandlerParameters producerParameters = null;
- ApexEventReceiver incomingEventReceiver = null;
- ApexEventProducer apexJmsProducer = null;
- Session jmsSession = null;
- JmsCarrierTechnologyParameters jmsCarrierTechnologyParameters = null;
- SynchronousEventCache synchronousEventCache = null;
+ private static final String PRODUCER_NAME = "TestApexJmsProducer";
+ private ApexJmsConsumer apexJmsConsumer;
+ private EventHandlerParameters producerParameters;
+ private ApexJmsProducer apexJmsProducer;
+ private JmsCarrierTechnologyParameters jmsCarrierTechnologyParameters;
private static final long DEFAULT_SYNCHRONOUS_EVENT_TIMEOUT = 1000;
+ private final Random random = new Random();
+ private final PrintStream out = System.out;
/**
* Set up testing.
*
- * @throws Exception on test set up errors.
*/
@Before
- public void setUp() throws Exception {
+ public void setUp() {
apexJmsConsumer = new ApexJmsConsumer();
producerParameters = new EventHandlerParameters();
- apexJmsProducer = new ApexJmsProducer();
+ apexJmsProducer = Mockito.spy(new ApexJmsProducer());
+ }
+
+ @After
+ public void tearDown() {
+ // restore system.out
+ System.setOut(out);
}
@Test
public void testInitWithNonJmsCarrierTechnologyParameters() {
- producerParameters.setCarrierTechnologyParameters(new CarrierTechnologyParameters() {});
- assertThatThrownBy(() -> apexJmsProducer.init("TestApexJmsProducer", producerParameters))
+ producerParameters.setCarrierTechnologyParameters(new CarrierTechnologyParameters() {
+ });
+ assertThatThrownBy(() -> apexJmsProducer.init(PRODUCER_NAME, producerParameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitWithJmsCarrierTechnologyParameters() {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+ assertThatThrownBy(() -> apexJmsProducer.init(PRODUCER_NAME, producerParameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitWithoutConnectionFactory() throws NamingException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+ final String producerName = RandomStringUtils.randomAlphabetic(5);
+
+ InitialContext context = Mockito.mock(InitialContext.class);
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(null).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+
+ assertThatThrownBy(() -> apexJmsProducer.init(producerName, producerParameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitWithoutTopic() throws NamingException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+ final String producerName = RandomStringUtils.randomAlphabetic(5);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(null).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+
+ assertThatThrownBy(() -> apexJmsProducer.init(producerName, producerParameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitConnectionCreateError() throws NamingException, JMSException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+ final String producerName = RandomStringUtils.randomAlphabetic(5);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doThrow(JMSException.class).when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+
+ assertThatThrownBy(() -> apexJmsProducer.init(producerName, producerParameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitConnectionStartError() throws NamingException, JMSException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+ final String producerName = RandomStringUtils.randomAlphabetic(5);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doThrow(JMSException.class).when(connection).start();
+
+ assertThatThrownBy(() -> apexJmsProducer.init(producerName, producerParameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void testInitSessionCreateError() throws NamingException, JMSException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+ final String producerName = RandomStringUtils.randomAlphabetic(5);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doThrow(JMSException.class).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ assertThatThrownBy(() -> apexJmsProducer.init(producerName, producerParameters))
.isInstanceOf(ApexEventException.class);
}
@Test
- public void testInitWithJmsCarrierTechnologyParameters() throws ApexEventException {
+ public void testInitProducerCreateError() throws NamingException, JMSException {
jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
- assertThatThrownBy(() -> apexJmsProducer.init("TestApexJmsProducer", producerParameters))
+ final String producerName = RandomStringUtils.randomAlphabetic(5);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doThrow(JMSException.class).when(session).createProducer(topic);
+ assertThatThrownBy(() -> apexJmsProducer.init(producerName, producerParameters))
.isInstanceOf(ApexEventException.class);
}
@Test
+ public void testInit() throws NamingException, JMSException {
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+ final String producerName = RandomStringUtils.randomAlphabetic(5);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ assertThatCode(() -> apexJmsProducer.init(producerName, producerParameters))
+ .doesNotThrowAnyException();
+ }
+
+ @Test
public void testGetName() {
assertNull(apexJmsProducer.getName());
}
@@ -91,40 +267,444 @@ public class ApexJmsProducerTest {
@Test
public void testSetPeeredReference() {
PeeredReference peeredReference = new PeeredReference(EventHandlerPeeredMode.REQUESTOR,
- apexJmsConsumer, apexJmsProducer);
+ apexJmsConsumer, apexJmsProducer);
apexJmsProducer.setPeeredReference(EventHandlerPeeredMode.REQUESTOR, peeredReference);
- assertNotNull(apexJmsProducer.getPeeredReference(EventHandlerPeeredMode.REQUESTOR));
+ final PeeredReference actual = apexJmsProducer.getPeeredReference(EventHandlerPeeredMode.REQUESTOR);
+ assertSame(peeredReference, actual);
+ }
+
+ @Test
+ public void testSendEventNotSerializable() {
+ producerParameters.setCarrierTechnologyParameters(new JmsCarrierTechnologyParameters());
+ Object object = new Object();
+ final long executionId = random.nextLong();
+ assertThatThrownBy(() -> apexJmsProducer.sendEvent(executionId, null, PRODUCER_NAME, object))
+ .isInstanceOf(ApexEventRuntimeException.class);
}
@Test
- public void testSendEvent() throws ApexEventException {
- producerParameters.setCarrierTechnologyParameters(new JmsCarrierTechnologyParameters() {});
- synchronousEventCache = new SynchronousEventCache(EventHandlerPeeredMode.SYNCHRONOUS,
- apexJmsConsumer, apexJmsProducer, DEFAULT_SYNCHRONOUS_EVENT_TIMEOUT);
+ public void testSendEventRemoveCache() {
+ producerParameters.setCarrierTechnologyParameters(new JmsCarrierTechnologyParameters());
+ final SynchronousEventCache synchronousEventCache =
+ Mockito.spy(new SynchronousEventCache(EventHandlerPeeredMode.SYNCHRONOUS,
+ apexJmsConsumer, apexJmsProducer, DEFAULT_SYNCHRONOUS_EVENT_TIMEOUT));
apexJmsProducer.setPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS,
- synchronousEventCache);
+ synchronousEventCache);
+
+ Object object = new Object();
+ final long executionId = random.nextLong();
+
+ assertThatThrownBy(() -> apexJmsProducer.sendEvent(executionId, null, PRODUCER_NAME, object))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ Mockito.verify(synchronousEventCache, Mockito.times(1)).removeCachedEventToApexIfExists(executionId);
+ }
+
+ @Test
+ public void testSendEventCreateObjectMessageError() throws ApexEventException, NamingException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare sendEvent
+
ApexEvent apexEvent = new ApexEvent("testEvent", "testVersion", "testNameSpace",
- "testSource", "testTarget");
- assertThatThrownBy(() -> apexJmsProducer.sendEvent(1000L, null, "TestApexJmsProducer", apexEvent))
- .isInstanceOf(NullPointerException.class);
+ "testSource", "testTarget");
+ Mockito.doThrow(JMSException.class).when(session).createObjectMessage(apexEvent);
+
+ final long executionId = random.nextLong();
+
+
+ assertThatThrownBy(() -> apexJmsProducer.sendEvent(executionId, null, PRODUCER_NAME, apexEvent))
+ .isInstanceOf(ApexEventRuntimeException.class);
}
@Test
- public void testSendEventWithNonSerializableObject() throws ApexEventException {
- producerParameters.setCarrierTechnologyParameters(new JmsCarrierTechnologyParameters() {});
- synchronousEventCache = new SynchronousEventCache(EventHandlerPeeredMode.SYNCHRONOUS,
- apexJmsConsumer, apexJmsProducer, DEFAULT_SYNCHRONOUS_EVENT_TIMEOUT);
- apexJmsProducer.setPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS,
- synchronousEventCache);
+ public void testSendEventCreateObjectMessageSendError() throws ApexEventException, NamingException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare sendEvent
+ final Message message = Mockito.mock(ObjectMessage.class);
+ ApexEvent apexEvent = new ApexEvent("testEvent", "testVersion", "testNameSpace",
+ "testSource", "testTarget");
+ Mockito.doReturn(message).when(session).createObjectMessage(apexEvent);
+ Mockito.doThrow(JMSException.class).when(messageProducer).send(message);
+
+ final long executionId = random.nextLong();
+
+
+ assertThatThrownBy(
+ () -> apexJmsProducer
+ .sendEvent(executionId, null, PRODUCER_NAME, apexEvent)
+ )
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void testSendEventCreateObjectMessageSend() throws ApexEventException, NamingException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare sendEvent
+ final Message message = Mockito.mock(ObjectMessage.class);
+ ApexEvent apexEvent = new ApexEvent("testEvent", "testVersion", "testNameSpace",
+ "testSource", "testTarget");
+ Mockito.doReturn(message).when(session).createObjectMessage(apexEvent);
+ Mockito.doNothing().when(messageProducer).send(message);
+
+ final long executionId = random.nextLong();
+
+
+ assertThatCode(
+ () -> apexJmsProducer
+ .sendEvent(executionId, null, PRODUCER_NAME, apexEvent)
+ )
+ .doesNotThrowAnyException();
+ }
+
+ @Test
+ public void testSendEventCreateTextMessageError() throws ApexEventException, NamingException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ jmsCarrierTechnologyParameters.setObjectMessageSending(false);
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare sendEvent
+ ApexEvent apexEvent = new ApexEvent("testEvent", "testVersion", "testNameSpace",
+ "testSource", "testTarget");
+
+ Mockito.doThrow(JMSException.class).when(session).createTextMessage(apexEvent.toString());
- ApexJmsProducerTest producerTest = new ApexJmsProducerTest();
+ final long executionId = random.nextLong();
- assertThatThrownBy(() -> apexJmsProducer.sendEvent(-1L, null, "TestApexJmsProducer", producerTest))
+ assertThatThrownBy(
+ () -> apexJmsProducer
+ .sendEvent(executionId, null, PRODUCER_NAME, apexEvent)
+ )
.isInstanceOf(ApexEventRuntimeException.class);
}
@Test
- public void testStop() {
+ public void testSendEventCreateTextMessageSendError() throws ApexEventException, NamingException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ jmsCarrierTechnologyParameters.setObjectMessageSending(false);
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare sendEvent
+ final Message message = Mockito.mock(TextMessage.class);
+ ApexEvent apexEvent = new ApexEvent("testEvent", "testVersion", "testNameSpace",
+ "testSource", "testTarget");
+ Mockito.doReturn(message).when(session).createTextMessage(apexEvent.toString());
+ Mockito.doThrow(JMSException.class).when(messageProducer).send(message);
+
+ final long executionId = random.nextLong();
+
+
+ assertThatThrownBy(
+ () -> apexJmsProducer
+ .sendEvent(executionId, null, PRODUCER_NAME, apexEvent)
+ )
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void testSendEventCreateTextMessageSend() throws ApexEventException, NamingException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ jmsCarrierTechnologyParameters.setObjectMessageSending(false);
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare sendEvent
+ final Message message = Mockito.mock(TextMessage.class);
+ ApexEvent apexEvent = new ApexEvent("testEvent", "testVersion", "testNameSpace",
+ "testSource", "testTarget");
+ Mockito.doReturn(message).when(session).createTextMessage(apexEvent.toString());
+ Mockito.doNothing().when(messageProducer).send(message);
+
+ final long executionId = random.nextLong();
+
+
+ assertThatCode(
+ () -> apexJmsProducer.sendEvent(executionId, null, PRODUCER_NAME, apexEvent)
+ )
+ .doesNotThrowAnyException();
+ }
+
+ @Test
+ public void testStopProducerException() throws NamingException, ApexEventException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ jmsCarrierTechnologyParameters.setObjectMessageSending(false);
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare stop mock
+ Mockito.doThrow(JMSException.class).when(messageProducer).close();
+
+ // Prepare system.out
+ final ByteArrayOutputStream testBuffer = new ByteArrayOutputStream();
+ System.setOut(new PrintStream(testBuffer));
+
+ // do the test
+ assertThatCode(apexJmsProducer::stop).doesNotThrowAnyException();
+ assertThat(testBuffer.toString()).contains("failed to close JMS message producer");
+ }
+
+ @Test
+ public void testStopCloseSessionException() throws NamingException, ApexEventException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ jmsCarrierTechnologyParameters.setObjectMessageSending(false);
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare stop mocks
+ Mockito.doNothing().when(messageProducer).close();
+ Mockito.doThrow(JMSException.class).when(session).close();
+
+ // Prepare system.out
+ final ByteArrayOutputStream testBuffer = new ByteArrayOutputStream();
+ System.setOut(new PrintStream(testBuffer));
+
+ // do the test
+ assertThatCode(apexJmsProducer::stop).doesNotThrowAnyException();
+ assertThat(testBuffer.toString()).contains("failed to close the JMS session");
+ }
+
+ @Test
+ public void testStopCloseConnectionException() throws NamingException, ApexEventException, JMSException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ jmsCarrierTechnologyParameters.setObjectMessageSending(false);
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare stop mocks
+ Mockito.doNothing().when(messageProducer).close();
+ Mockito.doNothing().when(session).close();
+ Mockito.doThrow(JMSException.class).when(connection).close();
+
+ // Prepare system.out
+ final ByteArrayOutputStream testBuffer = new ByteArrayOutputStream();
+ System.setOut(new PrintStream(testBuffer));
+
+ // do the test
+ assertThatCode(apexJmsProducer::stop).doesNotThrowAnyException();
+ assertThat(testBuffer.toString()).contains("close of connection");
+ }
+
+ @Test
+ public void testStop() throws NamingException, JMSException, ApexEventException {
+ // Prepare ApexJmsProducer
+ jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
+ jmsCarrierTechnologyParameters.setObjectMessageSending(false);
+ producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
+
+ final InitialContext context = Mockito.mock(InitialContext.class);
+ final ConnectionFactory connectionFactory = Mockito.mock(ConnectionFactory.class);
+ final Topic topic = Mockito.mock(Topic.class);
+ final Connection connection = Mockito.mock(Connection.class);
+ final Session session = Mockito.mock(Session.class);
+ final MessageProducer messageProducer = Mockito.mock(MessageProducer.class);
+
+ Mockito.doReturn(context).when(apexJmsProducer).getInitialContext();
+ Mockito.doReturn(connectionFactory).when(context).lookup(jmsCarrierTechnologyParameters.getConnectionFactory());
+ Mockito.doReturn(topic).when(context).lookup(jmsCarrierTechnologyParameters.getProducerTopic());
+ Mockito.doReturn(connection)
+ .when(connectionFactory)
+ .createConnection(jmsCarrierTechnologyParameters.getSecurityPrincipal(),
+ jmsCarrierTechnologyParameters.getSecurityCredentials());
+ Mockito.doNothing().when(connection).start();
+ Mockito.doReturn(session).when(connection).createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Mockito.doReturn(messageProducer).when(session).createProducer(topic);
+
+ apexJmsProducer.init(RandomStringUtils.random(5), producerParameters);
+
+ // Prepare stop mocks
+ Mockito.doNothing().when(messageProducer).close();
+ Mockito.doNothing().when(session).close();
+ Mockito.doNothing().when(connection).close();
+
+ // do the test
assertThatCode(apexJmsProducer::stop).doesNotThrowAnyException();
}
}
diff --git a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/pom.xml b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/pom.xml
index d9f800e12..6e562a812 100644
--- a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/pom.xml
+++ b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/pom.xml
@@ -1,6 +1,7 @@
<!--
============LICENSE_START=======================================================
Copyright (C) 2018 Ericsson. All rights reserved.
+ Modifications 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.
@@ -17,8 +18,17 @@
SPDX-License-Identifier: Apache-2.0
============LICENSE_END=========================================================
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-client</artifactId>
+ <version>5.16.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
<parent>
<groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-protocol</groupId>
<artifactId>plugins-event-protocol</artifactId>
@@ -27,5 +37,6 @@
<artifactId>plugins-event-protocol-jms</artifactId>
<name>${project.artifactId}</name>
- <description>[${project.parent.artifactId}] Plugins for handling events that are being transported as JMS messages</description>
+ <description>[${project.parent.artifactId}] Plugins for handling events that are being transported as JMS messages
+ </description>
</project> \ No newline at end of file
diff --git a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/java/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverter.java b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/java/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverter.java
index 89e2e8110..924765dc5 100644
--- a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/java/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverter.java
+++ b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/java/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverter.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2021 Nordix Foundation.
* Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -141,4 +141,13 @@ public final class Apex2JmsObjectEventConverter implements ApexEventProtocolConv
// Return the single object from the Apex event message
return apexEvent.values().iterator().next();
}
+
+ /**
+ * Returns eventProtocolParameters field. Getter used only for testing
+ *
+ * @return eventProtocolParameters
+ */
+ JmsObjectEventProtocolParameters getEventProtocolParameters() {
+ return eventProtocolParameters;
+ }
}
diff --git a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverterTest.java b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverterTest.java
new file mode 100644
index 000000000..70c17c34e
--- /dev/null
+++ b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsObjectEventConverterTest.java
@@ -0,0 +1,195 @@
+/*-
+ * ============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.apex.plugins.event.protocol.jms;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.util.List;
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import org.apache.activemq.command.ActiveMQObjectMessage;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
+import org.onap.policy.apex.service.engine.event.impl.apexprotocolplugin.ApexEventProtocolParameters;
+
+public class Apex2JmsObjectEventConverterTest {
+ private Apex2JmsObjectEventConverter converter;
+ private final PrintStream orgOutBuffer = System.out;
+ private ByteArrayOutputStream testOutStream;
+
+ @Before
+ public void setUp() throws Exception {
+ converter = new Apex2JmsObjectEventConverter();
+ testOutStream = new ByteArrayOutputStream();
+ System.setOut(new PrintStream(testOutStream));
+ }
+
+ @After
+ public void tearDown() {
+ System.setOut(orgOutBuffer);
+ }
+
+ @Test
+ public void initNull() {
+ assertThatThrownBy(() -> converter.init(null))
+ .isInstanceOf(NullPointerException.class);
+ }
+
+ @Test
+ public void initWrongClass() {
+ converter.init(new ApexEventProtocolParameters());
+ final String actual = testOutStream.toString();
+ assertThat(actual).contains("specified Event Protocol Parameters properties of typ");
+ assertNull(converter.getEventProtocolParameters());
+ }
+
+ @Test
+ public void init() {
+ final JmsObjectEventProtocolParameters parameters = new JmsObjectEventProtocolParameters();
+ converter.init(parameters);
+ final JmsObjectEventProtocolParameters actual = converter.getEventProtocolParameters();
+ assertSame(parameters, actual);
+ }
+
+ @Test
+ public void toApexEventNull() {
+ final JmsObjectEventProtocolParameters parameters = new JmsObjectEventProtocolParameters();
+ converter.init(parameters);
+ final String eventName = RandomStringUtils.randomAlphabetic(4);
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, null))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void toApexEventObject() {
+ final JmsObjectEventProtocolParameters parameters = new JmsObjectEventProtocolParameters();
+ converter.init(parameters);
+ final String eventName = RandomStringUtils.randomAlphabetic(4);
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, new Object()))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void toApexEventNoParams() {
+ final String eventName = RandomStringUtils.randomAlphabetic(4);
+ ObjectMessage object = new ActiveMQObjectMessage();
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, object))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void toApexEventIncomingObjectIsNull() {
+ final JmsObjectEventProtocolParameters parameters = new JmsObjectEventProtocolParameters();
+
+ converter.init(parameters);
+ final String eventName = RandomStringUtils.randomAlphabetic(4);
+ ObjectMessage object = new ActiveMQObjectMessage();
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, object))
+ .isInstanceOf(NullPointerException.class);
+ }
+
+ @Test
+ public void toApexEvent() throws ApexEventException, JMSException {
+ final JmsObjectEventProtocolParameters parameters = new JmsObjectEventProtocolParameters();
+
+ converter.init(parameters);
+ final String eventName = RandomStringUtils.randomAlphabetic(4);
+ final ObjectMessage object = new ActiveMQObjectMessage();
+ final String value = RandomStringUtils.randomAlphabetic(3);
+ object.setObject(value);
+
+ // Prepare expected object
+ final ApexEvent expectedEvent = new ApexEvent("String" + parameters.getIncomingEventSuffix(),
+ parameters.getIncomingEventVersion(),
+ "java.lang",
+ parameters.getIncomingEventSource(),
+ parameters.getIncomingEventTarget());
+ // Overwrite executionId to match executionId of actual
+ expectedEvent.setExecutionId(1);
+ final Object[] expected = {expectedEvent};
+
+ // Run tested method
+ final List<ApexEvent> actual = converter.toApexEvent(eventName, object);
+ // Overwrite executionId to match executionId of expected
+ actual.get(0).setExecutionId(1);
+ assertArrayEquals(expected, actual.toArray());
+ }
+
+ @Test
+ public void fromApexEventNull() {
+ assertThatThrownBy(() -> converter.fromApexEvent(null))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void fromApexEventEmptyEvent() throws ApexEventException {
+ final ApexEvent apexEvent = new ApexEvent(
+ "a" + RandomStringUtils.randomAlphabetic(3),
+ "a" + RandomStringUtils.randomAlphabetic(3),
+ "a" + RandomStringUtils.randomAlphabetic(3),
+ "",
+ "");
+ assertThatThrownBy(() -> converter.fromApexEvent(apexEvent))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void fromApexEventMultipleEvents() throws ApexEventException {
+ final ApexEvent apexEvent = new ApexEvent(
+ "a" + RandomStringUtils.randomAlphabetic(3),
+ "a" + RandomStringUtils.randomAlphabetic(4),
+ "a" + RandomStringUtils.randomAlphabetic(5),
+ "",
+ "");
+ apexEvent.put(RandomStringUtils.randomAlphabetic(2), new Object());
+ apexEvent.put(RandomStringUtils.randomAlphabetic(6), new Object());
+ assertThatThrownBy(() -> converter.fromApexEvent(apexEvent)).isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void fromApexEventSingleEvent() throws ApexEventException {
+ final ApexEvent apexEvent = new ApexEvent(
+ "a" + RandomStringUtils.randomAlphabetic(3),
+ "a" + RandomStringUtils.randomAlphabetic(3),
+ "a" + RandomStringUtils.randomAlphabetic(3),
+ "",
+ "");
+
+ final Object expected = new Object();
+ apexEvent.put(RandomStringUtils.randomAlphabetic(2), expected);
+
+ final Object actual = converter.fromApexEvent(apexEvent);
+
+ assertSame(expected, actual);
+ }
+}
diff --git a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsTextEventConverterTest.java b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsTextEventConverterTest.java
new file mode 100644
index 000000000..9f68b49df
--- /dev/null
+++ b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/Apex2JmsTextEventConverterTest.java
@@ -0,0 +1,149 @@
+/*-
+ * ============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.apex.plugins.event.protocol.jms;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
+
+import java.util.List;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.context.parameters.ContextParameterConstants;
+import org.onap.policy.apex.context.parameters.SchemaParameters;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.basicmodel.service.ModelService;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas;
+import org.onap.policy.apex.model.eventmodel.concepts.AxEvent;
+import org.onap.policy.apex.model.eventmodel.concepts.AxEvents;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
+import org.onap.policy.apex.service.engine.event.impl.filecarrierplugin.consumer.TextBlock;
+import org.onap.policy.apex.service.engine.event.impl.jsonprotocolplugin.JsonEventProtocolParameters;
+import org.onap.policy.common.parameters.ParameterService;
+
+public class Apex2JmsTextEventConverterTest {
+ private Apex2JmsTextEventConverter converter;
+
+ @Before
+ public void setUp() {
+ converter = new Apex2JmsTextEventConverter();
+ ModelService.registerModel(AxContextSchemas.class, new AxContextSchemas());
+ ModelService.registerModel(AxEvents.class, new AxEvents());
+ ParameterService.register(new SchemaParameters());
+ }
+
+ @After
+ public void tearDown() {
+ ModelService.deregisterModel(AxContextSchema.class);
+ ModelService.deregisterModel(AxEvents.class);
+ ParameterService.deregister(ContextParameterConstants.SCHEMA_GROUP_NAME);
+ }
+
+ @Test
+ public void toApexEventNull() {
+ final String eventName = RandomStringUtils.randomAlphabetic(4);
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, null))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void toApexEventObject() {
+ final String eventName = RandomStringUtils.randomAlphabetic(4);
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, new Object()))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void toApexEventJsonString() throws ApexEventException {
+ final String eventName = RandomStringUtils.randomAlphabetic(4);
+ final String eventVersion = "0.0.1";
+ final String source = RandomStringUtils.randomAlphabetic(5);
+ final String target = RandomStringUtils.randomAlphabetic(6);
+ final String nameSpace = "a.name.space";
+
+ // Prepare Json String to be translated into ApexEvent
+ final TextBlock object =
+ new TextBlock(false, "{\"name\": \"" + eventName + "\", \"version\":\"" + eventVersion + "\"}");
+
+ // Prepare Model service
+ final AxArtifactKey eventKey = new AxArtifactKey(eventName + ":" + eventVersion);
+ final AxEvent axEvent = new AxEvent(eventKey, nameSpace, source, target);
+ ModelService.getModel(AxEvents.class).getEventMap().put(eventKey, axEvent);
+
+ // prepare converter
+ converter.init(new JsonEventProtocolParameters());
+
+ // execute test
+ final List<ApexEvent> apexEvents = converter.toApexEvent(eventName, object);
+
+ final ApexEvent expectedEvent = new ApexEvent(eventName, eventVersion, nameSpace, source, target);
+
+ // Reset executionId
+ expectedEvent.setExecutionId(0);
+ for (ApexEvent event : apexEvents) {
+ event.setExecutionId(0);
+ }
+ Object[] expected = {expectedEvent};
+
+ assertArrayEquals(expected, apexEvents.toArray());
+ }
+
+ @Test
+ public void fromApexNull() {
+ assertThatThrownBy(() -> converter.fromApexEvent(null)).isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void fromApex() throws ApexEventException {
+ final String name = RandomStringUtils.randomAlphabetic(4);
+ final String version = "0.2.3";
+ final String nameSpace = "a.name.space";
+ final String source = RandomStringUtils.randomAlphabetic(6);
+ final String target = RandomStringUtils.randomAlphabetic(7);
+
+ final String expected = "{\n" +
+ " \"name\": \"" + name + "\",\n" +
+ " \"version\": \"" + version + "\",\n" +
+ " \"nameSpace\": \"" + nameSpace + "\",\n" +
+ " \"source\": \"" + source + "\",\n" +
+ " \"target\": \"" + target + "\"\n" +
+ "}";
+
+ // Prepare Model service
+ final AxArtifactKey eventKey = new AxArtifactKey(name + ":" + version);
+ final AxEvent axEvent = new AxEvent(eventKey, nameSpace, source, target);
+ ModelService.getModel(AxEvents.class).getEventMap().put(eventKey, axEvent);
+
+ converter.init(new JsonEventProtocolParameters());
+
+ final ApexEvent apexEvent = new ApexEvent(name, version, nameSpace, source, target);
+ final Object actual = converter.fromApexEvent(apexEvent);
+
+ assertEquals(expected, actual);
+ }
+
+}
diff --git a/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/JmsObjectEventProtocolParametersTest.java b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/JmsObjectEventProtocolParametersTest.java
new file mode 100644
index 000000000..8baa9d5b1
--- /dev/null
+++ b/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src/main/test/org/onap/policy/apex/plugins/event/protocol/jms/JmsObjectEventProtocolParametersTest.java
@@ -0,0 +1,53 @@
+/*-
+ * ============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.apex.plugins.event.protocol.jms;
+
+import static org.junit.Assert.assertEquals;
+
+
+import org.junit.Test;
+
+public class JmsObjectEventProtocolParametersTest {
+
+ @Test
+ public void getIncomingEventVersion() {
+ final JmsObjectEventProtocolParameters jmsObjectEventProtocolParameters =
+ new JmsObjectEventProtocolParameters();
+ final String actual = jmsObjectEventProtocolParameters.getIncomingEventVersion();
+ assertEquals("1.0.0", actual);
+ }
+
+ @Test
+ public void getIncomingEventSource() {
+ final JmsObjectEventProtocolParameters jmsObjectEventProtocolParameters =
+ new JmsObjectEventProtocolParameters();
+ final String actual = jmsObjectEventProtocolParameters.getIncomingEventSource();
+ assertEquals("JMS", actual);
+ }
+
+ @Test
+ public void getIncomingEventTarget() {
+ final JmsObjectEventProtocolParameters jmsObjectEventProtocolParameters =
+ new JmsObjectEventProtocolParameters();
+ final String actual = jmsObjectEventProtocolParameters.getIncomingEventTarget();
+ assertEquals("Apex", actual);
+ }
+}
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/PeeredReferenceTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/PeeredReferenceTest.java
new file mode 100644
index 000000000..cadb5c8a1
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/PeeredReferenceTest.java
@@ -0,0 +1,57 @@
+/*
+ * ============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.apex.service.engine.event;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+import org.onap.policy.apex.service.engine.event.impl.filecarrierplugin.consumer.ApexFileEventConsumer;
+import org.onap.policy.apex.service.engine.event.impl.filecarrierplugin.producer.ApexFileEventProducer;
+import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode;
+
+public class PeeredReferenceTest {
+
+ @Test
+ public void getPeeredConsumer() {
+ final ApexFileEventConsumer eventConsumer = new ApexFileEventConsumer();
+ final ApexFileEventProducer eventProducer = new ApexFileEventProducer();
+ final EventHandlerPeeredMode peeredMode = EventHandlerPeeredMode.REQUESTOR;
+ final PeeredReference peeredReference =
+ new PeeredReference(peeredMode, eventConsumer, eventProducer);
+
+ final ApexEventConsumer actual = peeredReference.getPeeredConsumer();
+ assertNotNull(actual);
+ assertEquals(peeredReference, actual.getPeeredReference(peeredMode));
+ }
+
+ @Test
+ public void getPeeredProducer() {
+ final ApexEventConsumer eventConsumer = new ApexFileEventConsumer();
+ final ApexEventProducer eventProducer = new ApexFileEventProducer();
+ final EventHandlerPeeredMode peeredMode = EventHandlerPeeredMode.SYNCHRONOUS;
+ final PeeredReference reference =
+ new PeeredReference(peeredMode, eventConsumer, eventProducer);
+
+ final ApexEventProducer actual = reference.getPeeredProducer();
+ assertNotNull(actual);
+ assertEquals(reference, actual.getPeeredReference(peeredMode));
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventConsumerFactoryTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventConsumerFactoryTest.java
new file mode 100644
index 000000000..976376e5a
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventConsumerFactoryTest.java
@@ -0,0 +1,83 @@
+/*
+ * ============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.apex.service.engine.event.impl;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.service.engine.event.ApexEventConsumer;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.parameters.dummyclasses.SuperDooperCarrierTechnologyParameters;
+import org.onap.policy.apex.service.parameters.carriertechnology.RestPluginCarrierTechnologyParameters;
+import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters;
+
+public class EventConsumerFactoryTest {
+ private EventConsumerFactory factory;
+
+ @Before
+ public void setUp() throws Exception {
+ factory = new EventConsumerFactory();
+ }
+
+ @Test
+ public void createConsumerNoTechnologyParameter() {
+ final String name = RandomStringUtils.randomAlphabetic(6);
+ final EventHandlerParameters parameters = new EventHandlerParameters();
+
+ assertThatThrownBy(() -> factory.createConsumer(name, parameters))
+ .isInstanceOf(NullPointerException.class);
+ }
+
+ @Test
+ public void createConsumerNoConsumerPlugin() {
+ final String name = RandomStringUtils.randomAlphabetic(6);
+ final EventHandlerParameters parameters = new EventHandlerParameters();
+ parameters.setCarrierTechnologyParameters(new RestPluginCarrierTechnologyParameters());
+
+ assertThatThrownBy(() -> factory.createConsumer(name, parameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void createConsumerWrongPluginClassName() {
+ final String name = RandomStringUtils.randomAlphabetic(6);
+ final EventHandlerParameters parameters = new EventHandlerParameters();
+ final RestPluginCarrierTechnologyParameters technologyParameters =
+ new RestPluginCarrierTechnologyParameters();
+ technologyParameters.setEventConsumerPluginClass("java.lang.Object");
+ parameters.setCarrierTechnologyParameters(technologyParameters);
+
+ assertThatThrownBy(() -> factory.createConsumer(name, parameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void createConsumer() throws ApexEventException {
+ final String name = RandomStringUtils.randomAlphabetic(6);
+ final EventHandlerParameters parameters = new EventHandlerParameters();
+ parameters.setCarrierTechnologyParameters(new SuperDooperCarrierTechnologyParameters());
+
+ final ApexEventConsumer actual = factory.createConsumer(name, parameters);
+ assertNotNull(actual);
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventProducerFactoryTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventProducerFactoryTest.java
new file mode 100644
index 000000000..7e3cb5478
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventProducerFactoryTest.java
@@ -0,0 +1,83 @@
+/*
+ * ============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.apex.service.engine.event.impl;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.ApexEventProducer;
+import org.onap.policy.apex.service.engine.parameters.dummyclasses.SuperDooperCarrierTechnologyParameters;
+import org.onap.policy.apex.service.parameters.carriertechnology.RestPluginCarrierTechnologyParameters;
+import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters;
+
+public class EventProducerFactoryTest {
+ private EventProducerFactory factory;
+
+ @Before
+ public void setUp() throws Exception {
+ factory = new EventProducerFactory();
+ }
+
+ @Test
+ public void createConsumerNoTechnologyParameter() {
+ final EventHandlerParameters parameters = new EventHandlerParameters();
+ final String name = RandomStringUtils.randomAlphabetic(4);
+
+ assertThatThrownBy(() -> factory.createProducer(name, parameters))
+ .isInstanceOf(NullPointerException.class);
+ }
+
+ @Test
+ public void createConsumerNoConsumerPlugin() {
+ final EventHandlerParameters parameters = new EventHandlerParameters();
+ final String name = RandomStringUtils.randomAlphabetic(4);
+ parameters.setCarrierTechnologyParameters(new RestPluginCarrierTechnologyParameters());
+
+ assertThatThrownBy(() -> factory.createProducer(name, parameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void createConsumerWrongProducerPluginName() {
+ final EventHandlerParameters parameters = new EventHandlerParameters();
+ final RestPluginCarrierTechnologyParameters technologyParameters =
+ new RestPluginCarrierTechnologyParameters();
+ final String name = RandomStringUtils.randomAlphabetic(4);
+ technologyParameters.setEventProducerPluginClass("java.lang.Object");
+ parameters.setCarrierTechnologyParameters(technologyParameters);
+
+ assertThatThrownBy(() -> factory.createProducer(name, parameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void createConsumer() throws ApexEventException {
+ final EventHandlerParameters parameters = new EventHandlerParameters();
+ parameters.setCarrierTechnologyParameters(new SuperDooperCarrierTechnologyParameters());
+ final String name = RandomStringUtils.randomAlphabetic(4);
+
+ final ApexEventProducer actual = factory.createProducer(name, parameters);
+ assertNotNull(actual);
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventProtocolFactoryTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventProtocolFactoryTest.java
new file mode 100644
index 000000000..8ed3a9fec
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/EventProtocolFactoryTest.java
@@ -0,0 +1,70 @@
+/*
+ * ============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.apex.service.engine.event.impl;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.service.engine.event.ApexEventProtocolConverter;
+import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
+import org.onap.policy.apex.service.engine.event.impl.apexprotocolplugin.ApexEventProtocolParameters;
+import org.onap.policy.apex.service.engine.event.impl.jsonprotocolplugin.JsonEventProtocolParameters;
+import org.onap.policy.apex.service.parameters.eventprotocol.EventProtocolParameters;
+
+public class EventProtocolFactoryTest {
+ private EventProtocolFactory factory;
+
+ @Before
+ public void setUp() throws Exception {
+ factory = new EventProtocolFactory();
+ }
+
+ @Test
+ public void createConsumerNoConsumerPlugin() {
+ final EventProtocolParameters parameters = new ApexEventProtocolParameters();
+ parameters.setEventProtocolPluginClass("");
+ final String name = RandomStringUtils.randomAlphabetic(9);
+
+ assertThatThrownBy(() -> factory.createConverter(name, parameters))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void createConsumer2() {
+ final EventProtocolParameters parameters = new ApexEventProtocolParameters();
+ final String name = RandomStringUtils.randomAlphabetic(9);
+ parameters.setEventProtocolPluginClass("java.lang.Object");
+
+ assertThatThrownBy(() -> factory.createConverter(name, parameters))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void createConsumer() {
+ final EventProtocolParameters parameters = new JsonEventProtocolParameters();
+ final String name = RandomStringUtils.randomAlphabetic(9);
+
+ final ApexEventProtocolConverter actual = factory.createConverter(name, parameters);
+ assertNotNull(actual);
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/apexprotocolplugin/Apex2ApexEventConverterTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/apexprotocolplugin/Apex2ApexEventConverterTest.java
new file mode 100644
index 000000000..04e87ee42
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/apexprotocolplugin/Apex2ApexEventConverterTest.java
@@ -0,0 +1,180 @@
+/*
+ * ============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.apex.service.engine.event.impl.apexprotocolplugin;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatNoException;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertSame;
+
+import java.util.List;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.ApexEventList;
+import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
+
+public class Apex2ApexEventConverterTest {
+ private Apex2ApexEventConverter converter;
+
+ @Before
+ public void setUp() throws Exception {
+ converter = new Apex2ApexEventConverter();
+ }
+
+ @Test
+ public void initWithNull() {
+ assertThatThrownBy(() -> converter.init(null))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void init() {
+ assertThatNoException()
+ .isThrownBy(() -> converter.init(new ApexEventProtocolParameters()));
+ }
+
+ @Test
+ public void toApexEventWithNull() {
+ final String eventName = RandomStringUtils.randomAlphanumeric(5);
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, null))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void toApexEventWithNonApexEvent() {
+ final String eventName = RandomStringUtils.randomAlphanumeric(5);
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, new Object()))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void toApexEmptyEvent() throws ApexEventException {
+ final String eventName = RandomStringUtils.randomAlphanumeric(4);
+ final String name = RandomStringUtils.randomAlphanumeric(5);
+ final String version = RandomStringUtils.randomAlphanumeric(6);
+ final String nameSpace = "a" + RandomStringUtils.randomAlphanumeric(7);
+ final String source = RandomStringUtils.randomAlphanumeric(8);
+ final String target = RandomStringUtils.randomAlphanumeric(9);
+
+ final ApexEvent event = new ApexEvent(name, version, nameSpace, source, target);
+ final List<ApexEvent> result = converter.toApexEvent(eventName, event);
+ assertThat(result).isEmpty();
+ }
+
+ @Test
+ public void toApexEventWithApexAndOtherFields() throws ApexEventException {
+ final String eventName = RandomStringUtils.randomAlphanumeric(4);
+ final String name1 = RandomStringUtils.randomAlphanumeric(5);
+ final String version1 = RandomStringUtils.randomAlphanumeric(6);
+ final String nameSpace1 = "a" + RandomStringUtils.randomAlphanumeric(7);
+ final String source1 = RandomStringUtils.randomAlphanumeric(8);
+ final String target1 = RandomStringUtils.randomAlphanumeric(9);
+
+ final ApexEvent event = new ApexEvent(name1, version1, nameSpace1, source1, target1);
+
+ final String key = RandomStringUtils.randomAlphabetic(3);
+ event.put(key, new Object());
+ final List<ApexEvent> result = converter.toApexEvent(eventName, event);
+ Object[] expected = {event};
+ assertArrayEquals(expected, result.toArray());
+ }
+
+ @Test
+ public void toApexEventWithApexAndList() throws ApexEventException {
+ final String eventName = RandomStringUtils.randomAlphanumeric(4);
+ final String name1 = RandomStringUtils.randomAlphanumeric(5);
+ final String version1 = RandomStringUtils.randomAlphanumeric(6);
+ final String nameSpace1 = "a" + RandomStringUtils.randomAlphanumeric(7);
+ final String source1 = RandomStringUtils.randomAlphanumeric(8);
+ final String target1 = RandomStringUtils.randomAlphanumeric(9);
+
+ final ApexEvent event = new ApexEvent(name1, version1, nameSpace1, source1, target1);
+
+ final ApexEventList eventList = new ApexEventList();
+ eventList.add(event);
+
+ final String name2 = RandomStringUtils.randomAlphanumeric(15);
+ final String version2 = RandomStringUtils.randomAlphanumeric(16);
+ final String nameSpace2 = "b" + RandomStringUtils.randomAlphanumeric(17);
+ final String source2 = RandomStringUtils.randomAlphanumeric(18);
+ final String target2 = RandomStringUtils.randomAlphanumeric(19);
+
+ final ApexEvent parentEvent = new ApexEvent(name2, version2, nameSpace2, source2, target2);
+ final String key = RandomStringUtils.randomAlphabetic(3);
+ parentEvent.put(key, eventList);
+ final List<ApexEvent> result = converter.toApexEvent(eventName, parentEvent);
+ Object[] expected = {event};
+ assertArrayEquals(expected, result.toArray());
+ }
+
+ @Test
+ public void toApexEventWithApexAndListAndOtherFields() throws ApexEventException {
+ final String eventName = RandomStringUtils.randomAlphanumeric(4);
+ final String name1 = RandomStringUtils.randomAlphanumeric(5);
+ final String version1 = RandomStringUtils.randomAlphanumeric(6);
+ final String nameSpace1 = "a" + RandomStringUtils.randomAlphanumeric(7);
+ final String source1 = RandomStringUtils.randomAlphanumeric(8);
+ final String target1 = RandomStringUtils.randomAlphanumeric(9);
+
+ final ApexEvent event = new ApexEvent(name1, version1, nameSpace1, source1, target1);
+
+ final ApexEventList eventList = new ApexEventList();
+ eventList.add(event);
+
+ final String name2 = RandomStringUtils.randomAlphanumeric(15);
+ final String version2 = RandomStringUtils.randomAlphanumeric(16);
+ final String nameSpace2 = "b" + RandomStringUtils.randomAlphanumeric(17);
+ final String source2 = RandomStringUtils.randomAlphanumeric(18);
+ final String target2 = RandomStringUtils.randomAlphanumeric(19);
+
+ final ApexEvent parentEvent = new ApexEvent(name2, version2, nameSpace2, source2, target2);
+ final String key1 = RandomStringUtils.randomAlphabetic(3);
+ final String key2 = RandomStringUtils.randomAlphabetic(2);
+ parentEvent.put(key1, eventList);
+ parentEvent.put(key2, new Object());
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, parentEvent))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void fromApexEventNull() {
+ assertThatThrownBy(() -> converter.fromApexEvent(null))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void fromApexEvent() throws ApexEventException {
+ final String name1 = RandomStringUtils.randomAlphanumeric(5);
+ final String version1 = RandomStringUtils.randomAlphanumeric(6);
+ final String nameSpace1 = "a" + RandomStringUtils.randomAlphanumeric(7);
+ final String source1 = RandomStringUtils.randomAlphanumeric(8);
+ final String target1 = RandomStringUtils.randomAlphanumeric(9);
+
+ final ApexEvent event = new ApexEvent(name1, version1, nameSpace1, source1, target1);
+
+ final Object actual = converter.fromApexEvent(event);
+ assertSame(event, actual);
+ }
+
+}
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/apexprotocolplugin/ApexEventProtocolParametersTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/apexprotocolplugin/ApexEventProtocolParametersTest.java
new file mode 100644
index 000000000..8b39b0a74
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/apexprotocolplugin/ApexEventProtocolParametersTest.java
@@ -0,0 +1,50 @@
+/*
+ * ============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.apex.service.engine.event.impl.apexprotocolplugin;
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Test;
+
+public class ApexEventProtocolParametersTest {
+
+ @Test
+ public void testNoArgConstructor() {
+ final ApexEventProtocolParameters apexEventProtocolParameters = new ApexEventProtocolParameters();
+ final String actual = apexEventProtocolParameters.getLabel();
+ final String pluginClass = apexEventProtocolParameters.getEventProtocolPluginClass();
+
+ assertEquals(ApexEventProtocolParameters.APEX_EVENT_PROTOCOL_LABEL, actual);
+ assertEquals(Apex2ApexEventConverter.class.getName(), pluginClass);
+ }
+
+ @Test
+ public void testConstructor() {
+ final String expected = RandomStringUtils.randomAlphabetic(6);
+ final ApexEventProtocolParameters apexEventProtocolParameters = new ApexEventProtocolParameters(expected);
+ final String actual = apexEventProtocolParameters.getLabel();
+ final String pluginClass = apexEventProtocolParameters.getEventProtocolPluginClass();
+
+ assertEquals(expected, actual);
+ assertEquals(Apex2ApexEventConverter.class.getName(), pluginClass);
+ }
+
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/enevent/ApexEvent2EnEventConverterTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/enevent/ApexEvent2EnEventConverterTest.java
new file mode 100644
index 000000000..562760f69
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/enevent/ApexEvent2EnEventConverterTest.java
@@ -0,0 +1,100 @@
+/*
+ * ============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.apex.service.engine.event.impl.enevent;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertArrayEquals;
+
+import java.util.List;
+import java.util.Random;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.core.engine.event.EnEvent;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.eventmodel.concepts.AxEvent;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
+
+public class ApexEvent2EnEventConverterTest {
+ private ApexEvent2EnEventConverter converter;
+ private final Random random = new Random();
+
+ @Before
+ public void setUp() throws Exception {
+ converter = new ApexEvent2EnEventConverter(null);
+ }
+
+ @Test
+ public void toApexEventNull() {
+ final String eventName = RandomStringUtils.randomAlphabetic(3);
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, null))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void toApexEventWrongClass() throws ApexException {
+ final String eventName = RandomStringUtils.randomAlphabetic(3);
+ final String name = RandomStringUtils.randomAlphanumeric(5);
+ final String version = RandomStringUtils.randomAlphanumeric(6);
+ final String nameSpace = "a" + RandomStringUtils.randomAlphanumeric(7);
+ final String source = RandomStringUtils.randomAlphanumeric(8);
+ final String target = RandomStringUtils.randomAlphanumeric(9);
+
+ final ApexEvent event = new ApexEvent(name, version, nameSpace, source, target);
+
+ assertThatThrownBy(() -> converter.toApexEvent(eventName, event))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void toApex() throws ApexException {
+ // prepare String values for events
+ final String name = RandomStringUtils.randomAlphabetic(5);
+ final String version = RandomStringUtils.randomAlphabetic(6);
+ final String nameSpace = "b" + RandomStringUtils.randomAlphabetic(7);
+ final String source = RandomStringUtils.randomAlphabetic(8);
+ final String target = RandomStringUtils.randomAlphabetic(9);
+ final int executionId = random.nextInt(1000);
+ final String exceptionMessage = RandomStringUtils.randomAlphabetic(11);
+
+ // prepare events
+ final AxEvent axEvent = new AxEvent();
+ axEvent.getKey().setName(name);
+ axEvent.getKey().setVersion(version);
+ axEvent.setNameSpace(nameSpace);
+ axEvent.setSource(source);
+ axEvent.setTarget(target);
+ final EnEvent enEvent = new EnEvent(axEvent);
+ enEvent.setExecutionId(executionId);
+ enEvent.setExceptionMessage(exceptionMessage);
+
+ // prepare expected event
+ final ApexEvent apexEvent = new ApexEvent(name, version, nameSpace, source, target);
+ apexEvent.setExecutionId(executionId);
+ apexEvent.setExceptionMessage(exceptionMessage);
+ final Object[] expected = {apexEvent};
+
+ // Test
+ final List<ApexEvent> actual = converter.toApexEvent(RandomStringUtils.randomAlphabetic(3), enEvent);
+ assertArrayEquals(expected, actual.toArray());
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorCarrierTechnologyParametersTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorCarrierTechnologyParametersTest.java
new file mode 100644
index 000000000..c0da81625
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorCarrierTechnologyParametersTest.java
@@ -0,0 +1,43 @@
+/*
+ * ============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.apex.service.engine.event.impl.eventrequestor;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+import org.onap.policy.common.parameters.GroupValidationResult;
+
+public class EventRequestorCarrierTechnologyParametersTest {
+
+ @Test
+ public void getName() {
+ final EventRequestorCarrierTechnologyParameters parameters = new EventRequestorCarrierTechnologyParameters();
+ final String actual = parameters.getName();
+ assertEquals(EventRequestorCarrierTechnologyParameters.EVENT_REQUESTOR_CARRIER_TECHNOLOGY_LABEL, actual);
+ }
+
+ @Test
+ public void validate() {
+ final EventRequestorCarrierTechnologyParameters parameters = new EventRequestorCarrierTechnologyParameters();
+ final GroupValidationResult actual = parameters.validate();
+ assertNotNull(actual);
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumerTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumerTest.java
new file mode 100644
index 000000000..dd44da7dd
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorConsumerTest.java
@@ -0,0 +1,86 @@
+/*
+ * ============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.apex.service.engine.event.impl.eventrequestor;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertEquals;
+
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.PeeredReference;
+import org.onap.policy.apex.service.engine.event.impl.filecarrierplugin.consumer.ApexFileEventConsumer;
+import org.onap.policy.apex.service.engine.event.impl.filecarrierplugin.producer.ApexFileEventProducer;
+import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters;
+import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode;
+
+public class EventRequestorConsumerTest {
+ private EventRequestorConsumer consumer;
+
+ @Before
+ public void setUp() throws Exception {
+ consumer = new EventRequestorConsumer();
+ }
+
+ @Test
+ public void initNoCarrierTechnologyParameters() {
+ final String consumerName = RandomStringUtils.randomAlphabetic(6);
+ final EventHandlerParameters eventHandlerParameters = new EventHandlerParameters();
+
+ assertThatThrownBy(() -> consumer.init(consumerName, eventHandlerParameters, null))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void initNoPeered() {
+ final String consumerName = RandomStringUtils.randomAlphabetic(6);
+ final EventHandlerParameters eventHandlerParameters = new EventHandlerParameters();
+ eventHandlerParameters.setCarrierTechnologyParameters(new EventRequestorCarrierTechnologyParameters());
+
+ assertThatThrownBy(() -> consumer.init(consumerName, eventHandlerParameters, null))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void getName() throws ApexEventException {
+ final String consumerName = RandomStringUtils.randomAlphabetic(6);
+ final EventHandlerParameters eventHandlerParameters = new EventHandlerParameters();
+ eventHandlerParameters.setCarrierTechnologyParameters(new EventRequestorCarrierTechnologyParameters());
+ eventHandlerParameters.setPeeredMode(EventHandlerPeeredMode.REQUESTOR, true);
+
+ consumer.init(consumerName, eventHandlerParameters, null);
+ final String actual = consumer.getName();
+
+ assertEquals(consumerName, actual);
+ }
+
+ @Test
+ public void getSetPeeeredReference() {
+ final PeeredReference peeredReference =
+ new PeeredReference(EventHandlerPeeredMode.REQUESTOR, new ApexFileEventConsumer(),
+ new ApexFileEventProducer());
+ consumer.setPeeredReference(EventHandlerPeeredMode.REQUESTOR, peeredReference);
+
+ final PeeredReference actual = consumer.getPeeredReference(EventHandlerPeeredMode.REQUESTOR);
+
+ assertEquals(peeredReference, actual);
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducerTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducerTest.java
new file mode 100644
index 000000000..2f4764fb5
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/eventrequestor/EventRequestorProducerTest.java
@@ -0,0 +1,161 @@
+/*
+ * ============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.apex.service.engine.event.impl.eventrequestor;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertEquals;
+
+import java.util.Random;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Matchers;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.ApexEventProducer;
+import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
+import org.onap.policy.apex.service.engine.event.PeeredReference;
+import org.onap.policy.apex.service.engine.event.SynchronousEventCache;
+import org.onap.policy.apex.service.engine.event.impl.filecarrierplugin.consumer.ApexFileEventConsumer;
+import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerParameters;
+import org.onap.policy.apex.service.parameters.eventhandler.EventHandlerPeeredMode;
+
+public class EventRequestorProducerTest {
+ private final Random random = new Random();
+ private EventRequestorProducer producer;
+
+ @Mock
+ private ApexEventProducer apexProducer;
+ @Mock
+ private EventRequestorConsumer apexConsumer;
+
+ @Before
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ producer = new EventRequestorProducer();
+ }
+
+ @Test
+ public void initWithEmptyParams() {
+ final String producerName = RandomStringUtils.random(4);
+ final EventHandlerParameters eventHandlerParameters = new EventHandlerParameters();
+
+ assertThatThrownBy(() -> producer.init(producerName, eventHandlerParameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void initNotPeered() {
+ final String producerName = RandomStringUtils.random(4);
+ final EventHandlerParameters eventHandlerParameters = new EventHandlerParameters();
+ eventHandlerParameters.setCarrierTechnologyParameters(new EventRequestorCarrierTechnologyParameters());
+
+ assertThatThrownBy(() -> producer.init(producerName, eventHandlerParameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+ @Test
+ public void getName() throws ApexEventException {
+ final String expected = RandomStringUtils.random(4);
+ final EventHandlerParameters eventHandlerParameters = new EventHandlerParameters();
+ eventHandlerParameters.setCarrierTechnologyParameters(new EventRequestorCarrierTechnologyParameters());
+ eventHandlerParameters.setPeeredMode(EventHandlerPeeredMode.REQUESTOR, true);
+
+ producer.init(expected, eventHandlerParameters);
+ final String actual = producer.getName();
+
+ assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getSetPeeredReference() {
+ final PeeredReference peeredReference = new PeeredReference(EventHandlerPeeredMode.SYNCHRONOUS, apexConsumer,
+ apexProducer);
+ producer.setPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS, peeredReference);
+
+ final PeeredReference actual = this.producer.getPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS);
+ assertEquals(peeredReference, actual);
+ }
+
+ @Test
+ public void sendEventNoRequestor() {
+ final int id = random.nextInt(1000);
+
+ assertThatThrownBy(() -> producer.sendEvent(id, null, null, null))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void sendEventNoEventRequestorConsumer() {
+ final int id = random.nextInt(1000);
+
+ final ApexFileEventConsumer fileEventConsumer = Mockito.mock(ApexFileEventConsumer.class);
+
+ final PeeredReference reference =
+ new PeeredReference(EventHandlerPeeredMode.REQUESTOR, fileEventConsumer, apexProducer);
+
+ producer.setPeeredReference(EventHandlerPeeredMode.REQUESTOR, reference);
+
+ assertThatThrownBy(() -> producer.sendEvent(id, null, null, null))
+ .isInstanceOf(ApexEventRuntimeException.class);
+ }
+
+ @Test
+ public void sendEvent() {
+ final int id = random.nextInt(1000);
+ // Prepare mocks
+ final PeeredReference peeredReference = Mockito.mock(PeeredReference.class);
+
+ Mockito.when(apexConsumer.getPeeredReference(Matchers.any())).thenReturn(peeredReference);
+ Mockito.when(peeredReference.getPeeredConsumer()).thenReturn(apexConsumer);
+
+ final PeeredReference reference =
+ new PeeredReference(EventHandlerPeeredMode.REQUESTOR, apexConsumer, apexProducer);
+ producer.setPeeredReference(EventHandlerPeeredMode.REQUESTOR, reference);
+
+ producer.sendEvent(id, null, null, null);
+ Mockito.verify(apexConsumer, Mockito.times(1)).processEvent(Matchers.any());
+ }
+
+ @Test
+ public void sendEventCached() {
+ final int id = random.nextInt(1000);
+
+ // Set event cache
+ final SynchronousEventCache eventCache = Mockito.mock(SynchronousEventCache.class);
+ producer.setPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS, eventCache);
+
+ // Prepare other mocks
+ final PeeredReference peeredReference = Mockito.mock(PeeredReference.class);
+
+ Mockito.when(peeredReference.getPeeredConsumer()).thenReturn(apexConsumer);
+ Mockito.when(apexConsumer.getPeeredReference(Matchers.any())).thenReturn(peeredReference);
+
+ final PeeredReference reference =
+ new PeeredReference(EventHandlerPeeredMode.REQUESTOR, apexConsumer, apexProducer);
+ producer.setPeeredReference(EventHandlerPeeredMode.REQUESTOR, reference);
+
+ producer.sendEvent(id, null, null, null);
+ Mockito.verify(apexConsumer, Mockito.times(1)).processEvent(Matchers.any());
+ Mockito.verify(eventCache, Mockito.times(1)).removeCachedEventToApexIfExists(id);
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/TextBlockReaderFactoryTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/TextBlockReaderFactoryTest.java
new file mode 100644
index 000000000..4fa42a727
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/TextBlockReaderFactoryTest.java
@@ -0,0 +1,79 @@
+/*
+ * ============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.apex.service.engine.event.impl.filecarrierplugin.consumer;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.impl.apexprotocolplugin.ApexEventProtocolParameters;
+import org.onap.policy.apex.service.engine.event.impl.jsonprotocolplugin.JsonEventProtocolParameters;
+import org.onap.policy.apex.service.engine.parameters.dummyclasses.SuperTokenDelimitedEventProtocolParameters;
+import org.onap.policy.apex.service.parameters.eventprotocol.EventProtocolParameters;
+
+public class TextBlockReaderFactoryTest {
+ private TextBlockReaderFactory factory;
+
+ @Before
+ public void setUp() throws Exception {
+ factory = new TextBlockReaderFactory();
+ }
+
+ @Test
+ public void getTaggedReaderTextCharDelimitedParametersParams() throws ApexEventException {
+ final String text = RandomStringUtils.randomAlphanumeric(22);
+ final InputStream inputStream = prepareInputStream(text);
+ final EventProtocolParameters parameters = new JsonEventProtocolParameters();
+
+ final TextBlockReader actual = factory.getTaggedReader(inputStream, parameters);
+ assertThat(actual).isNotInstanceOf(HeaderDelimitedTextBlockReader.class);
+ }
+
+ @Test
+ public void getTaggedReaderTextTokenDelimitedParams() throws ApexEventException {
+ final String text = RandomStringUtils.randomAlphanumeric(22);
+ final InputStream inputStream = prepareInputStream(text);
+ new ApexEventProtocolParameters();
+ final EventProtocolParameters parameters = new SuperTokenDelimitedEventProtocolParameters();
+
+ final TextBlockReader actual = factory.getTaggedReader(inputStream, parameters);
+ assertThat(actual).isInstanceOf(HeaderDelimitedTextBlockReader.class);
+ }
+
+ @Test
+ public void getTaggedReaderNotSupportedParams() {
+ final String text = RandomStringUtils.randomAlphanumeric(22);
+ final InputStream inputStream = prepareInputStream(text);
+ final EventProtocolParameters parameters = new ApexEventProtocolParameters();
+ assertThatThrownBy(() -> factory.getTaggedReader(inputStream, parameters))
+ .isInstanceOf(ApexEventException.class);
+ }
+
+
+ private InputStream prepareInputStream(String text) {
+ return new ByteArrayInputStream(text.getBytes(StandardCharsets.UTF_8));
+ }
+} \ No newline at end of file
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/TextBlockTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/TextBlockTest.java
new file mode 100644
index 000000000..4390c3f3a
--- /dev/null
+++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/event/impl/filecarrierplugin/consumer/TextBlockTest.java
@@ -0,0 +1,57 @@
+/*
+ * ============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.apex.service.engine.event.impl.filecarrierplugin.consumer;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Random;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.junit.Test;
+
+public class TextBlockTest {
+ private final Random random = new Random();
+
+ @Test
+ public void isEndOfText() {
+ final boolean endOfText = random.nextBoolean();
+ final TextBlock textBlock = new TextBlock(endOfText, null);
+
+ assertEquals(endOfText, textBlock.isEndOfText());
+ }
+
+ @Test
+ public void getText() {
+ final boolean endOfText = random.nextBoolean();
+ final String text = RandomStringUtils.randomAlphanumeric(8);
+ final TextBlock textBlock = new TextBlock(endOfText, text);
+
+ assertEquals(text, textBlock.getText());
+ }
+
+ @Test
+ public void setText() {
+ final boolean endOfText = random.nextBoolean();
+ final String text = RandomStringUtils.randomAlphanumeric(8);
+ final TextBlock textBlock = new TextBlock(endOfText, null);
+
+ textBlock.setText(text);
+ assertEquals(text, textBlock.getText());
+ }
+} \ No newline at end of file
diff --git a/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx b/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx
index 7a8777f17..afeb77fab 100644
--- a/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx
+++ b/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx
@@ -67,43 +67,43 @@
</elementProp>
<elementProp name="threadsTimeOutInMs" elementType="Argument">
<stringProp name="Argument.name">threadsTimeOutInMs</stringProp>
- <stringProp name="Argument.value">${__P(threadsTimeOutInMs,150000)}</stringProp>
+ <stringProp name="Argument.value">${__P(threadsTimeOutInMs,5000)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="wait" elementType="Argument">
<stringProp name="Argument.name">wait</stringProp>
- <stringProp name="Argument.value">${__P(wait,120000)}</stringProp>
+ <stringProp name="Argument.value">${__P(wait,10000)}</stringProp>
<stringProp name="Argument.desc">Wait time between requests to apex-pdp</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="PAP_PORT" elementType="Argument">
<stringProp name="Argument.name">PAP_PORT</stringProp>
- <stringProp name="Argument.value">${__P(PAP_PORT,30844)}</stringProp>
+ <stringProp name="Argument.value">${__P(PAP_PORT,30211)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="API_PORT" elementType="Argument">
<stringProp name="Argument.name">API_PORT</stringProp>
- <stringProp name="Argument.value">${__P(API_PORT,30485)}</stringProp>
+ <stringProp name="Argument.value">${__P(API_PORT,30785)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="APEX_PORT" elementType="Argument">
<stringProp name="Argument.name">APEX_PORT</stringProp>
- <stringProp name="Argument.value">${__P(APEX_PORT,31686)}</stringProp>
+ <stringProp name="Argument.value">${__P(APEX_PORT,30687)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="DMAAP_PORT" elementType="Argument">
<stringProp name="Argument.name">DMAAP_PORT</stringProp>
- <stringProp name="Argument.value">${__P(DMAAP_PORT,31499)}</stringProp>
+ <stringProp name="Argument.value">${__P(DMAAP_PORT,31345)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="HOSTNAME" elementType="Argument">
<stringProp name="Argument.name">HOSTNAME</stringProp>
- <stringProp name="Argument.value">${__P(HOSTNAME,10.2.0.97)}</stringProp>
+ <stringProp name="Argument.value">${__P(HOSTNAME,10.2.0.120)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="LOG_PATH" elementType="Argument">
<stringProp name="Argument.name">LOG_PATH</stringProp>
- <stringProp name="Argument.value">${__P(LOG_PATH,/home/wayned/apex_stability)}</stringProp>
+ <stringProp name="Argument.value">${__P(LOG_PATH,/home/arkadiusza/apex_stability)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
@@ -157,2296 +157,2287 @@
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{&#xd;
- &quot;tosca_definitions_version&quot;: &quot;tosca_simple_yaml_1_1_0&quot;,&#xd;
- &quot;topology_template&quot;: {&#xd;
- &quot;policies&quot;: [&#xd;
- {&#xd;
- &quot;operational.apex.stabilityTestDefaultDomain&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.policies.native.Apex&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;engineServiceParameters&quot;: {&#xd;
- &quot;name&quot;: &quot;MyApexEngine&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;id&quot;: 45,&#xd;
- &quot;instanceCount&quot;: 4,&#xd;
- &quot;deploymentPort&quot;: 12561,&#xd;
- &quot;engineParameters&quot;: {&#xd;
- &quot;executorParameters&quot;: {&#xd;
- &quot;JAVASCRIPT&quot;: {&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;contextParameters&quot;: {&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.context.parameters.ContextParameters&quot;,&#xd;
- &quot;schemaParameters&quot;: {&#xd;
- &quot;Avro&quot;: {&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters&quot;&#xd;
- },&#xd;
- &quot;Java&quot;: {&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters&quot;,&#xd;
- &quot;jsonAdapters&quot;: {&#xd;
- &quot;Instant&quot;: {&#xd;
- &quot;adaptedClass&quot;: &quot;java.time.Instant&quot;,&#xd;
- &quot;adaptorClass&quot;: &quot;org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter&quot;&#xd;
- }&#xd;
+ &quot;tosca_definitions_version&quot;: &quot;tosca_simple_yaml_1_1_0&quot;,&#xd;
+ &quot;topology_template&quot;: {&#xd;
+ &quot;policies&quot;: [&#xd;
+ {&#xd;
+ &quot;operational.apex.stabilityTestDefaultDomain&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.policies.native.Apex&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;engineServiceParameters&quot;: {&#xd;
+ &quot;name&quot;: &quot;MyApexEngine&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;id&quot;: 45,&#xd;
+ &quot;instanceCount&quot;: 4,&#xd;
+ &quot;deploymentPort&quot;: 12561,&#xd;
+ &quot;engineParameters&quot;: {&#xd;
+ &quot;executorParameters&quot;: {&#xd;
+ &quot;JAVASCRIPT&quot;: {&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;contextParameters&quot;: {&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.context.parameters.ContextParameters&quot;,&#xd;
+ &quot;schemaParameters&quot;: {&#xd;
+ &quot;Avro&quot;: {&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;policy_type_impl&quot;: {&#xd;
+ &quot;apexPolicyModel&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;keyInformation&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;keyInfoMap&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;b8424cdb-29fb-3566-b77a-f4f847d81cc9&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;9922906c-ccaa-34f7-95e2-bcc36e77821b&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Albums:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;5bf28afd-787c-3138-a3e1-b33ad94a038a&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Events:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;68abaa6f-8d03-3a53-9590-007115817d5c&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_KeyInfo:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;819d06c3-33c2-3031-aa78-96281aa4270a&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Policies:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;8e67d466-f990-3a39-9fd7-4490cac342dc&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Schemas:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;4668db3d-6fe2-3885-8e47-f30cd0102f0a&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Tasks:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;6e5fa19b-14df-37e3-a4ae-8c537e861a82&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSActionIdentifiersType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;8350ac5e-c157-38b9-9614-a0f93a830e60&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSCreateSubscriptionPayloadType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;12658406-9147-3c9d-a38c-5ad5e30b092b&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSDeleteSubscriptionPayloadType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;35590ac0-062c-39f1-8786-b4ff716e30b1&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSRequestCommonHeaderType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;dd7e1805-885a-350b-aaf9-ed541321ae3c&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseCommonHeaderType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;15161037-9ac8-3223-820f-4e743562a345&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;97dc5f58-25bb-3c20-8d53-fdb70d7ca256&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponsePayloadType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;c28b05a8-7436-3ac0-82ca-6d5fc18c9584&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponsePolicy:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;7986e21b-32f7-302e-9554-31f21b673493&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseStatusEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseStatusType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;d22c78a5-272c-391d-8083-28588280caf9&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;92162397-1a8e-3a3f-a469-d2af7700af4a&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionPayloadEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;bc0c69f0-52ed-38ea-b468-ae4a6fd1730d&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionPayloadTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;7cfcf843-337e-3f41-b755-5043cb0a08fc&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionRequestEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;89cb75e9-f06c-30d3-b4ff-698d45f63869&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionRequestTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;994fa441-04ab-33bb-832d-1cd12ab5d074&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionPayloadEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;0f519117-5fea-3e4b-941f-8f778100465f&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionPayloadTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;15d618d8-1689-3a05-89a5-05efa9388f65&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionRequestEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;acb772fe-d442-39e3-98f9-b1080caf4150&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionRequestTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;c2bd6f0d-6854-317a-9be2-97c08338428c&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionAlbum:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;992b7819-9f69-3aa0-bb0f-6e45ea15ce05&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionOutputEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;73c1c397-4fc3-357f-93b6-a8ad707fbaae&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;568b7345-9de1-36d3-b6a3-9b857e6809a1&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ReceiveEventPolicy:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;6c1c6c45-26e0-3591-94bf-679d20e283f4&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ReceivePMSubscriptionTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;153791fd-ae0a-36a7-88a5-309a7936415d&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SimpleIntType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;8a4957cf-9493-3a76-8c22-a208e23259af&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SimpleStringType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;597643b1-9db1-31ce-85d0-e1c63c43b30b&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SubscriptionStatusType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;184547bb-7d64-3cb2-a273-d7185102c5ce&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SubscriptionType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;6a8cc68e-dfc8-3403-9c6d-071c886b319c&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;UUIDType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;ead590a3-ba2e-3a01-b6e9-9329f5c8fee1&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;testPolicyB:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;policies&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;policyMap&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;policyKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;template&quot;: &quot;Freestyle&quot;,&#xd;
+ &quot;state&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;CDSResponseState&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CDSResponseState&quot;&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;ResponseOutput&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ResponseOutput&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;NULL&quot;&#xd;
}&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;NULL&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
+ &quot;logic&quot;: &quot;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
+ &quot;localName&quot;: &quot;CDSResponsePolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ResponseOutput&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
}&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
},&#xd;
- &quot;policy_type_impl&quot;: {&#xd;
- &quot;apexPolicyModel&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ &quot;firstState&quot;: &quot;CDSResponseState&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;policyKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;template&quot;: &quot;Freestyle&quot;,&#xd;
+ &quot;state&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateOrDeleteState&quot;&#xd;
},&#xd;
- &quot;keyInformation&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;CreateSubscriptionPayload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateSubscriptionPayload&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateSubscription&quot;&#xd;
+ }&#xd;
+ }&#xd;
},&#xd;
- &quot;keyInfoMap&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;b8424cdb-29fb-3566-b77a-f4f847d81cc9&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;9922906c-ccaa-34f7-95e2-bcc36e77821b&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Albums:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;5bf28afd-787c-3138-a3e1-b33ad94a038a&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Events:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;68abaa6f-8d03-3a53-9590-007115817d5c&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_KeyInfo:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;819d06c3-33c2-3031-aa78-96281aa4270a&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Policies:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;8e67d466-f990-3a39-9fd7-4490cac342dc&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Schemas:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;4668db3d-6fe2-3885-8e47-f30cd0102f0a&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Tasks:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;6e5fa19b-14df-37e3-a4ae-8c537e861a82&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSActionIdentifiersType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;8350ac5e-c157-38b9-9614-a0f93a830e60&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSCreateSubscriptionPayloadType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;12658406-9147-3c9d-a38c-5ad5e30b092b&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSDeleteSubscriptionPayloadType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;35590ac0-062c-39f1-8786-b4ff716e30b1&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSRequestCommonHeaderType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;dd7e1805-885a-350b-aaf9-ed541321ae3c&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseCommonHeaderType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;15161037-9ac8-3223-820f-4e743562a345&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;97dc5f58-25bb-3c20-8d53-fdb70d7ca256&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponsePayloadType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;c28b05a8-7436-3ac0-82ca-6d5fc18c9584&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponsePolicy:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;7986e21b-32f7-302e-9554-31f21b673493&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseStatusEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseStatusType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;d22c78a5-272c-391d-8083-28588280caf9&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseTask:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;92162397-1a8e-3a3f-a469-d2af7700af4a&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionPayloadEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;bc0c69f0-52ed-38ea-b468-ae4a6fd1730d&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionPayloadTask:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;7cfcf843-337e-3f41-b755-5043cb0a08fc&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionRequestEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;89cb75e9-f06c-30d3-b4ff-698d45f63869&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionRequestTask:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;994fa441-04ab-33bb-832d-1cd12ab5d074&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionPayloadEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;0f519117-5fea-3e4b-941f-8f778100465f&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionPayloadTask:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;15d618d8-1689-3a05-89a5-05efa9388f65&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionRequestEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;acb772fe-d442-39e3-98f9-b1080caf4150&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionRequestTask:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;c2bd6f0d-6854-317a-9be2-97c08338428c&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionAlbum:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;992b7819-9f69-3aa0-bb0f-6e45ea15ce05&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionOutputEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;73c1c397-4fc3-357f-93b6-a8ad707fbaae&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;568b7345-9de1-36d3-b6a3-9b857e6809a1&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ReceiveEventPolicy:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;6c1c6c45-26e0-3591-94bf-679d20e283f4&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ReceivePMSubscriptionTask:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;153791fd-ae0a-36a7-88a5-309a7936415d&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SimpleIntType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;8a4957cf-9493-3a76-8c22-a208e23259af&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SimpleStringType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;597643b1-9db1-31ce-85d0-e1c63c43b30b&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SubscriptionStatusType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;184547bb-7d64-3cb2-a273-d7185102c5ce&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SubscriptionType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;6a8cc68e-dfc8-3403-9c6d-071c886b319c&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;UUIDType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;ead590a3-ba2e-3a01-b6e9-9329f5c8fee1&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;testPolicyB:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;DeleteSubscriptionPayload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;DeleteSubscriptionPayload&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;DeleteSubscription&quot;&#xd;
+ }&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskSelectionLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar changeType = pmSubscriptionInfo.get(\&quot;changeType\&quot;).toString()\n\nif (\&quot;CREATE\&quot;.equals(changeType)) {\n executor.subject.getTaskKey(\&quot;CreateSubscriptionPayloadTask\&quot;).copyTo(executor.selectedTask);\n}\nelse if (\&quot;DELETE\&quot;.equals(changeType)) {\n executor.subject.getTaskKey(\&quot;DeleteSubscriptionPayloadTask\&quot;).copyTo(executor.selectedTask);\n}\n\ntrue;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
},&#xd;
- &quot;policies&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
&quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateSubscriptionPayload&quot;&#xd;
+ }&#xd;
+ }&#xd;
},&#xd;
- &quot;policyMap&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;policyKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;template&quot;: &quot;Freestyle&quot;,&#xd;
- &quot;state&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;CDSResponseState&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;stateKey&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;CDSResponseState&quot;&#xd;
- },&#xd;
- &quot;trigger&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;stateOutputs&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;ResponseOutput&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
- &quot;localName&quot;: &quot;ResponseOutput&quot;&#xd;
- },&#xd;
- &quot;outgoingEvent&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nextState&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;NULL&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [],&#xd;
- &quot;taskSelectionLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;NULL&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
- &quot;logic&quot;: &quot;&quot;&#xd;
- },&#xd;
- &quot;stateFinalizerLogicMap&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;defaultTask&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;taskReferences&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
- &quot;localName&quot;: &quot;CDSResponsePolicy&quot;&#xd;
- },&#xd;
- &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
- &quot;output&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
- &quot;localName&quot;: &quot;ResponseOutput&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;firstState&quot;: &quot;CDSResponseState&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;policyKey&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;template&quot;: &quot;Freestyle&quot;,&#xd;
- &quot;state&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;stateKey&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;CreateOrDeleteState&quot;&#xd;
- },&#xd;
- &quot;trigger&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;stateOutputs&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;CreateSubscriptionPayload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
- &quot;localName&quot;: &quot;CreateSubscriptionPayload&quot;&#xd;
- },&#xd;
- &quot;outgoingEvent&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nextState&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;CreateSubscription&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;DeleteSubscriptionPayload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
- &quot;localName&quot;: &quot;DeleteSubscriptionPayload&quot;&#xd;
- },&#xd;
- &quot;outgoingEvent&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nextState&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;DeleteSubscription&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskSelectionLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;TaskSelectionLogic&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
- &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar changeType = pmSubscriptionInfo.get(\&quot;changeType\&quot;).toString()\n\nif (\&quot;CREATE\&quot;.equals(changeType)) {\n executor.subject.getTaskKey(\&quot;CreateSubscriptionPayloadTask\&quot;).copyTo(executor.selectedTask);\n}\nelse if (\&quot;DELETE\&quot;.equals(changeType)) {\n executor.subject.getTaskKey(\&quot;DeleteSubscriptionPayloadTask\&quot;).copyTo(executor.selectedTask);\n}\n\ntrue;&quot;&#xd;
- },&#xd;
- &quot;stateFinalizerLogicMap&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;defaultTask&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;taskReferences&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
- },&#xd;
- &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
- &quot;output&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
- &quot;localName&quot;: &quot;CreateSubscriptionPayload&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
- },&#xd;
- &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
- &quot;output&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
- &quot;localName&quot;: &quot;DeleteSubscriptionPayload&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;CreateSubscription&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;stateKey&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;CreateSubscription&quot;&#xd;
- },&#xd;
- &quot;trigger&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;stateOutputs&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
- &quot;localName&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;&#xd;
- },&#xd;
- &quot;outgoingEvent&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nextState&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;NULL&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskSelectionLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;NULL&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
- &quot;logic&quot;: &quot;&quot;&#xd;
- },&#xd;
- &quot;stateFinalizerLogicMap&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;defaultTask&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;taskReferences&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
- },&#xd;
- &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
- &quot;output&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
- &quot;localName&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;DeleteSubscription&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;stateKey&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;DeleteSubscription&quot;&#xd;
- },&#xd;
- &quot;trigger&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;stateOutputs&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
- &quot;localName&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;&#xd;
- },&#xd;
- &quot;outgoingEvent&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nextState&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;NULL&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskSelectionLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;NULL&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
- &quot;logic&quot;: &quot;&quot;&#xd;
- },&#xd;
- &quot;stateFinalizerLogicMap&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;defaultTask&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;taskReferences&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
- },&#xd;
- &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
- &quot;output&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
- &quot;localName&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;stateKey&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceiveSubscriptionState&quot;&#xd;
- },&#xd;
- &quot;trigger&quot;: {&#xd;
- &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;stateOutputs&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;ReceivePMSubscriptionOutput&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceivePMSubscriptionOutput&quot;&#xd;
- },&#xd;
- &quot;outgoingEvent&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nextState&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;CreateOrDeleteState&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskSelectionLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;NULL&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
- &quot;logic&quot;: &quot;&quot;&#xd;
- },&#xd;
- &quot;stateFinalizerLogicMap&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;defaultTask&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;taskReferences&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
- },&#xd;
- &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
- &quot;output&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceivePMSubscriptionOutput&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;firstState&quot;: &quot;ReceiveSubscriptionState&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;DeleteSubscriptionPayload&quot;&#xd;
+ }&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;CreateSubscription&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateSubscription&quot;&#xd;
},&#xd;
- &quot;tasks&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;taskMap&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;inputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;status&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;status&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;outputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;status&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;status&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;taskParameters&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
- &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\n\nvar uuidType = java.util.UUID;\n\nvar albumID = uuidType.fromString(\&quot;d0050623-18e5-46c9-9298-9a567990cd7c\&quot;);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(albumID.toString());\n\nvar responseStatus = executor.subject.getOutFieldSchemaHelper(\&quot;status\&quot;).createNewInstance();\n\nresponseStatus.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\nresponseStatus.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\nresponseStatus.put(\&quot;changeType\&quot;, pmSubscriptionInfo.get(\&quot;changeType\&quot;))\n\nvar response = executor.inFields.get(\&quot;payload\&quot;)\n\nif (\&quot;failure\&quot;.equals(response.get(\&quot;create_DasH_subscription_DasH_response\&quot;).get(\&quot;odl_DasH_response\&quot;).get(\&quot;status\&quot;))) {\n responseStatus.put(\&quot;message\&quot;, \&quot;failed\&quot;)\n} else {\n responseStatus.put(\&quot;message\&quot;, \&quot;success\&quot;)\n}\n\nexecutor.outFields.put(\&quot;status\&quot;, responseStatus)\n\ntrue;&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;inputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;outputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;taskParameters&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
- &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\n\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;create_DasH_subscription_DasH_properties_record\&quot;);\n\npayloadProperties.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\npayloadProperties.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\npayloadProperties.put(\&quot;administrativeState\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;administrativeState\&quot;))\npayloadProperties.put(\&quot;fileBasedGP\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileBasedGP\&quot;).toString())\npayloadProperties.put(\&quot;fileLocation\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileLocation\&quot;))\npayloadProperties.put(\&quot;measurementGroups\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;measurementGroups\&quot;))\n\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;CDSRequestPayloadEntry\&quot;);\npayloadEntry.put(\&quot;create_DasH_subscription_DasH_properties\&quot;, payloadProperties)\n\nvar payload = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewInstance();\npayload.put(\&quot;create_DasH_subscription_DasH_request\&quot;, payloadEntry);\n\nexecutor.outFields.put(\&quot;albumID\&quot;, executor.inFields.get(\&quot;albumID\&quot;))\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Create Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;inputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;outputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;taskParameters&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
- &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar payload = executor.inFields.get(\&quot;payload\&quot;)\nvar actionName = \&quot;create-subscription\&quot;\n\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\&quot;commonHeader\&quot;).createNewInstance();\ncommonHeader.put(\&quot;originatorId\&quot;, \&quot;sdnc\&quot;);\ncommonHeader.put(\&quot;requestId\&quot;, \&quot;123456-1000\&quot;);\ncommonHeader.put(\&quot;subRequestId\&quot;, \&quot;sub-123456-1000\&quot;);\n\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\&quot;actionIdentifiers\&quot;).createNewInstance();\nactionIdentifiers.put(\&quot;actionName\&quot;, actionName);\nactionIdentifiers.put(\&quot;blueprintName\&quot;, \&quot;pm_control\&quot;);\nactionIdentifiers.put(\&quot;blueprintVersion\&quot;, \&quot;1.0.0\&quot;);\nactionIdentifiers.put(\&quot;mode\&quot;, \&quot;sync\&quot;);\n\nexecutor.outFields.put(\&quot;commonHeader\&quot;, commonHeader);\nexecutor.outFields.put(\&quot;actionIdentifiers\&quot;, actionIdentifiers);\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Activate Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;inputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;outputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;taskParameters&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
- &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\n\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;delete_DasH_subscription_DasH_properties_record\&quot;);\n\npayloadProperties.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\npayloadProperties.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\npayloadProperties.put(\&quot;administrativeState\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;administrativeState\&quot;))\npayloadProperties.put(\&quot;fileBasedGP\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileBasedGP\&quot;).toString())\npayloadProperties.put(\&quot;fileLocation\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileLocation\&quot;))\npayloadProperties.put(\&quot;measurementGroups\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;measurementGroups\&quot;))\n\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;CDSRequestPayloadEntry\&quot;);\npayloadEntry.put(\&quot;delete_DasH_subscription_DasH_properties\&quot;, payloadProperties)\n\nvar payload = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewInstance();\npayload.put(\&quot;delete_DasH_subscription_DasH_request\&quot;, payloadEntry);\n\nexecutor.outFields.put(\&quot;albumID\&quot;, executor.inFields.get(\&quot;albumID\&quot;))\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending delete Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;inputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;outputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;taskParameters&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
- &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar payload = executor.inFields.get(\&quot;payload\&quot;)\nvar actionName = \&quot;delete-subscription\&quot;\n\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\&quot;commonHeader\&quot;).createNewInstance();\ncommonHeader.put(\&quot;originatorId\&quot;, \&quot;sdnc\&quot;);\ncommonHeader.put(\&quot;requestId\&quot;, \&quot;123456-1000\&quot;);\ncommonHeader.put(\&quot;subRequestId\&quot;, \&quot;sub-123456-1000\&quot;);\n\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\&quot;actionIdentifiers\&quot;).createNewInstance();\nactionIdentifiers.put(\&quot;actionName\&quot;, actionName);\nactionIdentifiers.put(\&quot;blueprintName\&quot;, \&quot;pm_control\&quot;);\nactionIdentifiers.put(\&quot;blueprintVersion\&quot;, \&quot;1.0.0\&quot;);\nactionIdentifiers.put(\&quot;mode\&quot;, \&quot;sync\&quot;);\n\nexecutor.outFields.put(\&quot;commonHeader\&quot;, commonHeader);\nexecutor.outFields.put(\&quot;actionIdentifiers\&quot;, actionIdentifiers);\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Deactivate Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;inputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;changeType&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;changeType&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;nfName&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;nfName&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;policyName&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;policyName&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;subscription&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;subscription&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;outputFields&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;taskParameters&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskLogic&quot;: {&#xd;
- &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
- &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
- &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\nvar uuidType = java.util.UUID;\n\n\n//albumID will be used to fetch info from our album later\nvar albumID = uuidType.fromString(\&quot;d0050623-18e5-46c9-9298-9a567990cd7c\&quot;);\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).getSchemaHelper().createNewInstance();\nvar returnValue = true;;\n\nif(executor.inFields.get(\&quot;policyName\&quot;) != null) {\n var changeType = executor.inFields.get(\&quot;changeType\&quot;)\n var nfName = executor.inFields.get(\&quot;nfName\&quot;)\n var policyName = executor.inFields.get(\&quot;policyName\&quot;)\n var closedLoopControlName = executor.inFields.get(\&quot;closedLoopControlName\&quot;)\n var subscription = executor.inFields.get(\&quot;subscription\&quot;)\n\n pmSubscriptionInfo.put(\&quot;nfName\&quot;, executor.inFields.get(\&quot;nfName\&quot;));\n pmSubscriptionInfo.put(\&quot;changeType\&quot;, executor.inFields.get(\&quot;changeType\&quot;))\n pmSubscriptionInfo.put(\&quot;policyName\&quot;, executor.inFields.get(\&quot;policyName\&quot;))\n pmSubscriptionInfo.put(\&quot;closedLoopControlName\&quot;, executor.inFields.get(\&quot;closedLoopControlName\&quot;))\n pmSubscriptionInfo.put(\&quot;subscription\&quot;, subscription)\n\n executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).put(albumID.toString(), pmSubscriptionInfo);\n\n executor.outFields.put(\&quot;albumID\&quot;, albumID)\n} else {\n executor.message = \&quot;Received invalid event\&quot;\n returnValue = false;\n}\nreturnValue;&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;NULL&quot;&#xd;
+ }&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;NULL&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
+ &quot;logic&quot;: &quot;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
},&#xd;
- &quot;events&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
&quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;eventMap&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
- &quot;source&quot;: &quot;CDS&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;status&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;status&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;DCAE&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;status&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;status&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;payload&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;albumID&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
- &quot;source&quot;: &quot;DCAE&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;changeType&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;changeType&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;nfName&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;nfName&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;policyName&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;policyName&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;subscription&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: &quot;subscription&quot;,&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;&#xd;
+ }&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;DeleteSubscription&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;DeleteSubscription&quot;&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
},&#xd;
- &quot;albums&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;NULL&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;NULL&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
+ &quot;logic&quot;: &quot;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
&quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;albums&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;scope&quot;: &quot;policy&quot;,&#xd;
- &quot;isWritable&quot;: true,&#xd;
- &quot;itemSchema&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;&#xd;
+ }&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveSubscriptionState&quot;&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
},&#xd;
- &quot;schemas&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;ReceivePMSubscriptionOutput&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceivePMSubscriptionOutput&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateOrDeleteState&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;NULL&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
+ &quot;logic&quot;: &quot;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
&quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemas&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSActionIdentifiers_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;actionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;blueprintName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;blueprintVersion\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;mode\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;map\&quot;,\n \&quot;values\&quot;: {\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestPayloadEntry\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_properties\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_properties_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroups_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementTypes_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;map\&quot;,\n \&quot;values\&quot;: {\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestPayloadEntry\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;delete_DasH_subscription_DasH_properties\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;delete_DasH_subscription_DasH_properties_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroups_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementTypes_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestCommonHeader_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;originatorId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;requestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subRequestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSResponseCommonHeader_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;originatorId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;requestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subRequestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;timestamp\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;CDSResponsePayloadEntry\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;namespace\&quot;: \&quot;com.acme.avro\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_response\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_response\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;odl_DasH_response\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;odl_DasH_response\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;status\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n ]\n }\n }\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSResponseStatus_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;code\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;eventType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;timestamp\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;message\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;PMSubscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.pmcontrol\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;changeType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;closedLoopControlName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;policyName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Groups_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Group_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Types_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Managed_Object_Dns_Basic_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;java.lang.Integer&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;java.lang.String&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;ActivateSubscriptionStatus_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;changeType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;message\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Groups_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Group_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Types_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Managed_Object_Dns_Basic_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;java.util.UUID&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceivePMSubscriptionOutput&quot;&#xd;
+ }&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
}&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;firstState&quot;: &quot;ReceiveSubscriptionState&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;tasks&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskMap&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\n\nvar uuidType = java.util.UUID;\n\nvar albumID = uuidType.fromString(\&quot;d0050623-18e5-46c9-9298-9a567990cd7c\&quot;);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(albumID.toString());\n\nvar responseStatus = executor.subject.getOutFieldSchemaHelper(\&quot;status\&quot;).createNewInstance();\n\nresponseStatus.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\nresponseStatus.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\nresponseStatus.put(\&quot;changeType\&quot;, pmSubscriptionInfo.get(\&quot;changeType\&quot;))\n\nvar response = executor.inFields.get(\&quot;payload\&quot;)\n\nif (\&quot;failure\&quot;.equals(response.get(\&quot;create_DasH_subscription_DasH_response\&quot;).get(\&quot;odl_DasH_response\&quot;).get(\&quot;status\&quot;))) {\n responseStatus.put(\&quot;message\&quot;, \&quot;failed\&quot;)\n} else {\n responseStatus.put(\&quot;message\&quot;, \&quot;success\&quot;)\n}\n\nexecutor.outFields.put(\&quot;status\&quot;, responseStatus)\n\ntrue;&quot;&#xd;
}&#xd;
+ }&#xd;
},&#xd;
- &quot;eventOutputParameters&quot;: {&#xd;
- &quot;logOutputter&quot;: {&#xd;
- &quot;carrierTechnologyParameters&quot;: {&#xd;
- &quot;carrierTechnology&quot;: &quot;FILE&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;fileName&quot;: &quot;outputevents.log&quot;&#xd;
- }&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventProtocolParameters&quot;: {&#xd;
- &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
},&#xd;
- &quot;CDSRequestProducer&quot;: {&#xd;
- &quot;carrierTechnologyParameters&quot;: {&#xd;
- &quot;carrierTechnology&quot;: &quot;GRPC&quot;,&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;host&quot;: &quot;10.2.0.97&quot;,&#xd;
- &quot;port&quot;: 30386,&#xd;
- &quot;username&quot;: &quot;ccsdkapps&quot;,&#xd;
- &quot;password&quot;: &quot;ccsdkapps&quot;,&#xd;
- &quot;timeout&quot;: 60&#xd;
- }&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\n\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;create_DasH_subscription_DasH_properties_record\&quot;);\n\npayloadProperties.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\npayloadProperties.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\npayloadProperties.put(\&quot;administrativeState\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;administrativeState\&quot;))\npayloadProperties.put(\&quot;fileBasedGP\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileBasedGP\&quot;).toString())\npayloadProperties.put(\&quot;fileLocation\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileLocation\&quot;))\npayloadProperties.put(\&quot;measurementGroups\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;measurementGroups\&quot;))\n\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;CDSRequestPayloadEntry\&quot;);\npayloadEntry.put(\&quot;create_DasH_subscription_DasH_properties\&quot;, payloadProperties)\n\nvar payload = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewInstance();\npayload.put(\&quot;create_DasH_subscription_DasH_request\&quot;, payloadEntry);\n\nexecutor.outFields.put(\&quot;albumID\&quot;, executor.inFields.get(\&quot;albumID\&quot;))\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Create Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventProtocolParameters&quot;: {&#xd;
- &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventNameFilter&quot;: &quot;(Create|Delete)SubscriptionRequestEvent&quot;,&#xd;
- &quot;requestorMode&quot;: true,&#xd;
- &quot;requestorPeer&quot;: &quot;CDSRequestConsumer&quot;,&#xd;
- &quot;requestorTimeout&quot;: 500&#xd;
- },&#xd;
- &quot;CDSReplyProducer&quot;: {&#xd;
- &quot;carrierTechnologyParameters&quot;: {&#xd;
- &quot;carrierTechnology&quot;: &quot;RESTCLIENT&quot;,&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;url&quot;: &quot;https://message-router:3905/events/POLICY-PDP-PAP&quot;&#xd;
- }&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventProtocolParameters&quot;: {&#xd;
- &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar payload = executor.inFields.get(\&quot;payload\&quot;)\nvar actionName = \&quot;create-subscription\&quot;\n\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\&quot;commonHeader\&quot;).createNewInstance();\ncommonHeader.put(\&quot;originatorId\&quot;, \&quot;sdnc\&quot;);\ncommonHeader.put(\&quot;requestId\&quot;, \&quot;123456-1000\&quot;);\ncommonHeader.put(\&quot;subRequestId\&quot;, \&quot;sub-123456-1000\&quot;);\n\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\&quot;actionIdentifiers\&quot;).createNewInstance();\nactionIdentifiers.put(\&quot;actionName\&quot;, actionName);\nactionIdentifiers.put(\&quot;blueprintName\&quot;, \&quot;pm_control\&quot;);\nactionIdentifiers.put(\&quot;blueprintVersion\&quot;, \&quot;1.0.0\&quot;);\nactionIdentifiers.put(\&quot;mode\&quot;, \&quot;sync\&quot;);\n\nexecutor.outFields.put(\&quot;commonHeader\&quot;, commonHeader);\nexecutor.outFields.put(\&quot;actionIdentifiers\&quot;, actionIdentifiers);\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Activate Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventNameFilter&quot;: &quot;CDSResponseStatusEvent&quot;&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\n\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;delete_DasH_subscription_DasH_properties_record\&quot;);\n\npayloadProperties.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\npayloadProperties.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\npayloadProperties.put(\&quot;administrativeState\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;administrativeState\&quot;))\npayloadProperties.put(\&quot;fileBasedGP\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileBasedGP\&quot;).toString())\npayloadProperties.put(\&quot;fileLocation\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileLocation\&quot;))\npayloadProperties.put(\&quot;measurementGroups\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;measurementGroups\&quot;))\n\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;CDSRequestPayloadEntry\&quot;);\npayloadEntry.put(\&quot;delete_DasH_subscription_DasH_properties\&quot;, payloadProperties)\n\nvar payload = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewInstance();\npayload.put(\&quot;delete_DasH_subscription_DasH_request\&quot;, payloadEntry);\n\nexecutor.outFields.put(\&quot;albumID\&quot;, executor.inFields.get(\&quot;albumID\&quot;))\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending delete Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
}&#xd;
+ }&#xd;
},&#xd;
- &quot;eventInputParameters&quot;: {&#xd;
- &quot;DCAEConsumer&quot;: {&#xd;
- &quot;carrierTechnologyParameters&quot;: {&#xd;
- &quot;carrierTechnology&quot;: &quot;RESTCLIENT&quot;,&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;url&quot;: &quot;https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/c1?timeout=30000&quot;&#xd;
- }&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventProtocolParameters&quot;: {&#xd;
- &quot;eventProtocol&quot;: &quot;JSON&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;nameAlias&quot;: &quot;testPolicyB&quot;&#xd;
- }&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventName&quot;: &quot;testPolicyB&quot;,&#xd;
- &quot;eventNameFilter&quot;: &quot;testPolicyB&quot;&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
},&#xd;
- &quot;CDSRequestConsumer&quot;: {&#xd;
- &quot;carrierTechnologyParameters&quot;: {&#xd;
- &quot;carrierTechnology&quot;: &quot;GRPC&quot;,&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters&quot;&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar payload = executor.inFields.get(\&quot;payload\&quot;)\nvar actionName = \&quot;delete-subscription\&quot;\n\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\&quot;commonHeader\&quot;).createNewInstance();\ncommonHeader.put(\&quot;originatorId\&quot;, \&quot;sdnc\&quot;);\ncommonHeader.put(\&quot;requestId\&quot;, \&quot;123456-1000\&quot;);\ncommonHeader.put(\&quot;subRequestId\&quot;, \&quot;sub-123456-1000\&quot;);\n\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\&quot;actionIdentifiers\&quot;).createNewInstance();\nactionIdentifiers.put(\&quot;actionName\&quot;, actionName);\nactionIdentifiers.put(\&quot;blueprintName\&quot;, \&quot;pm_control\&quot;);\nactionIdentifiers.put(\&quot;blueprintVersion\&quot;, \&quot;1.0.0\&quot;);\nactionIdentifiers.put(\&quot;mode\&quot;, \&quot;sync\&quot;);\n\nexecutor.outFields.put(\&quot;commonHeader\&quot;, commonHeader);\nexecutor.outFields.put(\&quot;actionIdentifiers\&quot;, actionIdentifiers);\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Deactivate Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;changeType&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;changeType&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventProtocolParameters&quot;: {&#xd;
- &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;nfName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;nfName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
},&#xd;
- &quot;eventName&quot;: &quot;CDSResponseEvent&quot;,&#xd;
- &quot;eventNameFilter&quot;: &quot;CDSResponseEvent&quot;,&#xd;
- &quot;requestorMode&quot;: true,&#xd;
- &quot;requestorPeer&quot;: &quot;CDSRequestProducer&quot;,&#xd;
- &quot;requestorTimeout&quot;: 500&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;policyName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;policyName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;subscription&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;subscription&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\nvar uuidType = java.util.UUID;\n\n\n//albumID will be used to fetch info from our album later\nvar albumID = uuidType.fromString(\&quot;d0050623-18e5-46c9-9298-9a567990cd7c\&quot;);\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).getSchemaHelper().createNewInstance();\nvar returnValue = true;;\n\nif(executor.inFields.get(\&quot;policyName\&quot;) != null) {\n var changeType = executor.inFields.get(\&quot;changeType\&quot;)\n var nfName = executor.inFields.get(\&quot;nfName\&quot;)\n var policyName = executor.inFields.get(\&quot;policyName\&quot;)\n var closedLoopControlName = executor.inFields.get(\&quot;closedLoopControlName\&quot;)\n var subscription = executor.inFields.get(\&quot;subscription\&quot;)\n\n pmSubscriptionInfo.put(\&quot;nfName\&quot;, executor.inFields.get(\&quot;nfName\&quot;));\n pmSubscriptionInfo.put(\&quot;changeType\&quot;, executor.inFields.get(\&quot;changeType\&quot;))\n pmSubscriptionInfo.put(\&quot;policyName\&quot;, executor.inFields.get(\&quot;policyName\&quot;))\n pmSubscriptionInfo.put(\&quot;closedLoopControlName\&quot;, executor.inFields.get(\&quot;closedLoopControlName\&quot;))\n pmSubscriptionInfo.put(\&quot;subscription\&quot;, subscription)\n\n executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).put(albumID.toString(), pmSubscriptionInfo);\n\n executor.outFields.put(\&quot;albumID\&quot;, albumID)\n} else {\n executor.message = \&quot;Received invalid event\&quot;\n returnValue = false;\n}\nreturnValue;&quot;&#xd;
}&#xd;
+ }&#xd;
}&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;events&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
},&#xd;
- &quot;name&quot;: &quot;operational.apex.stabilityTestDefaultDomain&quot;,&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;policy-id&quot;: &quot;operational.apex.stabilityTestDefaultDomain&quot;,&#xd;
- &quot;policy-version&quot;: &quot;1.0.0&quot;&#xd;
+ &quot;eventMap&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;CDS&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;DCAE&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;DCAE&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;changeType&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;changeType&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;nfName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;nfName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;policyName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;policyName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;subscription&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;subscription&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
}&#xd;
+ },&#xd;
+ &quot;albums&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;albums&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;scope&quot;: &quot;policy&quot;,&#xd;
+ &quot;isWritable&quot;: true,&#xd;
+ &quot;itemSchema&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;schemas&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemas&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSActionIdentifiers_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;actionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;blueprintName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;blueprintVersion\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;mode\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;map\&quot;,\n \&quot;values\&quot;: {\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestPayloadEntry\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_properties\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_properties_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroups_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementTypes_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;map\&quot;,\n \&quot;values\&quot;: {\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestPayloadEntry\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;delete_DasH_subscription_DasH_properties\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;delete_DasH_subscription_DasH_properties_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroups_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementTypes_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestCommonHeader_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;originatorId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;requestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subRequestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSResponseCommonHeader_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;originatorId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;requestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subRequestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;timestamp\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;CDSResponsePayloadEntry\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;namespace\&quot;: \&quot;com.acme.avro\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_response\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_response\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;odl_DasH_response\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;odl_DasH_response\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;status\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n ]\n }\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSResponseStatus_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;code\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;eventType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;timestamp\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;message\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;PMSubscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.pmcontrol\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;changeType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;closedLoopControlName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;policyName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Groups_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Group_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Types_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Managed_Object_Dns_Basic_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;java.lang.Integer&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;java.lang.String&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;ActivateSubscriptionStatus_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;changeType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;message\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Groups_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Group_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Types_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Managed_Object_Dns_Basic_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;java.util.UUID&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventOutputParameters&quot;: {&#xd;
+ &quot;logOutputter&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;FILE&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;fileName&quot;: &quot;outputevents.log&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;CDSRequestProducer&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;GRPC&quot;,&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;host&quot;: &quot;10.2.0.122&quot;,&#xd;
+ &quot;port&quot;: 54322,&#xd;
+ &quot;username&quot;: &quot;ccsdkapps&quot;,&#xd;
+ &quot;password&quot;: &quot;ccsdkapps&quot;,&#xd;
+ &quot;timeout&quot;: 60&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ },&#xd;
+ &quot;eventNameFilter&quot;: &quot;(Create|Delete)SubscriptionRequestEvent&quot;,&#xd;
+ &quot;requestorMode&quot;: true,&#xd;
+ &quot;requestorPeer&quot;: &quot;CDSRequestConsumer&quot;,&#xd;
+ &quot;requestorTimeout&quot;: 500&#xd;
+ },&#xd;
+ &quot;CDSReplyProducer&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;RESTCLIENT&quot;,&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;url&quot;: &quot;http://message-router:3904/events/POLICY-CL-MGT&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ },&#xd;
+ &quot;eventNameFilter&quot;: &quot;CDSResponseStatusEvent&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventInputParameters&quot;: {&#xd;
+ &quot;DCAEConsumer&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;RESTCLIENT&quot;,&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;url&quot;: &quot;http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT/cg1/c1?timeout=30000&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;nameAlias&quot;: &quot;testPolicyB&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventName&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;eventNameFilter&quot;: &quot;testPolicyB&quot;&#xd;
+ },&#xd;
+ &quot;CDSRequestConsumer&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;GRPC&quot;,&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters&quot;&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ },&#xd;
+ &quot;eventName&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;eventNameFilter&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;requestorMode&quot;: true,&#xd;
+ &quot;requestorPeer&quot;: &quot;CDSRequestProducer&quot;,&#xd;
+ &quot;requestorTimeout&quot;: 500&#xd;
+ }&#xd;
}&#xd;
- ]&#xd;
- },&#xd;
- &quot;name&quot;: &quot;ToscaServiceTemplateSimple&quot;,&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;operational.apex.stabilityTestDefaultDomain&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;policy-id&quot;: &quot;operational.apex.stabilityTestDefaultDomain&quot;,&#xd;
+ &quot;policy-version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;ToscaServiceTemplateSimple&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
@@ -2589,7 +2580,7 @@ if (prev.getResponseCode() == &apos;200&apos;) {
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Test Controller" enabled="true"/>
<hashTree>
- <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="true">
+ <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="false">
<stringProp name="groupSize">${threads}</stringProp>
<stringProp name="timeoutInMs">${threadsTimeOutInMs}</stringProp>
</SyncTimer>
@@ -2660,7 +2651,7 @@ if (prev.getResponseCode() == &apos;200&apos;) {
</elementProp>
<stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
<stringProp name="HTTPSampler.port">${DMAAP_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/events/unauthenticated.DCAE_CL_OUTPUT</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
@@ -2697,9 +2688,9 @@ if (prev.getResponseCode() == &apos;200&apos;) {
</elementProp>
<stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
<stringProp name="HTTPSampler.port">${DMAAP_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/events/POLICY-PDP-PAP/cg1/c1?timeout=30000</stringProp>
+ <stringProp name="HTTPSampler.path">/events/POLICY-CL-MGT/cg${__threadNum}/c1?timeout=30000</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -2723,7 +2714,7 @@ if (prev.getResponseCode() == &apos;200&apos;) {
<stringProp name="TestPlan.comments">Assert response code coming back from apex-pdp</stringProp>
</ResponseAssertion>
<hashTree/>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Response Message" enabled="false">
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Response Message" enabled="true">
<collectionProp name="Asserion.test_strings">
<stringProp name="1608759622">org.onap.policy.apex.onap.pmcontrol</stringProp>
<stringProp name="1996002556">CREATE</stringProp>
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx b/testsuites/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx
new file mode 100644
index 000000000..5d6533e29
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/apexPdpPerformanceTestPlan.jmx
@@ -0,0 +1,2928 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
+ <hashTree>
+ <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="APEX PDP STABILITY TEST PLAN" enabled="true">
+ <stringProp name="TestPlan.comments"></stringProp>
+ <boolProp name="TestPlan.functional_mode">false</boolProp>
+ <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
+ <boolProp name="TestPlan.serialize_threadgroups">true</boolProp>
+ <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="TestPlan.user_define_classpath"></stringProp>
+ </TestPlan>
+ <hashTree>
+ <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+ <collectionProp name="HeaderManager.headers">
+ <elementProp name="" elementType="Header">
+ <stringProp name="Header.name">Content-Type</stringProp>
+ <stringProp name="Header.value">application/json</stringProp>
+ </elementProp>
+ <elementProp name="" elementType="Header">
+ <stringProp name="Header.name">Accept</stringProp>
+ <stringProp name="Header.value">application/json</stringProp>
+ </elementProp>
+ </collectionProp>
+ </HeaderManager>
+ <hashTree/>
+ <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="false">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain"></stringProp>
+ <stringProp name="HTTPSampler.port">23324</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path"></stringProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </ConfigTestElement>
+ <hashTree/>
+ <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="threads" elementType="Argument">
+ <stringProp name="Argument.name">threads</stringProp>
+ <stringProp name="Argument.value">${__P(threads,20)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="threadsTimeOutInMs" elementType="Argument">
+ <stringProp name="Argument.name">threadsTimeOutInMs</stringProp>
+ <stringProp name="Argument.value">${__P(threadsTimeOutInMs,5000)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="wait" elementType="Argument">
+ <stringProp name="Argument.name">wait</stringProp>
+ <stringProp name="Argument.value">${__P(wait,10000)}</stringProp>
+ <stringProp name="Argument.desc">Wait time between requests to apex-pdp</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="PAP_PORT" elementType="Argument">
+ <stringProp name="Argument.name">PAP_PORT</stringProp>
+ <stringProp name="Argument.value">${__P(PAP_PORT,30211)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="API_PORT" elementType="Argument">
+ <stringProp name="Argument.name">API_PORT</stringProp>
+ <stringProp name="Argument.value">${__P(API_PORT,30785)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="APEX_PORT" elementType="Argument">
+ <stringProp name="Argument.name">APEX_PORT</stringProp>
+ <stringProp name="Argument.value">${__P(APEX_PORT,30687)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="DMAAP_PORT" elementType="Argument">
+ <stringProp name="Argument.name">DMAAP_PORT</stringProp>
+ <stringProp name="Argument.value">${__P(DMAAP_PORT,31345)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="HOSTNAME" elementType="Argument">
+ <stringProp name="Argument.name">HOSTNAME</stringProp>
+ <stringProp name="Argument.value">${__P(HOSTNAME,10.2.0.120)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="LOG_PATH" elementType="Argument">
+ <stringProp name="Argument.name">LOG_PATH</stringProp>
+ <stringProp name="Argument.value">${__P(LOG_PATH,/home/arkadiusza/apex_stability)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </Arguments>
+ <hashTree/>
+ <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
+ <collectionProp name="AuthManager.auth_list">
+ <elementProp name="" elementType="Authorization">
+ <stringProp name="Authorization.url">https://${HOSTNAME}:${API_PORT}</stringProp>
+ <stringProp name="Authorization.username">healthcheck</stringProp>
+ <stringProp name="Authorization.password">zb!XztG34</stringProp>
+ <stringProp name="Authorization.domain"></stringProp>
+ <stringProp name="Authorization.realm"></stringProp>
+ </elementProp>
+ <elementProp name="" elementType="Authorization">
+ <stringProp name="Authorization.url">https://${HOSTNAME}:${PAP_PORT}</stringProp>
+ <stringProp name="Authorization.username">healthcheck</stringProp>
+ <stringProp name="Authorization.password">zb!XztG34</stringProp>
+ <stringProp name="Authorization.domain"></stringProp>
+ <stringProp name="Authorization.realm"></stringProp>
+ </elementProp>
+ <elementProp name="" elementType="Authorization">
+ <stringProp name="Authorization.url">https://${HOSTNAME}:${APEX_PORT}</stringProp>
+ <stringProp name="Authorization.username">healthcheck</stringProp>
+ <stringProp name="Authorization.password">zb!XztG34</stringProp>
+ <stringProp name="Authorization.domain"></stringProp>
+ <stringProp name="Authorization.realm"></stringProp>
+ </elementProp>
+ </collectionProp>
+ <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp>
+ </AuthManager>
+ <hashTree/>
+ <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <stringProp name="LoopController.loops">1</stringProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">1</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">false</boolProp>
+ <stringProp name="ThreadGroup.duration"></stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </SetupThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create Policy" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;tosca_definitions_version&quot;: &quot;tosca_simple_yaml_1_1_0&quot;,&#xd;
+ &quot;topology_template&quot;: {&#xd;
+ &quot;policies&quot;: [&#xd;
+ {&#xd;
+ &quot;operational.apex.stabilityTestDefaultDomain&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.policies.native.Apex&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;engineServiceParameters&quot;: {&#xd;
+ &quot;name&quot;: &quot;MyApexEngine&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;id&quot;: 45,&#xd;
+ &quot;instanceCount&quot;: 4,&#xd;
+ &quot;deploymentPort&quot;: 12561,&#xd;
+ &quot;engineParameters&quot;: {&#xd;
+ &quot;executorParameters&quot;: {&#xd;
+ &quot;JAVASCRIPT&quot;: {&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;contextParameters&quot;: {&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.context.parameters.ContextParameters&quot;,&#xd;
+ &quot;schemaParameters&quot;: {&#xd;
+ &quot;Avro&quot;: {&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;policy_type_impl&quot;: {&#xd;
+ &quot;apexPolicyModel&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;keyInformation&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;keyInfoMap&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;b8424cdb-29fb-3566-b77a-f4f847d81cc9&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;9922906c-ccaa-34f7-95e2-bcc36e77821b&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Albums:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;5bf28afd-787c-3138-a3e1-b33ad94a038a&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Events:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_KeyInfo&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;68abaa6f-8d03-3a53-9590-007115817d5c&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_KeyInfo:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;819d06c3-33c2-3031-aa78-96281aa4270a&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Policies:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;8e67d466-f990-3a39-9fd7-4490cac342dc&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Schemas:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;4668db3d-6fe2-3885-8e47-f30cd0102f0a&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXgRPCPolicy_Tasks:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;6e5fa19b-14df-37e3-a4ae-8c537e861a82&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSActionIdentifiersType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;8350ac5e-c157-38b9-9614-a0f93a830e60&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSCreateSubscriptionPayloadType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;12658406-9147-3c9d-a38c-5ad5e30b092b&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSDeleteSubscriptionPayloadType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;35590ac0-062c-39f1-8786-b4ff716e30b1&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSRequestCommonHeaderType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;dd7e1805-885a-350b-aaf9-ed541321ae3c&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseCommonHeaderType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;15161037-9ac8-3223-820f-4e743562a345&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;97dc5f58-25bb-3c20-8d53-fdb70d7ca256&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponsePayloadType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;c28b05a8-7436-3ac0-82ca-6d5fc18c9584&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponsePolicy:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;7986e21b-32f7-302e-9554-31f21b673493&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseStatusEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseStatusType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;d22c78a5-272c-391d-8083-28588280caf9&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CDSResponseTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;92162397-1a8e-3a3f-a469-d2af7700af4a&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionPayloadEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;bc0c69f0-52ed-38ea-b468-ae4a6fd1730d&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionPayloadTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;7cfcf843-337e-3f41-b755-5043cb0a08fc&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionRequestEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;89cb75e9-f06c-30d3-b4ff-698d45f63869&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;CreateSubscriptionRequestTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;994fa441-04ab-33bb-832d-1cd12ab5d074&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionPayloadEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;0f519117-5fea-3e4b-941f-8f778100465f&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionPayloadTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;15d618d8-1689-3a05-89a5-05efa9388f65&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionRequestEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;acb772fe-d442-39e3-98f9-b1080caf4150&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DeleteSubscriptionRequestTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;c2bd6f0d-6854-317a-9be2-97c08338428c&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionAlbum:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;992b7819-9f69-3aa0-bb0f-6e45ea15ce05&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionOutputEvent:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;73c1c397-4fc3-357f-93b6-a8ad707fbaae&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;PMSubscriptionType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;568b7345-9de1-36d3-b6a3-9b857e6809a1&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ReceiveEventPolicy:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;6c1c6c45-26e0-3591-94bf-679d20e283f4&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ReceivePMSubscriptionTask:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;153791fd-ae0a-36a7-88a5-309a7936415d&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SimpleIntType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;8a4957cf-9493-3a76-8c22-a208e23259af&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SimpleStringType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;597643b1-9db1-31ce-85d0-e1c63c43b30b&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SubscriptionStatusType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;184547bb-7d64-3cb2-a273-d7185102c5ce&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SubscriptionType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;6a8cc68e-dfc8-3403-9c6d-071c886b319c&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;UUIDType:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;UUID&quot;: &quot;ead590a3-ba2e-3a01-b6e9-9329f5c8fee1&quot;,&#xd;
+ &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;testPolicyB:0.0.1\&quot;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;policies&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Policies&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;policyMap&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;policyKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;template&quot;: &quot;Freestyle&quot;,&#xd;
+ &quot;state&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;CDSResponseState&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CDSResponseState&quot;&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;ResponseOutput&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ResponseOutput&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;NULL&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;NULL&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
+ &quot;logic&quot;: &quot;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
+ &quot;localName&quot;: &quot;CDSResponsePolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;CDSResponsePolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CDSResponseState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ResponseOutput&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;firstState&quot;: &quot;CDSResponseState&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;policyKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;template&quot;: &quot;Freestyle&quot;,&#xd;
+ &quot;state&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateOrDeleteState&quot;&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;CreateSubscriptionPayload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateSubscriptionPayload&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateSubscription&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;DeleteSubscriptionPayload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;DeleteSubscriptionPayload&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;DeleteSubscription&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskSelectionLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar changeType = pmSubscriptionInfo.get(\&quot;changeType\&quot;).toString()\n\nif (\&quot;CREATE\&quot;.equals(changeType)) {\n executor.subject.getTaskKey(\&quot;CreateSubscriptionPayloadTask\&quot;).copyTo(executor.selectedTask);\n}\nelse if (\&quot;DELETE\&quot;.equals(changeType)) {\n executor.subject.getTaskKey(\&quot;DeleteSubscriptionPayloadTask\&quot;).copyTo(executor.selectedTask);\n}\n\ntrue;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateSubscriptionPayload&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateOrDeleteState&quot;,&#xd;
+ &quot;localName&quot;: &quot;DeleteSubscriptionPayload&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;CreateSubscription&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateSubscription&quot;&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;NULL&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;NULL&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
+ &quot;logic&quot;: &quot;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;CreateSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;IssueCreateSubscriptionRequestOutput&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;DeleteSubscription&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;DeleteSubscription&quot;&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;NULL&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;NULL&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
+ &quot;logic&quot;: &quot;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;DeleteSubscription&quot;,&#xd;
+ &quot;localName&quot;: &quot;IssueDeleteSubscriptionRequestOutput&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;stateKey&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveSubscriptionState&quot;&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;stateOutputs&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;ReceivePMSubscriptionOutput&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceivePMSubscriptionOutput&quot;&#xd;
+ },&#xd;
+ &quot;outgoingEvent&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nextState&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
+ &quot;localName&quot;: &quot;CreateOrDeleteState&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskSelectionLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;NULL&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
+ &quot;logic&quot;: &quot;&quot;&#xd;
+ },&#xd;
+ &quot;stateFinalizerLogicMap&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;defaultTask&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskReferences&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
+ },&#xd;
+ &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
+ &quot;output&quot;: {&#xd;
+ &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
+ &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
+ &quot;parentLocalName&quot;: &quot;ReceiveSubscriptionState&quot;,&#xd;
+ &quot;localName&quot;: &quot;ReceivePMSubscriptionOutput&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;firstState&quot;: &quot;ReceiveSubscriptionState&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;tasks&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Tasks&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;taskMap&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\n\nvar uuidType = java.util.UUID;\n\nvar albumID = uuidType.fromString(\&quot;d0050623-18e5-46c9-9298-9a567990cd7c\&quot;);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(albumID.toString());\n\nvar responseStatus = executor.subject.getOutFieldSchemaHelper(\&quot;status\&quot;).createNewInstance();\n\nresponseStatus.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\nresponseStatus.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\nresponseStatus.put(\&quot;changeType\&quot;, pmSubscriptionInfo.get(\&quot;changeType\&quot;))\n\nvar response = executor.inFields.get(\&quot;payload\&quot;)\n\nif (\&quot;failure\&quot;.equals(response.get(\&quot;create_DasH_subscription_DasH_response\&quot;).get(\&quot;odl_DasH_response\&quot;).get(\&quot;status\&quot;))) {\n responseStatus.put(\&quot;message\&quot;, \&quot;failed\&quot;)\n} else {\n responseStatus.put(\&quot;message\&quot;, \&quot;success\&quot;)\n}\n\nexecutor.outFields.put(\&quot;status\&quot;, responseStatus)\n\ntrue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\n\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;create_DasH_subscription_DasH_properties_record\&quot;);\n\npayloadProperties.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\npayloadProperties.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\npayloadProperties.put(\&quot;administrativeState\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;administrativeState\&quot;))\npayloadProperties.put(\&quot;fileBasedGP\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileBasedGP\&quot;).toString())\npayloadProperties.put(\&quot;fileLocation\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileLocation\&quot;))\npayloadProperties.put(\&quot;measurementGroups\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;measurementGroups\&quot;))\n\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;CDSRequestPayloadEntry\&quot;);\npayloadEntry.put(\&quot;create_DasH_subscription_DasH_properties\&quot;, payloadProperties)\n\nvar payload = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewInstance();\npayload.put(\&quot;create_DasH_subscription_DasH_request\&quot;, payloadEntry);\n\nexecutor.outFields.put(\&quot;albumID\&quot;, executor.inFields.get(\&quot;albumID\&quot;))\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Create Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar payload = executor.inFields.get(\&quot;payload\&quot;)\nvar actionName = \&quot;create-subscription\&quot;\n\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\&quot;commonHeader\&quot;).createNewInstance();\ncommonHeader.put(\&quot;originatorId\&quot;, \&quot;sdnc\&quot;);\ncommonHeader.put(\&quot;requestId\&quot;, \&quot;123456-1000\&quot;);\ncommonHeader.put(\&quot;subRequestId\&quot;, \&quot;sub-123456-1000\&quot;);\n\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\&quot;actionIdentifiers\&quot;).createNewInstance();\nactionIdentifiers.put(\&quot;actionName\&quot;, actionName);\nactionIdentifiers.put(\&quot;blueprintName\&quot;, \&quot;pm_control\&quot;);\nactionIdentifiers.put(\&quot;blueprintVersion\&quot;, \&quot;1.0.0\&quot;);\nactionIdentifiers.put(\&quot;mode\&quot;, \&quot;sync\&quot;);\n\nexecutor.outFields.put(\&quot;commonHeader\&quot;, commonHeader);\nexecutor.outFields.put(\&quot;actionIdentifiers\&quot;, actionIdentifiers);\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Activate Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\n\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;delete_DasH_subscription_DasH_properties_record\&quot;);\n\npayloadProperties.put(\&quot;nfName\&quot;, pmSubscriptionInfo.get(\&quot;nfName\&quot;))\npayloadProperties.put(\&quot;subscriptionName\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;subscriptionName\&quot;))\npayloadProperties.put(\&quot;administrativeState\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;administrativeState\&quot;))\npayloadProperties.put(\&quot;fileBasedGP\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileBasedGP\&quot;).toString())\npayloadProperties.put(\&quot;fileLocation\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;fileLocation\&quot;))\npayloadProperties.put(\&quot;measurementGroups\&quot;, pmSubscriptionInfo.get(\&quot;subscription\&quot;).get(\&quot;measurementGroups\&quot;))\n\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewSubInstance(\&quot;CDSRequestPayloadEntry\&quot;);\npayloadEntry.put(\&quot;delete_DasH_subscription_DasH_properties\&quot;, payloadProperties)\n\nvar payload = executor.subject.getOutFieldSchemaHelper(\&quot;payload\&quot;).createNewInstance();\npayload.put(\&quot;delete_DasH_subscription_DasH_request\&quot;, payloadEntry);\n\nexecutor.outFields.put(\&quot;albumID\&quot;, executor.inFields.get(\&quot;albumID\&quot;))\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending delete Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).get(executor.inFields.get(\&quot;albumID\&quot;).toString())\nvar payload = executor.inFields.get(\&quot;payload\&quot;)\nvar actionName = \&quot;delete-subscription\&quot;\n\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\&quot;commonHeader\&quot;).createNewInstance();\ncommonHeader.put(\&quot;originatorId\&quot;, \&quot;sdnc\&quot;);\ncommonHeader.put(\&quot;requestId\&quot;, \&quot;123456-1000\&quot;);\ncommonHeader.put(\&quot;subRequestId\&quot;, \&quot;sub-123456-1000\&quot;);\n\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\&quot;actionIdentifiers\&quot;).createNewInstance();\nactionIdentifiers.put(\&quot;actionName\&quot;, actionName);\nactionIdentifiers.put(\&quot;blueprintName\&quot;, \&quot;pm_control\&quot;);\nactionIdentifiers.put(\&quot;blueprintVersion\&quot;, \&quot;1.0.0\&quot;);\nactionIdentifiers.put(\&quot;mode\&quot;, \&quot;sync\&quot;);\n\nexecutor.outFields.put(\&quot;commonHeader\&quot;, commonHeader);\nexecutor.outFields.put(\&quot;actionIdentifiers\&quot;, actionIdentifiers);\nexecutor.outFields.put(\&quot;payload\&quot;, payload);\n\nexecutor.logger.info(\&quot;Sending Deactivate Subscription Event to CDS\&quot;)\n\ntrue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;ReceivePMSubscriptionTask&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;inputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;changeType&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;changeType&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;nfName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;nfName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;policyName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;policyName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;subscription&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;subscription&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;outputFields&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;taskParameters&quot;: {&#xd;
+ &quot;entry&quot;: []&#xd;
+ },&#xd;
+ &quot;contextAlbumReference&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;taskLogic&quot;: {&#xd;
+ &quot;key&quot;: &quot;TaskLogic&quot;,&#xd;
+ &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
+ &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;);\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\nvar uuidType = java.util.UUID;\n\n\n//albumID will be used to fetch info from our album later\nvar albumID = uuidType.fromString(\&quot;d0050623-18e5-46c9-9298-9a567990cd7c\&quot;);\nvar pmSubscriptionInfo = executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).getSchemaHelper().createNewInstance();\nvar returnValue = true;;\n\nif(executor.inFields.get(\&quot;policyName\&quot;) != null) {\n var changeType = executor.inFields.get(\&quot;changeType\&quot;)\n var nfName = executor.inFields.get(\&quot;nfName\&quot;)\n var policyName = executor.inFields.get(\&quot;policyName\&quot;)\n var closedLoopControlName = executor.inFields.get(\&quot;closedLoopControlName\&quot;)\n var subscription = executor.inFields.get(\&quot;subscription\&quot;)\n\n pmSubscriptionInfo.put(\&quot;nfName\&quot;, executor.inFields.get(\&quot;nfName\&quot;));\n pmSubscriptionInfo.put(\&quot;changeType\&quot;, executor.inFields.get(\&quot;changeType\&quot;))\n pmSubscriptionInfo.put(\&quot;policyName\&quot;, executor.inFields.get(\&quot;policyName\&quot;))\n pmSubscriptionInfo.put(\&quot;closedLoopControlName\&quot;, executor.inFields.get(\&quot;closedLoopControlName\&quot;))\n pmSubscriptionInfo.put(\&quot;subscription\&quot;, subscription)\n\n executor.getContextAlbum(\&quot;PMSubscriptionAlbum\&quot;).put(albumID.toString(), pmSubscriptionInfo);\n\n executor.outFields.put(\&quot;albumID\&quot;, albumID)\n} else {\n executor.message = \&quot;Received invalid event\&quot;\n returnValue = false;\n}\nreturnValue;&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;events&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Events&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;eventMap&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;CDS&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;DCAE&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;status&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CreateSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionPayloadEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;DeleteSubscriptionRequestEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;actionIdentifiers&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;commonHeader&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;payload&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionOutputEvent&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;APEX&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;albumID&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;nameSpace&quot;: &quot;org.onap.policy.apex.onap.pmcontrol&quot;,&#xd;
+ &quot;source&quot;: &quot;DCAE&quot;,&#xd;
+ &quot;target&quot;: &quot;APEX&quot;,&#xd;
+ &quot;parameter&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;changeType&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;changeType&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;closedLoopControlName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;nfName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;nfName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;policyName&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;policyName&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: &quot;subscription&quot;,&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: &quot;subscription&quot;,&#xd;
+ &quot;fieldSchemaKey&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;optional&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;albums&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Albums&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;albums&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionAlbum&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;scope&quot;: &quot;policy&quot;,&#xd;
+ &quot;isWritable&quot;: true,&#xd;
+ &quot;itemSchema&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;schemas&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;APEXgRPCPolicy_Schemas&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemas&quot;: {&#xd;
+ &quot;entry&quot;: [&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSActionIdentifiersType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSActionIdentifiers_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;actionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;blueprintName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;blueprintVersion\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;mode\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSCreateSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;map\&quot;,\n \&quot;values\&quot;: {\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestPayloadEntry\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_properties\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_properties_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroups_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementTypes_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSDeleteSubscriptionPayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;map\&quot;,\n \&quot;values\&quot;: {\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestPayloadEntry\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;delete_DasH_subscription_DasH_properties\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;delete_DasH_subscription_DasH_properties_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroups_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;measurementTypes_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic_record\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSRequestCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSRequestCommonHeader_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;originatorId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;requestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subRequestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseCommonHeaderType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSResponseCommonHeader_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;originatorId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;requestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subRequestId\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;timestamp\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponsePayloadType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;CDSResponsePayloadEntry\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;namespace\&quot;: \&quot;com.acme.avro\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_response\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;create_DasH_subscription_DasH_response\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;odl_DasH_response\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;odl_DasH_response\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;status\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n ]\n }\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;CDSResponseStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;CDSResponseStatus_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;code\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;eventType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;timestamp\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;message\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;PMSubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;PMSubscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.pmcontrol\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;changeType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;closedLoopControlName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;policyName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Groups_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Group_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Types_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Managed_Object_Dns_Basic_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;java.lang.Integer&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;java.lang.String&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionStatusType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;name\&quot;: \&quot;ActivateSubscriptionStatus_Type\&quot;,\n \&quot;namespace\&quot;: \&quot;org.onap.policy.apex.onap.helloworld\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;nfName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;changeType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;message\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;SubscriptionType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Avro&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;{\n \&quot;name\&quot;: \&quot;subscription\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;subscriptionName\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;administrativeState\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileBasedGP\&quot;,\n \&quot;type\&quot;: \&quot;int\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;fileLocation\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n {\n \&quot;name\&quot;: \&quot;measurementGroups\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Groups_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementGroup\&quot;,\n \&quot;type\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Group_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementTypes\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Measurement_Types_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;measurementType\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n },\n {\n \&quot;name\&quot;: \&quot;managedObjectDNsBasic\&quot;,\n \&quot;type\&quot;: {\n \&quot;type\&quot;: \&quot;array\&quot;,\n \&quot;items\&quot;: {\n \&quot;name\&quot;: \&quot;Managed_Object_Dns_Basic_Type\&quot;,\n \&quot;type\&quot;: \&quot;record\&quot;,\n \&quot;fields\&quot;: [\n {\n \&quot;name\&quot;: \&quot;DN\&quot;,\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n}&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;value&quot;: {&#xd;
+ &quot;key&quot;: {&#xd;
+ &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.1&quot;&#xd;
+ },&#xd;
+ &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
+ &quot;schemaDefinition&quot;: &quot;java.util.UUID&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventOutputParameters&quot;: {&#xd;
+ &quot;logOutputter&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;FILE&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;fileName&quot;: &quot;outputevents.log&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;CDSRequestProducer&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;GRPC&quot;,&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;host&quot;: &quot;10.2.0.122&quot;,&#xd;
+ &quot;port&quot;: 54322,&#xd;
+ &quot;username&quot;: &quot;ccsdkapps&quot;,&#xd;
+ &quot;password&quot;: &quot;ccsdkapps&quot;,&#xd;
+ &quot;timeout&quot;: 60&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ },&#xd;
+ &quot;eventNameFilter&quot;: &quot;(Create|Delete)SubscriptionRequestEvent&quot;,&#xd;
+ &quot;requestorMode&quot;: true,&#xd;
+ &quot;requestorPeer&quot;: &quot;CDSRequestConsumer&quot;,&#xd;
+ &quot;requestorTimeout&quot;: 500&#xd;
+ },&#xd;
+ &quot;CDSReplyProducer&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;RESTCLIENT&quot;,&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;url&quot;: &quot;http://message-router:3904/events/POLICY-CL-MGT&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ },&#xd;
+ &quot;eventNameFilter&quot;: &quot;CDSResponseStatusEvent&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventInputParameters&quot;: {&#xd;
+ &quot;DCAEConsumer&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;RESTCLIENT&quot;,&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;url&quot;: &quot;http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT/cg1/c1?timeout=30000&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;,&#xd;
+ &quot;parameters&quot;: {&#xd;
+ &quot;nameAlias&quot;: &quot;testPolicyB&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;eventName&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;eventNameFilter&quot;: &quot;testPolicyB&quot;&#xd;
+ },&#xd;
+ &quot;CDSRequestConsumer&quot;: {&#xd;
+ &quot;carrierTechnologyParameters&quot;: {&#xd;
+ &quot;carrierTechnology&quot;: &quot;GRPC&quot;,&#xd;
+ &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters&quot;&#xd;
+ },&#xd;
+ &quot;eventProtocolParameters&quot;: {&#xd;
+ &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
+ },&#xd;
+ &quot;eventName&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;eventNameFilter&quot;: &quot;CDSResponseEvent&quot;,&#xd;
+ &quot;requestorMode&quot;: true,&#xd;
+ &quot;requestorPeer&quot;: &quot;CDSRequestProducer&quot;,&#xd;
+ &quot;requestorTimeout&quot;: 500&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;operational.apex.stabilityTestDefaultDomain&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;policy-id&quot;: &quot;operational.apex.stabilityTestDefaultDomain&quot;,&#xd;
+ &quot;policy-version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;ToscaServiceTemplateSimple&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
+ <stringProp name="HTTPSampler.port">${API_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/policy/api/v1/policies</stringProp>
+ <stringProp name="HTTPSampler.method">POST</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy policy" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;groups&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;defaultGroup&quot;,&#xd;
+ &quot;deploymentSubgroups&quot;: [&#xd;
+ {&#xd;
+ &quot;pdpType&quot;: &quot;apex&quot;,&#xd;
+ &quot;action&quot;: &quot;POST&quot;,&#xd;
+ &quot;policies&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;operational.apex.stabilityTestDefaultDomain&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
+ <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps/deployments/batch</stringProp>
+ <stringProp name="HTTPSampler.method">POST</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <intProp name="LoopController.loops">-1</intProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">${threads}</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">true</boolProp>
+ <stringProp name="ThreadGroup.duration">5400</stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </ThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Health Check" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
+ <stringProp name="HTTPSampler.port">${APEX_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/policy/apex-pdp/v1/healthcheck</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
+ <stringProp name="cacheKey">true</stringProp>
+ <stringProp name="filename"></stringProp>
+ <stringProp name="parameters"></stringProp>
+ <stringProp name="script">import groovy.json.JsonSlurper;
+
+def res = [];
+if (prev.getResponseCode() == &apos;200&apos;) {
+ def jsonSlurper = new JsonSlurper();
+ res = jsonSlurper.parseText(prev.getResponseDataAsString());
+
+ assert res instanceof Map;
+ assert res.healthy == true;
+ assert res.message == &apos;alive&apos;;
+}
+</stringProp>
+ <stringProp name="scriptLanguage">groovy</stringProp>
+ </JSR223Assertion>
+ <hashTree/>
+ </hashTree>
+ <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Test Controller" enabled="true"/>
+ <hashTree>
+ <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="false">
+ <stringProp name="groupSize">${threads}</stringProp>
+ <stringProp name="timeoutInMs">${threadsTimeOutInMs}</stringProp>
+ </SyncTimer>
+ <hashTree/>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Send Input Event" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;changeType&quot;: &quot;CREATE&quot;,&#xd;
+ &quot;closedLoopControlName&quot;: &quot;test&quot;,&#xd;
+ &quot;policyName&quot;: &quot;test&quot;,&#xd;
+ &quot;nfName&quot;: &quot;pnf300&quot;,&#xd;
+ &quot;subscription&quot;: {&#xd;
+ &quot;subscriptionName&quot;: &quot;testPolicyB&quot;,&#xd;
+ &quot;administrativeState&quot;: &quot;UNLOCKED&quot;,&#xd;
+ &quot;fileBasedGP&quot;: 15,&#xd;
+ &quot;fileLocation&quot;: &quot;/pm/pm.xml&quot;,&#xd;
+ &quot;measurementGroups&quot;: [&#xd;
+ {&#xd;
+ &quot;measurementGroup&quot;: {&#xd;
+ &quot;measurementTypes&quot;: [&#xd;
+ {&#xd;
+ &quot;measurementType&quot;: &quot;countera&quot;&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;measurementType&quot;: &quot;counterb&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;managedObjectDNsBasic&quot;: [&#xd;
+ {&#xd;
+ &quot;DN&quot;: &quot;dna&quot;&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;DN&quot;: &quot;dnb&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;measurementGroup&quot;: {&#xd;
+ &quot;measurementTypes&quot;: [&#xd;
+ {&#xd;
+ &quot;measurementType&quot;: &quot;counterc&quot;&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;measurementType&quot;: &quot;counterd&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;managedObjectDNsBasic&quot;: [&#xd;
+ {&#xd;
+ &quot;DN&quot;: &quot;dnc&quot;&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;DN&quot;: &quot;dnd&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
+ <stringProp name="HTTPSampler.port">${DMAAP_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/events/unauthenticated.DCAE_CL_OUTPUT</stringProp>
+ <stringProp name="HTTPSampler.method">POST</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ <stringProp name="TestPlan.comments">Send input event to apex-pdp</stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Response Code" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">8</intProp>
+ <stringProp name="Scope.variable">Response code</stringProp>
+ <stringProp name="TestPlan.comments">Assert response code coming back from apex-pdp</stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="WAIT" enabled="true">
+ <stringProp name="ConstantTimer.delay">${wait}</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get the ouput event response" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
+ <stringProp name="HTTPSampler.port">${DMAAP_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/events/POLICY-CL-MGT/cg${__threadNum}/c1?timeout=30000</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ <stringProp name="TestPlan.comments">Check output event </stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Response Code" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">8</intProp>
+ <stringProp name="Scope.variable">Response code</stringProp>
+ <stringProp name="TestPlan.comments">Assert response code coming back from apex-pdp</stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Response Message" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="1608759622">org.onap.policy.apex.onap.pmcontrol</stringProp>
+ <stringProp name="1996002556">CREATE</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">2</intProp>
+ <stringProp name="Scope.variable">Response code</stringProp>
+ <stringProp name="TestPlan.comments">Assert response message coming back from apex-pdp</stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="WAIT" enabled="false">
+ <stringProp name="ConstantTimer.delay">${wait}</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ </hashTree>
+ <PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <stringProp name="LoopController.loops">1</stringProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">1</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">false</boolProp>
+ <stringProp name="ThreadGroup.duration"></stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </PostThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Un deploy policy" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;groups&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;defaultGroup&quot;,&#xd;
+ &quot;deploymentSubgroups&quot;: [&#xd;
+ {&#xd;
+ &quot;pdpType&quot;: &quot;apex&quot;,&#xd;
+ &quot;action&quot;: &quot;DELETE&quot;,&#xd;
+ &quot;policies&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;operational.apex.stabilityTestDefaultDomain&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
+ <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps/deployments/batch</stringProp>
+ <stringProp name="HTTPSampler.method">POST</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete Policy" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp>
+ <stringProp name="HTTPSampler.port">${API_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies/operational.apex.stabilityTestDefaultDomain/versions/1.0.0</stringProp>
+ <stringProp name="HTTPSampler.method">DELETE</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">/home/adityap/apex_stability/Stability.log</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">/mnt/c/Users/arek/Desktop/s3p_results/performance/6/testresults_1.jtl</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">/home/adityap/apex_stability/resultTable.log</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+</jmeterTestPlan>