2 xmlns='http://www.onap.org/sdnc/svclogic'
\r
3 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
4 <method rpc='optical-service-create' mode='sync'>
\r
5 <block atomic='true'>
\r
6 <for index='idx' start='0' end='`$optical-service-create-input.payload.param_length`' >
\r
8 <parameter name='params' value='`$optical-service-create-input.payload.param[$idx]`' />
\r
10 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni1_id'`">
\r
11 <outcome value='true'>
\r
13 <parameter name='optical-service-create-input.payload.service-aend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
17 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
18 <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />
\r
19 <parameter name="level" value="info" />
\r
20 <parameter name="field1" value="`$optical-service-create-input.payload.service-aend.port-id`"/>
\r
22 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni2_id'`">
\r
23 <outcome value='true'>
\r
25 <parameter name='optical-service-create-input.payload.service-zend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
29 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
30 <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />
\r
31 <parameter name="level" value="info" />
\r
32 <parameter name="field1" value="`$optical-service-create-input.payload.service-zend.port-id`"/>
\r
34 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni1_coding_func'`">
\r
35 <outcome value='true'>
\r
37 <parameter name='optical-service-create-input.payload.service-rate' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
41 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni_id'`">
\r
42 <outcome value='true'>
\r
44 <parameter name='optical-service-create-input.payload.service-aend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
48 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'enni_id'`">
\r
49 <outcome value='true'>
\r
51 <parameter name='optical-service-create-input.payload.service-zend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
55 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni_coding_func'`">
\r
56 <outcome value='true'>
\r
58 <parameter name='optical-service-create-input.payload.service-rate' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
62 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'enni1_id'`">
\r
63 <outcome value='true'>
\r
65 <parameter name='optical-service-create-input.payload.service-aend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
69 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'enni2_id'`">
\r
70 <outcome value='true'>
\r
72 <parameter name='optical-service-create-input.payload.service-zend.port-id' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
76 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'enni1_coding_func'`">
\r
77 <outcome value='true'>
\r
79 <parameter name='optical-service-create-input.payload.service-rate' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
83 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'service-name'`">
\r
84 <outcome value='true'>
\r
86 <parameter name='optical-service-create-input.payload.service-name' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
90 <switch test="`$optical-service-create-input.payload.param[$idx].name == 'uni1_client_proto'`">
\r
91 <outcome value='true'>
\r
93 <parameter name='optical-service-create-input.payload.service-protocol' value="`$optical-service-create-input.payload.param[$idx].value`"/>
\r
98 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
99 key='SELECT controller_id
\r
100 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE
\r
101 WHERE interface_name = $optical-service-create-input.payload.service-aend.port-id'
\r
103 <outcome value='success'>
\r
105 <parameter name='controller1' value="`$db.source1.controller-id`"/>
\r
109 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
\r
110 key='SELECT controller_id
\r
111 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE
\r
112 WHERE interface_name = $optical-service-create-input.payload.service-zend.port-id'
\r
114 <outcome value='success'>
\r
116 <parameter name='controller2' value="`$db.source2.controller-id`"/>
\r
120 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
\r
121 <parameter name="ctx-destination" value="service1-svc-instance-id"/>
\r
123 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
\r
124 <parameter name="original_string" value='`$controller1`'/>
\r
125 <parameter name="regex" value="_"/>
\r
126 <parameter name="ctx_memory_result_key" value="param-prefix1"/>
\r
128 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
\r
129 <parameter name="original_string" value='`$controller2`'/>
\r
130 <parameter name="regex" value="_"/>
\r
131 <parameter name="ctx_memory_result_key" value="param-prefix2"/>
\r
133 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
\r
134 <parameter name="ctx-destination" value="service1-request-id"/>
\r
137 <parameter name='controller-ip1' value='`$param-prefix1[1]`' />
\r
138 <parameter name='domain-type1' value='`$param-prefix1[0]`' />
\r
139 <parameter name='controller-ip2' value='`$param-prefix2[1]`' />
\r
140 <parameter name='domain-type2' value='`$param-prefix2[0]`' />
\r
142 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
\r
143 <parameter name="ctx-destination" value="service2-svc-instance-id"/>
\r
145 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
\r
146 <parameter name="ctx-destination" value="service2-request-id"/>
\r
148 <switch test='`$controller1==$controller2`'>
\r
149 <outcome value='true'>
\r
152 <parameter name='as-request-id' value='`$optical-service-create-input.request-id`' />
\r
153 <parameter name='as-svc-instance-id' value='`$optical-service-create-input.service-id`' />
\r
156 <parameter name='domain-requests' value="`$service1-request-id`" />
\r
157 <parameter name='optical-service-create-input.request-id' value="`$service1-request-id`" />
\r
158 <parameter name='optical-service-create-input.service-id' value="`$service1-svc-instance-id`" />
\r
159 <parameter name='optical-service-create-input.payload.service-name' value="`$optical-service-create-input.payload.service-name + '_' + 'MDONS-OTN'`" />
\r
161 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
162 <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />
\r
163 <parameter name="level" value="info" />
\r
164 <parameter name="field1" value="`'domain rquest_' + $domain-requests`"/>
\r
165 <parameter name="field2" value="`'Access rquest_' + $as-request-id`"/>
\r
167 <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
168 <call module='optical-service' rpc='main-create' mode='sync' >
\r
169 <outcome value='success'>
\r
170 <switch test='`$final-response-code`'>
\r
171 <outcome value='200'>
\r
173 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
175 key='UPDATE REQUEST_DETAILS SET status = "CREATED" WHERE request_id = $as-request-id'
\r
176 force='true' pfx='save-result'></save>
\r
177 <call module='optical-service' rpc='create-service-relationship' mode='sync' ></call>
\r
178 <return status='success'>
\r
179 <parameter name='error-code' value='200' />
\r
180 <parameter name='error-message' value='Service Created Successfully' />
\r
181 <parameter name='ack-final-indicator' value='Y' />
\r
190 <outcome value='false'>
\r
193 <parameter name='as-request-id' value='`$optical-service-create-input.request-id`' />
\r
194 <parameter name='as-svc-instance-id' value='`$optical-service-create-input.service-id`' />
\r
195 <parameter name='domain-requests' value="`$service1-request-id + ',' + $service2-request-id`" />
\r
197 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r
198 <parameter name="file" value="/opt/opendaylight/current/data/log/optical-service-create.log" />
\r
199 <parameter name="level" value="info" />
\r
200 <parameter name="field1" value="`'domain rquest_' + $domain-requests`"/>
\r
201 <parameter name="field2" value="`'Service 1 req id---' + $service1-request-id`"/>
\r
202 <parameter name="field3" value="`'Service 2 req id---' + $service2-request-id`"/>
\r
204 <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
206 <parameter name='access-aend' value="`$optical-service-create-input.payload.service-aend.port-id`"/>
\r
207 <parameter name='access-zend' value="`$optical-service-create-input.payload.service-zend.port-id`"/>
\r
209 <call module='optical-service' rpc='inter-domain-handling' mode='sync' ></call>
\r