HTTPS Proxy support for A1 adapter southbound
[ccsdk/distribution.git] / platform-logic / a1Adapter-api / src / main / xml / A1-ADAPTER-API_getA1Policy.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='getA1Policy' 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="Get A1 Policy:"/>
10                 <parameter name="field2" value="`$get-a1-policy-input.near-rt-ric-url`"/>
11             </record>
12             <set>
13                 <parameter name='response-code' value='200' />
14                 <parameter name='response-message' value='Get A1 Policy 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="`$get-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="A1 Get Policy Information: 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="A1 Get Policy Information: 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="A1 Get Policy Information: 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 Get 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="GET"/>
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                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
84                                 <parameter name="source" value="`$a1MediatorRsp.httpResponse`"/>
85                                 <parameter name="outputPath" value="tmp.a1-mediator-restapi.httpResponse"/>
86                                 <parameter name="target" value="\n"/>
87                                 <parameter name="replacement" value=""/>
88                             </execute>
89                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
90                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
91                                 <parameter name="level" value="info" />
92                                 <parameter name="field1" value="A1 Get Policy Information "/>
93                                 <parameter name="field2" value="`$tmp.a1-mediator-restapi.httpResponse`"/>
94                             </record>
95                             <set>
96                                 <parameter name='responseBody' value='`$tmp.a1-mediator-restapi.httpResponse`'/>
97                             </set>
98                         </block>
99                     </outcome>
100                     <outcome value='failure'>
101                         <block>
102                             <set>
103                                 <parameter name='response-code' value='500'/>
104                                 <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
105                             </set>
106                             <return status='failure'>
107                                 <parameter name='ack-final' value='Y'/>
108                                 <parameter name="response-code" value="500" />
109                                 <parameter name="response-message" value="Error in Getting A1 Policy Instance. Aborting" />
110                             </return>
111                         </block>
112                     </outcome>
113                 </execute>
114             </block>
115             <block>
116                 <return status='success'>
117                     <parameter name="ack-final-indicator" value="Y" />
118                     <parameter name="error-code" value="200" />
119                     <parameter name="error-message" value="`$error-message`" />
120                     <parameter name='response-code' value='200' />
121                     <parameter name='response-message' value='Get PolicyInstance executed successfully'/>
122                     <parameter name='ack-final' value='Y'/>
123                 </return>
124             </block>
125         </block>
126     </method>
127 </service-logic>