Add generic-resource-api DG seed code
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_generate-panorama-name.xml
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-panorama-name.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_generate-panorama-name.xml
new file mode 100755 (executable)
index 0000000..dde1709
--- /dev/null
@@ -0,0 +1,97 @@
+<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='GENERIC-RESOURCE-API' version='${project.version}'><method rpc='generate-panorama-name' mode='sync'>\r
+<block atomic="true"><set>\r
+<parameter name='tmp.trust-sz' value='$TenantOAMNetworkRole_$LandingNetworkRole_T' />\r
+<parameter name='tmp.untrust-sz' value='$TenantOAMNetworkRole_$LandingNetworkRole_U' />\r
+</set><set>\r
+<parameter name='original-name' value='`$security-zone-topology-operation-input.security-zone-request-input.untrusted-network-role`' />\r
+</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+    <parameter name="original_string" value="`$original-name`" />\r
+    <parameter name="regex" value="\."/>\r
+    <parameter name="limit" value="2" />\r
+    <parameter name="ctx_memory_result_key" value="splits" />\r
+  \r
+</execute><switch test='`$splits_length`'>\r
+<outcome value='1'>\r
+<set>\r
+<parameter name='new-name' value='`$splits[0]`' />\r
+</set></outcome><outcome value='2'>\r
+<set>\r
+<parameter name='new-name' value='`$splits[1]`' />\r
+</set></outcome><outcome value='Other'>\r
+<return status='failure'>\r
+<parameter name='error-code' value='500' />\r
+<parameter name='error-message' value='Unexpected network role used for panorama naming' />\r
+</return></outcome></switch><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='getLength' >\r
+    <parameter name="source" value="`$new-name`" />\r
+    <parameter name="outputPath" value="tmp.strlen"/>\r
+  \r
+</execute><switch test='`$tmp.strlen > 14`'>\r
+<outcome value='true'>\r
+<block atomic="true"><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring' >\r
+    <parameter name="string" value="`$new-name`" />\r
+    <parameter name="result" value="new-name"/>\r
+    <parameter name="begin-index" value="0" />\r
+    <parameter name="end-index" value="14" />\r
+  \r
+</execute></block></outcome><outcome value='false'>\r
+<block atomic="true"><set>\r
+<parameter name='new-name' value='`$new-name`' />\r
+</set></block></outcome></switch><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+    <parameter name="source" value="`$tmp.trust-sz`"/>\r
+    <parameter name="outputPath" value="tmp.trust-sz"/>\r
+    <parameter name="target" value="$TenantOAMNetworkRole"/>\r
+    <parameter name="replacement" value="`$new-name`"/>\r
+\r
+</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+    <parameter name="source" value="`$tmp.untrust-sz`"/>\r
+    <parameter name="outputPath" value="tmp.untrust-sz"/>\r
+    <parameter name="target" value="$TenantOAMNetworkRole"/>\r
+    <parameter name="replacement" value="`$new-name`"/>\r
+\r
+</execute><set>\r
+<parameter name='original-name' value='`$security-zone-topology-operation-input.security-zone-request-input.trusted-network-role`' />\r
+</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+    <parameter name="original_string" value="`$original-name`" />\r
+    <parameter name="regex" value="\."/>\r
+    <parameter name="limit" value="2" />\r
+    <parameter name="ctx_memory_result_key" value="splits" />\r
+  \r
+</execute><switch test='`$splits_length`'>\r
+<outcome value='1'>\r
+<set>\r
+<parameter name='new-name' value='`$splits[0]`' />\r
+</set></outcome><outcome value='2'>\r
+<set>\r
+<parameter name='new-name' value='`$splits[1]`' />\r
+</set></outcome><outcome value='Other'>\r
+<return status='failure'>\r
+<parameter name='error-code' value='500' />\r
+<parameter name='error-message' value='Unexpected network role used for panorama naming' />\r
+</return></outcome></switch><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='getLength' >\r
+    <parameter name="source" value="`$new-name`" />\r
+    <parameter name="outputPath" value="tmp.strlen"/>\r
+  \r
+</execute><switch test='`$tmp.strlen > 14`'>\r
+<outcome value='true'>\r
+<block atomic="true"><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring' >\r
+    <parameter name="string" value="`$new-name`" />\r
+    <parameter name="result" value="new-name"/>\r
+    <parameter name="begin-index" value="0" />\r
+    <parameter name="end-index" value="14" />\r
+  \r
+</execute></block></outcome><outcome value='false'>\r
+<block atomic="true"><set>\r
+<parameter name='new-name' value='`$new-name`' />\r
+</set></block></outcome></switch><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+    <parameter name="source" value="`$tmp.trust-sz`"/>\r
+    <parameter name="outputPath" value="tmp.trust-sz"/>\r
+    <parameter name="target" value="$LandingNetworkRole"/>\r
+    <parameter name="replacement" value="`$new-name`"/>\r
+\r
+</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+    <parameter name="source" value="`$tmp.untrust-sz`"/>\r
+    <parameter name="outputPath" value="tmp.untrust-sz"/>\r
+    <parameter name="target" value="$LandingNetworkRole"/>\r
+    <parameter name="replacement" value="`$new-name`"/>\r
+\r
+</execute></block></method></service-logic>