DG's and Templates for A1 Adapter
[ccsdk/distribution.git] / platform-logic / a1Adapter-api / src / main / xml / A1-ADAPTER-API_getPolicyTypes.xml
diff --git a/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_getPolicyTypes.xml b/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_getPolicyTypes.xml
new file mode 100644 (file)
index 0000000..97ff313
--- /dev/null
@@ -0,0 +1,244 @@
+<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='getPolicyTypes' 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="Get All Policy Types from Near RT RIC ID"/>
+                <parameter name="field2" value="`$get-policy-types-input.near-rt-ric-id`"/>
+            </record>
+            <set>
+                <parameter name='response-code' value='200' />
+                <parameter name='response-message' value='getPolicyTypes executed successfully' />
+            </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>
+            <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
+                <outcome value='true'>
+                    <block atomic='true'>
+                        <block atomic='true'>
+                            <set>
+                                <parameter name="tmp.near-rt-ric-id" value="`$get-policy-types-input.near-rt-ric-id`"/>
+                                <parameter name="tmp.restapi.getPolicyTypes-url" value="`$prop.restapi.policytypes`"/>
+                            </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="Setting variables for A1 Adapter Get Policy Types."/>
+                                <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
+                                <parameter name="field3" value="`$tmp.restapi.getPolicyTypes-url`"/>
+                            </record>
+                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                                <parameter name="restapiUrl" value="`$prop.a1Mediator.url + '/' + $tmp.restapi.getPolicyTypes-url`"/>
+                                <parameter name="format" value="json"/>
+                                <parameter name="httpMethod" value="GET"/>
+                                <parameter name="responsePrefix" value="a1MediatorRsp"/>
+                                <parameter name='contentType' value='application/json' />
+                                <parameter name='accept' value='application/json' />
+                                <parameter name="convertResponse" value="true"/>
+                                <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="List of A1 Policy Types: "/>
+                                            <parameter name="field2" value="`$a1MediatorRsp`"/>
+                                        </record>
+                                    </block>
+                                </outcome>
+                                <outcome value='failure'>
+                                    <block>
+                                        <set>
+                                            <parameter name='response-code' value='500'/>
+                                            <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
+                                        </set>
+                                        <return status='failure'>
+                                            <parameter name='ack-final' value='Y'/>
+                                            <parameter name="response-code" value="500" />
+                                            <parameter name="response-message" value="Error in Getting A1 Policy Types. Aborting" />
+                                        </return>
+                                        <block atomic='true'>
+                                            <set>
+                                                <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyTypes'/>
+                                                <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="`$a1MediatorRsp`" />
+                                            </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" />
+                                                <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>
+                </outcome>
+                <outcome value='false'>
+                    <block>
+                        <set>
+                            <parameter name='response-code' value='500'/>
+                            <parameter name='response-message' value='A1 Mediator Not Deployed'/>
+                        </set>
+                        <block atomic='true'>
+                            <set>
+                                <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyTypes'/>
+                                <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="`$a1MediatorRsp`" />
+                            </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" />
+                                <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='failure'>
+                            <parameter name='ack-final' value='Y'/>
+                            <parameter name="response-code" value="500" />
+                            <parameter name="response-message" value="Error in Getting A1 Policy Types. Aborting" />
+                        </return>
+                    </block>
+                </outcome>
+            </switch>
+            <block>
+                <block atomic='true'>
+                    <set>
+                        <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyTypes'/>
+                        <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="`$a1MediatorRsp`" />
+                    </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" />
+                        <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