DG's and Templates for A1 Adapter
[ccsdk/distribution.git] / platform-logic / a1Adapter-api / src / main / xml / A1-ADAPTER-API_createPolicyType.xml
diff --git a/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_createPolicyType.xml b/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_createPolicyType.xml
new file mode 100644 (file)
index 0000000..11b7c70
--- /dev/null
@@ -0,0 +1,534 @@
+<service-logic
+    xmlns='http://www.onap.org/sdnc/svclogic'
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='A1-ADAPTER-API' version='${project.version}'>
+    <method rpc='createPolicyType' mode='sync'>
+        <block atomic='true'>
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                <parameter name="level" value="info" />
+                <parameter name="field1" value="A1 Adapter Create Policy Type. RPC Parms:"/>
+                <parameter name="field2" value="`$create-policy-type-input.near-rt-ric-id`"/>
+                <parameter name="field3" value="`$create-policy-type-input.policy-type-id`"/>
+                <parameter name="field4" value="`$create-policy-type-input.description`"/>
+                <parameter name="field5" value="A1 Adapter Create Policy Type Name:"/>
+                <parameter name="field6" value="`$create-policy-type-input.name`"/>
+                <parameter name="field7" value="A1 Adapter Create Policy Type. Number of Policy Type Properties"/>
+                <parameter name="field8" value="`$create-policy-type-input.properties_length`"/>
+            </record>
+            <set>
+                <parameter name='response-code' value='200' />
+                <parameter name='response-message' value='Successful execution of createPolicyType RPC' />
+            </set>
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+                <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
+                <parameter name='contextPrefix' value='prop' />
+            </execute>
+            <for index='idx1' start='0' end='`$create-policy-type-input.properties_length`' >
+                <block atomic='true'>
+                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                        <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                        <parameter name="level" value="info" />
+                        <parameter name="field1" value="A1 Adapter Create Policy Type. Properties Number, Name and Number of Policy Statements"/>
+                        <parameter name="field2" value="`$idx1`"/>
+                        <parameter name="field3" value="`$create-policy-type-input.properties[$idx1].property-name`"/>
+                        <parameter name="field4" value="`$create-policy-type-input.properties[$idx1].policy-statements_length`"/>
+                    </record>
+                    <for index='idx2' start='0' end='`$create-policy-type-input.properties[$idx1].policy-statements_length`' >
+                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                            <parameter name="level" value="info" />
+                            <parameter name="field1" value="A1 Adapter Create Policy Type. Policy Statements for policy statement # "/>
+                            <parameter name="field2" value="`$idx2`"/>
+                            <parameter name="field3" value="`$create-policy-type-input.properties[$idx1].policy-statements[$idx2].policy-statement`"/>
+                            <parameter name="field4" value="`$create-policy-type-input.properties[$idx1].policy-statements[$idx2].policy-statement-value`"/>
+                        </record>
+                    </for>
+                </block>
+            </for>
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                <parameter name="level" value="info" />
+                <parameter name="field1" value="Properties read .. A1 Mediator Target"/>
+                <parameter name="field2" value="`$prop.oofpcipoc.patch.pci.target`"/>
+                <parameter name="field3" value="`$prop.controller.user`"/>
+                <parameter name="field4" value="`$prop.controller.pwd`"/>
+                <parameter name="field5" value="`$prop.controller.url`"/>
+                <parameter name="field6" value="A1 Mediator deployed (true/false): "/>
+                <parameter name="field7" value="`$prop.ric-plt-A1Mediator-deployed`"/>
+            </record>
+            <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
+                <outcome value='true'>
+                    <block atomic='true'>
+                        <block atomic='true'>
+                            <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
+                                <parameter name='templatePath' value='a1-policy-type-create-schema-property-payload-template.vtl' />
+                                <parameter name='output' value='restapi-payload' />
+                                <parameter name='prefix' value='a1-mediator' />
+                                <outcome value='success'>
+                                    <block atomic='true'>
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                            <parameter name="level" value="info" />
+                                            <parameter name="field1" value="__TIMESTAMP__"/>
+                                            <parameter name="field2" value="Redndred A1 Mediator RestAPI payload template as a string"/>
+                                            <parameter name='field3' value='`$a1-mediator.restapi-payload`' />
+                                        </record>
+                                    </block>
+                                </outcome>
+                                <outcome value='failure'>
+                                    <block>
+                                        <set>
+                                            <parameter name='response-code' value='500'/>
+                                            <parameter name='response-message' value='Error creating A1 Mediator Rest API payload string. Aborting A1 Policy Type creation'/>
+                                        </set>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="response-code" value="500" />
+                                            <parameter name='response-message' value='Error creating A1 Mediator Rest API payload string. Aborting A1 Policy Type creation'/>
+                                        </return>
+                                        <block atomic='true'>
+                                            <set>
+                                                <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyType'/>
+                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                                                <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                                            </set>
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                <parameter name="level" value="info" />
+                                                <parameter name="field1" value="__TIMESTAMP__"/>
+                                                <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                                                <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                <parameter name='field5' value="Status Code and Status Value to be published" />
+                                                <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                                                <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                                                <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                                                <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                                                <parameter name='field10' value="RPC Name" />
+                                                <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                                            </record>
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                <parameter name='format' value='json' />
+                                                <parameter name='httpMethod' value='POST' />
+                                                <parameter name='contentType' value='application/json' />
+                                                <parameter name='responsePrefix' value='dmaap' />
+                                                <outcome value='failure'>
+                                                    <block>
+                                                        <return status='failure'>
+                                                            <parameter name='ack-final' value='Y'/>
+                                                            <parameter name="response-code" value="500" />
+                                                            <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                                        </return>
+                                                    </block>
+                                                </outcome>
+                                                <outcome value='success'>
+                                                    <block>
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                            <parameter name="level" value="info" />
+                                                            <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                                        </record>
+                                                    </block>
+                                                </outcome>
+                                            </execute>
+                                        </block>
+                                    </block>
+                                </outcome>
+                            </execute>
+                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
+                                <parameter name="source" value="`$a1-mediator.restapi-payload`"/>
+                                <parameter name="outputPath" value="tmp.a1-mediator-restapi.payload"/>
+                                <parameter name="target" value="\n"/>
+                                <parameter name="replacement" value=""/>
+                                <outcome value='success'>
+                                    <block atomic='true'>
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                            <parameter name="level" value="info" />
+                                            <parameter name="field1" value="__TIMESTAMP__"/>
+                                            <parameter name="field2" value="Redndred template with lines removed \r"/>
+                                            <parameter name='field3' value='`$tmp.a1-mediator-restapi.payload`' />
+                                        </record>
+                                    </block>
+                                </outcome>
+                                <outcome value='failure'>
+                                    <block>
+                                        <set>
+                                            <parameter name='response-code' value='500'/>
+                                            <parameter name="response-message" value="Error removing lines from A1 Mediator Rest API payload string. Aborting A1 Policy creation" />
+                                        </set>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="response-code" value="500" />
+                                            <parameter name="response-message" value="Error removing lines from A1 Mediator Rest API payload string. Aborting A1 Policy creation" />
+                                        </return>
+                                        <block atomic='true'>
+                                            <set>
+                                                <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyType'/>
+                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                                                <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                                            </set>
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                <parameter name="level" value="info" />
+                                                <parameter name="field1" value="__TIMESTAMP__"/>
+                                                <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                                                <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                <parameter name='field5' value="Status Code and Status Value to be published" />
+                                                <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                                                <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                                                <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                                                <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                                                <parameter name='field10' value="RPC Name" />
+                                                <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                                            </record>
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                <parameter name='format' value='json' />
+                                                <parameter name='httpMethod' value='POST' />
+                                                <parameter name='contentType' value='application/json' />
+                                                <parameter name='responsePrefix' value='dmaap' />
+                                                <outcome value='failure'>
+                                                    <block>
+                                                        <return status='failure'>
+                                                            <parameter name='ack-final' value='Y'/>
+                                                            <parameter name="response-code" value="500" />
+                                                            <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                                        </return>
+                                                    </block>
+                                                </outcome>
+                                                <outcome value='success'>
+                                                    <block>
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                            <parameter name="level" value="info" />
+                                                            <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                                        </record>
+                                                    </block>
+                                                </outcome>
+                                            </execute>
+                                        </block>
+                                    </block>
+                                </outcome>
+                            </execute>
+                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
+                                <parameter name="source" value="`$tmp.a1-mediator-restapi.payload`"/>
+                                <parameter name="outputPath" value="tmp.a1-mediator-restapi.payload"/>
+                                <parameter name="target" value="\t"/>
+                                <parameter name="replacement" value=""/>
+                                <outcome value='success'>
+                                    <block atomic='true'>
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                            <parameter name="level" value="info" />
+                                            <parameter name="field1" value="__TIMESTAMP__"/>
+                                            <parameter name="field2" value="Redndred template with tabs removed \r"/>
+                                            <parameter name='field3' value='`$tmp.a1-mediator-restapi.payload`' />
+                                        </record>
+                                    </block>
+                                </outcome>
+                                <outcome value='failure'>
+                                    <block>
+                                        <set>
+                                            <parameter name='response-code' value='500'/>
+                                            <parameter name="response-message" value="Error removing tabs from A1 Mediator Rest API payload string. Aborting A1 Policy creation" />
+                                        </set>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="response-code" value="500" />
+                                            <parameter name="response-message" value="Error removing tabs from A1 Mediator Rest API payload string. Aborting A1 Policy creation" />
+                                        </return>
+                                        <block atomic='true'>
+                                            <set>
+                                                <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyType'/>
+                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                                                <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                                            </set>
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                <parameter name="level" value="info" />
+                                                <parameter name="field1" value="__TIMESTAMP__"/>
+                                                <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                                                <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                <parameter name='field5' value="Status Code and Status Value to be published" />
+                                                <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                                                <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                                                <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                                                <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                                                <parameter name='field10' value="RPC Name" />
+                                                <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                                            </record>
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                <parameter name='format' value='json' />
+                                                <parameter name='httpMethod' value='POST' />
+                                                <parameter name='contentType' value='application/json' />
+                                                <parameter name='responsePrefix' value='dmaap' />
+                                                <outcome value='failure'>
+                                                    <block>
+                                                        <return status='failure'>
+                                                            <parameter name='ack-final' value='Y'/>
+                                                            <parameter name="response-code" value="500" />
+                                                            <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                                        </return>
+                                                    </block>
+                                                </outcome>
+                                                <outcome value='success'>
+                                                    <block>
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                            <parameter name="level" value="info" />
+                                                            <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                                        </record>
+                                                    </block>
+                                                </outcome>
+                                            </execute>
+                                        </block>
+                                    </block>
+                                </outcome>
+                            </execute>
+                        </block>
+                        <block atomic='true'>
+                            <set>
+                                <parameter name="tmp.near-rt-ric-id" value="`$create-policy-type-input.near-rt-ric-id`"/>
+                                <parameter name="tmp.policy-type-id" value="`$create-policy-type-input.policy-type-id`"/>
+                                <parameter name="tmp.name" value="`$create-policy-type-input.name`"/>
+                                <parameter name="tmp.description" value="`$create-policy-type-input.description`"/>
+                            </set>
+                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+                                <parameter name="source" value="`$prop.restapi.policytype`"/>
+                                <parameter name="outputPath" value="tmp.restapi.policytype-url"/>
+                                <parameter name="target" value="{policy_type_id}"/>
+                                <parameter name="replacement" value="`$tmp.policy-type-id`"/>
+                            </execute>
+                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                <parameter name="level" value="info" />
+                                <parameter name="field1" value="Setting variables for A1 Adapter Create Policy Type."/>
+                                <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
+                                <parameter name="field3" value="`$tmp.policy-type-id`"/>
+                                <parameter name="field4" value="`$tmp.name`"/>
+                                <parameter name="field5" value="`$tmp.restapi.policytype-url`"/>
+                                <parameter name="field6" value="`$a1-mediator.restapi-payload`"/>
+                                <parameter name="field7" value="Temporary A1 Mediatory Payload"/>
+                                <parameter name="field8" value="`$tmp.a1-mediator-restapi.payload`"/>
+                            </record>
+                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                <parameter name="restapiUrl" value="`$prop.a1Mediator.url + '/' + $tmp.restapi.policytype-url`"/>
+                                <parameter name="format" value="json"/>
+                                <parameter name="httpMethod" value="PUT"/>
+                                <parameter name="responsePrefix" value="a1MediatorRsp"/>
+                                <parameter name='contentType' value='application/json' />
+                                <parameter name='accept' value='application/json' />
+                                <parameter name="requestBody" value="`$tmp.a1-mediator-restapi.payload`"/>
+                                <parameter name="convertResponse" value="false"/>
+                                <outcome value='failure'>
+                                    <block>
+                                        <set>
+                                            <parameter name='response-code' value='500'/>
+                                            <parameter name="response-message" value="Error creating A1 Policy Policy. Aborting A1 Policy Type creation" />
+                                        </set>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="response-code" value="404" />
+                                            <parameter name="response-message" value="Error creating A1 Policy Policy. Aborting A1 Policy Type creation" />
+                                        </return>
+                                        <block atomic='true'>
+                                            <set>
+                                                <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyType'/>
+                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                                                <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                                                <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                                            </set>
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                <parameter name="level" value="info" />
+                                                <parameter name="field1" value="__TIMESTAMP__"/>
+                                                <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                                                <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                <parameter name='field5' value="Status Code and Status Value to be published" />
+                                                <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                                                <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                                                <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                                                <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                                                <parameter name='field10' value="RPC Name" />
+                                                <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                                            </record>
+                                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                                <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                                <parameter name='format' value='json' />
+                                                <parameter name='httpMethod' value='POST' />
+                                                <parameter name='contentType' value='application/json' />
+                                                <parameter name='responsePrefix' value='dmaap' />
+                                                <outcome value='failure'>
+                                                    <block>
+                                                        <return status='failure'>
+                                                            <parameter name='ack-final' value='Y'/>
+                                                            <parameter name="response-code" value="500" />
+                                                            <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                                        </return>
+                                                    </block>
+                                                </outcome>
+                                                <outcome value='success'>
+                                                    <block>
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                                            <parameter name="level" value="info" />
+                                                            <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                                        </record>
+                                                    </block>
+                                                </outcome>
+                                            </execute>
+                                        </block>
+                                    </block>
+                                </outcome>
+                                <outcome value='success'>
+                                    <block>
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                            <parameter name="level" value="info" />
+                                            <parameter name="field1" value="A1 Policy Type Accepted."/>
+                                        </record>
+                                    </block>
+                                </outcome>
+                            </execute>
+                        </block>
+                    </block>
+                </outcome>
+                <outcome value='false'>
+                    <block>
+                        <block atomic='true'>
+                            <set>
+                                <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyType'/>
+                                <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                                <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                                <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                            </set>
+                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                <parameter name="level" value="info" />
+                                <parameter name="field1" value="__TIMESTAMP__"/>
+                                <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                                <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                <parameter name='field5' value="Status Code and Status Value to be published" />
+                                <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                                <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                                <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                                <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                                <parameter name='field10' value="RPC Name" />
+                                <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                            </record>
+                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                                <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                                <parameter name='format' value='json' />
+                                <parameter name='httpMethod' value='POST' />
+                                <parameter name='contentType' value='application/json' />
+                                <parameter name='responsePrefix' value='dmaap' />
+                                <outcome value='failure'>
+                                    <block>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="response-code" value="500" />
+                                            <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                        </return>
+                                    </block>
+                                </outcome>
+                                <outcome value='success'>
+                                    <block>
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                            <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                            <parameter name="level" value="info" />
+                                            <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                        </record>
+                                    </block>
+                                </outcome>
+                            </execute>
+                        </block>
+                        <set>
+                            <parameter name='response-code' value='500'/>
+                            <parameter name='response-message' value='A1 Mediator Not Deployed'/>
+                        </set>
+                        <return status='failure'>
+                            <parameter name='ack-final' value='Y'/>
+                            <parameter name="response-code" value="500" />
+                            <parameter name="response-message" value="A1 Mediator Not Deployed. Aborting A1 Policy creation" />
+                        </return>
+                    </block>
+                </outcome>
+            </switch>
+            <block>
+                <block atomic='true'>
+                    <set>
+                        <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyType'/>
+                        <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
+                        <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
+                        <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
+                    </set>
+                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                        <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                        <parameter name="level" value="info" />
+                        <parameter name="field1" value="__TIMESTAMP__"/>
+                        <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
+                        <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                        <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                        <parameter name='field5' value="Status Code and Status Value to be published" />
+                        <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
+                        <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
+                        <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
+                        <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
+                        <parameter name='field10' value="RPC Name" />
+                        <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
+                    </record>
+                    <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                        <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
+                        <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
+                        <parameter name='format' value='json' />
+                        <parameter name='httpMethod' value='POST' />
+                        <parameter name='contentType' value='application/json' />
+                        <parameter name='responsePrefix' value='dmaap' />
+                        <outcome value='failure'>
+                            <block>
+                                <return status='failure'>
+                                    <parameter name='ack-final' value='Y'/>
+                                    <parameter name="response-code" value="500" />
+                                    <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
+                                </return>
+                            </block>
+                        </outcome>
+                        <outcome value='success'>
+                            <block>
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                    <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                    <parameter name="level" value="info" />
+                                    <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
+                                </record>
+                            </block>
+                        </outcome>
+                    </execute>
+                </block>
+                <return status='success'>
+                    <parameter name="ack-final-indicator" value="Y" />
+                    <parameter name="error-code" value="200" />
+                    <parameter name="error-message" value="`$error-message`" />
+                    <parameter name='response-code' value='200' />
+                    <parameter name='response-message' value='A1 Adapter is healthy'/>
+                    <parameter name='health-status' value='200'/>
+                    <parameter name='ack-final' value='Y'/>
+                </return>
+            </block>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file