summaryrefslogtreecommitdiffstats
path: root/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_createPolicyType.xml
diff options
context:
space:
mode:
Diffstat (limited to 'platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_createPolicyType.xml')
-rw-r--r--platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_createPolicyType.xml534
1 files changed, 534 insertions, 0 deletions
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
index 00000000..11b7c70d
--- /dev/null
+++ b/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_createPolicyType.xml
@@ -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