Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_generate-panorama-name.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='GENERIC-RESOURCE-API' version='${project.version}'>
4     <method rpc='generate-panorama-name' mode='sync'>
5         <block atomic="true">
6             <set>
7                 <parameter name='tmp.trust-sz' value='$TenantOAMNetworkRole_$LandingNetworkRole_T' />
8                 <parameter name='tmp.untrust-sz' value='$TenantOAMNetworkRole_$LandingNetworkRole_U' />
9             </set>
10             <set>
11                 <parameter name='original-name' value='`$security-zone-topology-operation-input.security-zone-request-input.untrusted-network-role`' />
12             </set>
13             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
14                 <parameter name="original_string" value="`$original-name`" />
15                 <parameter name="regex" value="\."/>
16                 <parameter name="limit" value="2" />
17                 <parameter name="ctx_memory_result_key" value="splits" />
18             </execute>
19             <switch test='`$splits_length`'>
20                 <outcome value='1'>
21                     <set>
22                         <parameter name='new-name' value='`$splits[0]`' />
23                     </set>
24                 </outcome>
25                 <outcome value='2'>
26                     <set>
27                         <parameter name='new-name' value='`$splits[1]`' />
28                     </set>
29                 </outcome>
30                 <outcome value='Other'>
31                     <return status='failure'>
32                         <parameter name='error-code' value='500' />
33                         <parameter name='error-message' value='Unexpected network role used for panorama naming' />
34                     </return>
35                 </outcome>
36             </switch>
37             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='getLength' >
38                 <parameter name="source" value="`$new-name`" />
39                 <parameter name="outputPath" value="tmp.strlen"/>
40             </execute>
41             <switch test='`$tmp.strlen > 14`'>
42                 <outcome value='true'>
43                     <block atomic="true">
44                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring' >
45                             <parameter name="string" value="`$new-name`" />
46                             <parameter name="result" value="new-name"/>
47                             <parameter name="begin-index" value="0" />
48                             <parameter name="end-index" value="14" />
49                         </execute>
50                     </block>
51                 </outcome>
52                 <outcome value='false'>
53                     <block atomic="true">
54                         <set>
55                             <parameter name='new-name' value='`$new-name`' />
56                         </set>
57                     </block>
58                 </outcome>
59             </switch>
60             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
61                 <parameter name="source" value="`$tmp.trust-sz`"/>
62                 <parameter name="outputPath" value="tmp.trust-sz"/>
63                 <parameter name="target" value="$TenantOAMNetworkRole"/>
64                 <parameter name="replacement" value="`$new-name`"/>
65             </execute>
66             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
67                 <parameter name="source" value="`$tmp.untrust-sz`"/>
68                 <parameter name="outputPath" value="tmp.untrust-sz"/>
69                 <parameter name="target" value="$TenantOAMNetworkRole"/>
70                 <parameter name="replacement" value="`$new-name`"/>
71             </execute>
72             <set>
73                 <parameter name='original-name' value='`$security-zone-topology-operation-input.security-zone-request-input.trusted-network-role`' />
74             </set>
75             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
76                 <parameter name="original_string" value="`$original-name`" />
77                 <parameter name="regex" value="\."/>
78                 <parameter name="limit" value="2" />
79                 <parameter name="ctx_memory_result_key" value="splits" />
80             </execute>
81             <switch test='`$splits_length`'>
82                 <outcome value='1'>
83                     <set>
84                         <parameter name='new-name' value='`$splits[0]`' />
85                     </set>
86                 </outcome>
87                 <outcome value='2'>
88                     <set>
89                         <parameter name='new-name' value='`$splits[1]`' />
90                     </set>
91                 </outcome>
92                 <outcome value='Other'>
93                     <return status='failure'>
94                         <parameter name='error-code' value='500' />
95                         <parameter name='error-message' value='Unexpected network role used for panorama naming' />
96                     </return>
97                 </outcome>
98             </switch>
99             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='getLength' >
100                 <parameter name="source" value="`$new-name`" />
101                 <parameter name="outputPath" value="tmp.strlen"/>
102             </execute>
103             <switch test='`$tmp.strlen > 14`'>
104                 <outcome value='true'>
105                     <block atomic="true">
106                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring' >
107                             <parameter name="string" value="`$new-name`" />
108                             <parameter name="result" value="new-name"/>
109                             <parameter name="begin-index" value="0" />
110                             <parameter name="end-index" value="14" />
111                         </execute>
112                     </block>
113                 </outcome>
114                 <outcome value='false'>
115                     <block atomic="true">
116                         <set>
117                             <parameter name='new-name' value='`$new-name`' />
118                         </set>
119                     </block>
120                 </outcome>
121             </switch>
122             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
123                 <parameter name="source" value="`$tmp.trust-sz`"/>
124                 <parameter name="outputPath" value="tmp.trust-sz"/>
125                 <parameter name="target" value="$LandingNetworkRole"/>
126                 <parameter name="replacement" value="`$new-name`"/>
127             </execute>
128             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
129                 <parameter name="source" value="`$tmp.untrust-sz`"/>
130                 <parameter name="outputPath" value="tmp.untrust-sz"/>
131                 <parameter name="target" value="$LandingNetworkRole"/>
132                 <parameter name="replacement" value="`$new-name`"/>
133             </execute>
134         </block>
135     </method>
136 </service-logic>