Merge "Fix name of target-database property in persistence.xml files"
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 538b635..4bad4cb 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.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 @@
         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 @@
     }
 
     /**
+     * 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 4e5c7a3..44ed810 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.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 @@
     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 @@
         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 @@
     }
 
     /**
+     * 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 @@
         }
 
         // 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 8591d04..e3ead32 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.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 @@
 
 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 @@
     @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 @@
     }
 
     @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 09a87f8..708f29f 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 @@
 
 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() throws ApexEventException {
+    public void testInitWithJmsCarrierTechnologyParameters() {
         jmsCarrierTechnologyParameters = new JmsCarrierTechnologyParameters();
         producerParameters.setCarrierTechnologyParameters(jmsCarrierTechnologyParameters);
-        assertThatThrownBy(() -> apexJmsProducer.init("TestApexJmsProducer", producerParameters))
+        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 testInitProducerCreateError() 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);
+
+        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 @@
     @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 testSendEvent() throws ApexEventException {
-        producerParameters.setCarrierTechnologyParameters(new JmsCarrierTechnologyParameters() {});
-        synchronousEventCache = new SynchronousEventCache(EventHandlerPeeredMode.SYNCHRONOUS,
-                apexJmsConsumer, apexJmsProducer, DEFAULT_SYNCHRONOUS_EVENT_TIMEOUT);
-        apexJmsProducer.setPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS,
-                synchronousEventCache);
-        ApexEvent apexEvent = new ApexEvent("testEvent", "testVersion", "testNameSpace",
-                "testSource", "testTarget");
-        assertThatThrownBy(() -> apexJmsProducer.sendEvent(1000L, null, "TestApexJmsProducer", apexEvent))
-            .isInstanceOf(NullPointerException.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);
-
-        ApexJmsProducerTest producerTest = new ApexJmsProducerTest();
-
-        assertThatThrownBy(() -> apexJmsProducer.sendEvent(-1L, null, "TestApexJmsProducer", producerTest))
+    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 testStop() {
+    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);
+
+        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");
+        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 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());
+
+        final long executionId = random.nextLong();
+
+        assertThatThrownBy(
+            () -> apexJmsProducer
+                .sendEvent(executionId, null, PRODUCER_NAME, apexEvent)
+        )
+            .isInstanceOf(ApexEventRuntimeException.class);
+    }
+
+    @Test
+    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 d9f800e..6e562a8 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 89e2e81..924765d 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 @@
         // 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 0000000..70c17c3
--- /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 0000000..9f68b49
--- /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 0000000..8baa9d5
--- /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 0000000..cadb5c8
--- /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 0000000..976376e
--- /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 0000000..7e3cb54
--- /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 0000000..8ed3a9f
--- /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 0000000..04e87ee
--- /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 0000000..8b39b0a
--- /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 0000000..562760f
--- /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 0000000..c0da816
--- /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 0000000..dd44da7
--- /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 0000000..2f4764f
--- /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 0000000..4fa42a7
--- /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 0000000..4390c3f
--- /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 7a8777f..afeb77f 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;
-                                            }&#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.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;
-                                },&#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;https://message-router:3905/events/POLICY-PDP-PAP&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;https://message-router:3905/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;
+  &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;
-    },&#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 @@
         </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 @@
             </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 @@
             </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 @@
               <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 0000000..5d6533e
--- /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>