HTTPS Proxy support for A1 adapter southbound
[ccsdk/distribution.git] / platform-logic / a1Adapter-api / src / main / xml / A1-ADAPTER-API_deleteA1Policy.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
3     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}'>
4     <method rpc='deleteA1Policy' mode='sync'>
5         <block atomic='true'>
6             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
7                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
8                 <parameter name="level" value="info" />
9                 <parameter name="field1" value="Delete A1 Policy:"/>
10                 <parameter name="field2" value="`$delete-a1-policy-input.near-rt-ric-url`"/>
11             </record>
12             <set>
13                 <parameter name='response-code' value='200' />
14                 <parameter name='response-message' value='deletePolicy executed successfully' />
15             </set>
16             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
17                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
18                 <parameter name='contextPrefix' value='prop' />
19             </execute>
20             <block atomic='true'>
21                 <set>
22                     <parameter name="tmp.near-rt-ric-url" value="`$delete-a1-policy-input.near-rt-ric-url`"/>
23                 </set>
24                 <block>
25                     <set>
26                         <parameter name="tmp.proxy-url" value="`$prop.a1Mediator.proxy.url`"/>
27                     </set>
28                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
29                         <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
30                         <parameter name="level" value="info" />
31                         <parameter name="field1" value="Delete A1 Policy: Check for proxy url: "/>
32                         <parameter name="field2" value="`$tmp.proxy-url`"/>
33                     </record>
34                     <switch test='`$tmp.proxy-url`'>
35                         <outcome value=''>
36                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
37                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
38                                 <parameter name="level" value="info" />
39                                 <parameter name="field1" value="Delete A1 Policy: No proxy found on properties file "/>
40                             </record>
41                         </outcome>
42                         <outcome value='Other'>
43                             <block>
44                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
45                                     <parameter name="original_string" value="`$tmp.near-rt-ric-url`" />
46                                     <parameter name="regex" value="/"/>
47                                     <parameter name="ctx_memory_result_key" value="tmp.near-rt-ric-url-splitList"/>
48                                 </execute>
49                                 <for index='idx' start='3' end="`$tmp.near-rt-ric-url-splitList_length`" >
50                                     <set>
51                                         <parameter name='tmp.proxy-url' value="`$tmp.proxy-url +'/' + $tmp.near-rt-ric-url-splitList[$idx] `" />
52                                     </set>
53                                 </for>
54                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
55                                     <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
56                                     <parameter name="level" value="info" />
57                                     <parameter name="field1" value="Delete A1 Policy: Url with proxy: "/>
58                                     <parameter name="field2" value="`$tmp.proxy-url`"/>
59                                 </record>
60                                 <set>
61                                     <parameter name="tmp.near-rt-ric-url" value="`$tmp.proxy-url`"/>
62                                 </set>
63                             </block>
64                         </outcome>
65                     </switch>
66                 </block>
67                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
68                     <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
69                     <parameter name="level" value="info" />
70                     <parameter name="field1" value="Setting variables for A1 Adapter Delete Policy Instance."/>
71                     <parameter name="field2" value="`$tmp.near-rt-ric-url`"/>
72                 </record>
73                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
74                     <parameter name="restapiUrl" value="`$tmp.near-rt-ric-url`"/>
75                     <parameter name="format" value="json"/>
76                     <parameter name="httpMethod" value="DELETE"/>
77                     <parameter name="responsePrefix" value="a1MediatorRsp"/>
78                     <parameter name='contentType' value='application/json' />
79                     <parameter name='accept' value='application/json' />
80                     <parameter name="convertResponse" value="false"/>
81                     <outcome value='success'>
82                         <block>
83                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
84                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
85                                 <parameter name="level" value="info" />
86                                 <parameter name="field1" value="A1 Delete Policy Information "/>
87                                 <parameter name="field2" value="`$a1MediatorRsp.httpResponse`"/>
88                             </record>
89                             <set>
90                                 <parameter name='body' value='`$a1MediatorRsp.httpResponse`'/>
91                             </set>
92                         </block>
93                     </outcome>
94                     <outcome value='failure'>
95                         <block>
96                             <set>
97                                 <parameter name='response-code' value='500'/>
98                                 <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
99                             </set>
100                             <return status='failure'>
101                                 <parameter name='ack-final' value='Y'/>
102                                 <parameter name="response-code" value="404" />
103                                 <parameter name="response-message" value="Error in Deleting A1 Policy Instance. Aborting" />
104                             </return>
105                         </block>
106                     </outcome>
107                 </execute>
108             </block>
109             <block>
110                 <return status='success'>
111                     <parameter name="ack-final-indicator" value="Y" />
112                     <parameter name="error-code" value="200" />
113                     <parameter name="error-message" value="`$error-message`" />
114                     <parameter name='response-code' value='200' />
115                     <parameter name='response-message' value='deletePolicyInstance executed successfully'/>
116                     <parameter name='ack-final' value='Y'/>
117                 </return>
118             </block>
119         </block>
120     </method>
121 </service-logic>