xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='optical-service' version='${project.version}'>\r
<method rpc='optical-service-create' mode='sync'>\r
<block atomic='true'>\r
- <call module='optical-service' rpc='optical-validate-input-params' mode='sync' ></call>\r
- <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
- <parameter name='fileName' value='/opt/onap/sdnc/data/properties/optical-service-dg.properties' />\r
- <parameter name='contextPrefix' value='prop' />\r
- </execute>\r
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-key='SELECT controller_id\r
-from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
-WHERE interface_name = $optical-service-create-input.payload.service-aend.port-id\r
-AND interface_id = $optical-service-create-input.payload.service-aend.port-name'\r
-pfx='controllerid'>\r
- <outcome value='success'>\r
- <set>\r
- <parameter name='controller-id' value='`$controllerid.controller-id`' />\r
- </set>\r
- </outcome>\r
- </get-resource>\r
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
- <parameter name="original_string" value='`$controller-id`'/>\r
- <parameter name="regex" value="_"/>\r
- <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
- </execute>\r
- <set>\r
- <parameter name='controller-ip' value='`$param-prefix[1]`' />\r
- </set>\r
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-key='SELECT *\r
-from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
-WHERE interface_name = $optical-service-create-input.payload.service-aend.port-id\r
-AND interface_id = $optical-service-create-input.payload.service-aend.port-name'\r
-pfx='db-aend'>\r
+ <for index='idx' start='0' end='`$optical-service-create-input.payload.param_length`' >\r
+ <set>\r
+ <parameter name='params' value='`$optical-service-create-input.payload.param[$idx]`' />\r
+ </set>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni1_id'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-aend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+ <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+ <parameter name="level" value="info" />\r
+ <parameter name="field1" value="`$optical-service-create-input.payload.service-aend.port-id`"/>\r
+ </record>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni2_id'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-zend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+ <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+ <parameter name="level" value="info" />\r
+ <parameter name="field1" value="`$optical-service-create-input.payload.service-zend.port-id`"/>\r
+ </record>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni1_coding_func'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-rate' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni_id'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-aend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'enni_id'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-zend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni_coding_func'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-rate' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'enni1_id'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-aend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'enni2_id'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-zend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'enni1_coding_func'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-rate' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'service-name'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-name' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni1_client_proto'`">\r
+ <outcome value='true'>\r
+ <set>\r
+ <parameter name='optical-service-create-input.payload.service-protocol' value="`$optical-service-create-input.payload.param[$idx].value`"/>\r
+ </set>\r
+ </outcome>\r
+ </switch>\r
+ </for>\r
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
+key='SELECT controller_id \r
+from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE \r
+WHERE interface_name = $optical-service-create-input.payload.service-aend.port-id' \r
+pfx='db.source1'>\r
<outcome value='success'>\r
<set>\r
- <parameter name='aend-nodeid' value='`$db-aend.pnf-id`' />\r
- <parameter name='a-end-pnf-name' value='`$db-aend.pnf-name`' />\r
- <parameter name='aend-clli' value='`$db-aend.clli`' />\r
+ <parameter name='controller1' value="`$db.source1.controller-id`"/>\r
</set>\r
</outcome>\r
</get-resource>\r
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
-key='SELECT *\r
-from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
-WHERE interface_name = $optical-service-create-input.payload.service-zend.port-id\r
-AND interface_id = $optical-service-create-input.payload.service-zend.port-name'\r
-pfx='db-zend'>\r
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL' \r
+key='SELECT controller_id \r
+from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE \r
+WHERE interface_name = $optical-service-create-input.payload.service-zend.port-id' \r
+pfx='db.source2'>\r
<outcome value='success'>\r
<set>\r
- <parameter name='zend-nodeid' value='`$db-zend.pnf-id`' />\r
- <parameter name='z-end-pnf-name' value='`$db-zend.pnf-name`' />\r
- <parameter name='zend-clli' value='`$db-zend.clli`' />\r
+ <parameter name='controller2' value="`$db.source2.controller-id`"/>\r
</set>\r
</outcome>\r
</get-resource>\r
- <switch test='`$optical-service-create-input.payload.domain-type`'>\r
- <outcome value='MSA'>\r
- <block atomic='true'>\r
- <call module='optical-service' rpc='service-create-msa' mode='sync' ></call>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
+ <parameter name="ctx-destination" value="service1-svc-instance-id"/>\r
+ </execute>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+ <parameter name="original_string" value='`$controller1`'/>\r
+ <parameter name="regex" value="_"/>\r
+ <parameter name="ctx_memory_result_key" value="param-prefix1"/>\r
+ </execute>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
+ <parameter name="original_string" value='`$controller2`'/>\r
+ <parameter name="regex" value="_"/>\r
+ <parameter name="ctx_memory_result_key" value="param-prefix2"/>\r
+ </execute>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
+ <parameter name="ctx-destination" value="service1-request-id"/>\r
+ </execute>\r
+ <set>\r
+ <parameter name='controller-ip1' value='`$param-prefix1[1]`' />\r
+ <parameter name='domain-type1' value='`$param-prefix1[0]`' />\r
+ <parameter name='controller-ip2' value='`$param-prefix2[1]`' />\r
+ <parameter name='domain-type2' value='`$param-prefix2[0]`' />\r
+ </set>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
+ <parameter name="ctx-destination" value="service2-svc-instance-id"/>\r
+ </execute>\r
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
+ <parameter name="ctx-destination" value="service2-request-id"/>\r
+ </execute>\r
+ <switch test='`$controller1==$controller2`'>\r
+ <outcome value='true'>\r
+ <block>\r
+ <set>\r
+ <parameter name='as-request-id' value='`$optical-service-create-input.request-id`' />\r
+ <parameter name='as-svc-instance-id' value='`$optical-service-create-input.service-id`' />\r
+ </set>\r
+ <set>\r
+ <parameter name='domain-requests' value="`$service1-request-id`" />\r
+ <parameter name='optical-service-create-input.request-id' value="`$service1-request-id`" />\r
+ <parameter name='optical-service-create-input.service-id' value="`$service1-svc-instance-id`" />\r
+ <parameter name='optical-service-create-input.payload.service-name' value="`$optical-service-create-input.payload.service-name + '_' + 'MDONS-OTN'`" />\r
+ </set>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+ <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+ <parameter name="level" value="info" />\r
+ <parameter name="field1" value="`'domain rquest_' + $domain-requests`"/>\r
+ <parameter name="field2" value="`'Access rquest_' + $as-request-id`"/>\r
+ </record>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="INSERT INTO REQUEST_DETAILS (request_id, controller_id, status, service_rate, service_instance_id, service_type, global_customer_id, notification_url, domain_requests ) VALUES ( $as-request-id , null , 'CREATING' , $optical-service-create-input.payload.service-rate , $as-svc-instance-id , $optical-service-create-input.service-type , $optical-service-create-input.global-customer-id , $optical-service-create-input.notification-url , $domain-requests );"></save>\r
+ <call module='optical-service' rpc='main-create' mode='sync' >\r
+ <outcome value='success'>\r
+ <switch test='`$final-response-code`'>\r
+ <outcome value='200'>\r
+ <block>\r
+ <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
+resource='SQL' \r
+key='UPDATE REQUEST_DETAILS SET status = "CREATED" WHERE request_id = $as-request-id'\r
+force='true' pfx='save-result'></save>\r
+ <call module='optical-service' rpc='create-service-relationship' mode='sync' ></call>\r
+ <return status='success'>\r
+ <parameter name='error-code' value='200' />\r
+ <parameter name='error-message' value='Service Created Successfully' />\r
+ <parameter name='ack-final-indicator' value='Y' />\r
+ </return>\r
+ </block>\r
+ </outcome>\r
+ </switch>\r
+ </outcome>\r
+ </call>\r
</block>\r
</outcome>\r
- <outcome value='TAPI'>\r
- <block atomic='true'>\r
- <call module='optical-service' rpc='service-create-tapi' mode='sync' ></call>\r
+ <outcome value='false'>\r
+ <block>\r
+ <set>\r
+ <parameter name='as-request-id' value='`$optical-service-create-input.request-id`' />\r
+ <parameter name='as-svc-instance-id' value='`$optical-service-create-input.service-id`' />\r
+ <parameter name='domain-requests' value="`$service1-request-id + ',' + $service2-request-id`" />\r
+ </set>\r
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
+ <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />\r
+ <parameter name="level" value="info" />\r
+ <parameter name="field1" value="`'domain rquest_' + $domain-requests`"/>\r
+ <parameter name="field2" value="`'Service 1 req id---' + $service1-request-id`"/>\r
+ <parameter name="field3" value="`'Service 2 req id---' + $service2-request-id`"/>\r
+ </record>\r
+ <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="INSERT INTO REQUEST_DETAILS (request_id, controller_id, status, service_rate, service_instance_id, service_type, global_customer_id, notification_url, domain_requests ) VALUES ( $as-request-id , null , 'CREATING' , $optical-service-create-input.payload.service-rate , $as-svc-instance-id , $optical-service-create-input.service-type , $optical-service-create-input.global-customer-id , $optical-service-create-input.notification-url , $domain-requests );"></save>\r
+ <set>\r
+ <parameter name='access-aend' value="`$optical-service-create-input.payload.service-aend.port-id`"/>\r
+ <parameter name='access-zend' value="`$optical-service-create-input.payload.service-zend.port-id`"/>\r
+ </set>\r
+ <call module='optical-service' rpc='inter-domain-handling' mode='sync' ></call>\r
</block>\r
</outcome>\r
</switch>\r