Add implementation for OOF PCI use case

Receive DMaaP message from PCI-Handler MS with PCI Config
change recommendations through DCAE_CL_OUTPUT topic.

Trigger SDN-R (if allowed by policy) by sending
DMaaP request through SDNR-CL topic.

When the response is received from SDNR through
SDNR-CL-RSP topic, just parse and print.

Code review comments addressed

Change-Id: If340a23ae18367b7f98e31fe79c09a09e645b2ad
Issue-ID: POLICY-1089
Signed-off-by: Saravanan A<saravanan.a75@wipro.com>
diff --git a/controlloop/common/feature-controlloop-casablanca/pom.xml b/controlloop/common/feature-controlloop-casablanca/pom.xml
index 258b759..ccdda5e 100644
--- a/controlloop/common/feature-controlloop-casablanca/pom.xml
+++ b/controlloop/common/feature-controlloop-casablanca/pom.xml
@@ -113,6 +113,11 @@
         </dependency>
         <dependency>
             <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <artifactId>sdnr</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
             <artifactId>vfc</artifactId>
             <version>${project.version}</version>
         </dependency>
@@ -181,6 +186,17 @@
         </dependency>
         <dependency>
             <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <artifactId>actor.sdnr</artifactId>
+            <version>${project.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>guava</artifactId>
+                    <groupId>com.google.guava</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
             <artifactId>actor.so</artifactId>
             <version>${project.version}</version>
             <exclusions>
diff --git a/controlloop/common/feature-controlloop-casablanca/src/main/feature/config/casablanca-controller.properties b/controlloop/common/feature-controlloop-casablanca/src/main/feature/config/casablanca-controller.properties
index 5c05500..3ec25f7 100644
--- a/controlloop/common/feature-controlloop-casablanca/src/main/feature/config/casablanca-controller.properties
+++ b/controlloop/common/feature-controlloop-casablanca/src/main/feature/config/casablanca-controller.properties
@@ -20,7 +20,7 @@
 
 controller.name=casablanca
 
-dmaap.source.topics=${{PDPD_CONFIGURATION_TOPIC}},${{DCAE_TOPIC}},APPC-CL,APPC-LCM-WRITE
+dmaap.source.topics=${{PDPD_CONFIGURATION_TOPIC}},${{DCAE_TOPIC}},APPC-CL,APPC-LCM-WRITE,SDNR-CL-RSP
 
 dmaap.source.topics.${{PDPD_CONFIGURATION_TOPIC}}.servers=${{PDPD_CONFIGURATION_SERVERS}}
 dmaap.source.topics.${{PDPD_CONFIGURATION_TOPIC}}.apiKey=
@@ -54,7 +54,7 @@
 dmaap.source.topics.APPC-LCM-WRITE.events.custom.gson=org.onap.policy.appclcm.util.Serialization,gson
 dmaap.source.topics.APPC-LCM-WRITE.https=true
 
-dmaap.sink.topics=APPC-CL,APPC-LCM-READ,POLICY-CL-MGT
+dmaap.sink.topics=APPC-CL,APPC-LCM-READ,POLICY-CL-MGT,SDNR-CL
 
 dmaap.sink.topics.APPC-CL.servers=${{DMAAP_SERVERS}}
 dmaap.sink.topics.APPC-CL.apiKey=
@@ -80,3 +80,18 @@
 rules.groupId=${project.groupId}
 rules.artifactId=controller-casablanca
 rules.version=${project.version}
+
+dmaap.sink.topics.SDNR-CL.servers=${{DMAAP_SERVERS}}
+dmaap.sink.topics.SDNR-CL.apiKey=
+dmaap.sink.topics.SDNR-CL.apiSecret=
+dmaap.sink.topics.SDNR-CL.events=org.onap.policy.sdnr.PciRequestWrapper
+dmaap.sink.topics.SDNR-CL.events.custom.gson=org.onap.policy.sdnr.util.Serialization,gson
+dmaap.sink.topics.SDNR-CL.https=true
+
+dmaap.source.topics.SDNR-CL-RSP.servers=${{DMAAP_SERVERS}}
+dmaap.source.topics.SDNR-CL-RSP.apiKey=
+dmaap.source.topics.SDNR-CL-RSP.apiSecret=
+dmaap.source.topics.SDNR-CL-RSP.events=org.onap.policy.sdnr.PciResponseWrapper
+dmaap.source.topics.SDNR-CL-RSP.events.org.onap.policy.sdnr.PciResponseWrapper.filter=type\=response
+dmaap.source.topics.SDNR-CL-RSP.events.custom.gson=org.onap.policy.sdnr.util.Serialization,gson
+dmaap.source.topics.SDNR-CL-RSP.https=true