Merge "edit activity workflow plan for NS INIT"
[vfc/nfvo/lcm.git] / lcm / ns / data / nsinit.bpmn20.xml
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"\r
3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn"\r
4         xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"\r
5         xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema"\r
6         expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">\r
7         <process id="nsinit" isExecutable="true">\r
8                 <!-- dataObjects -->\r
9                                 <dataObject id="vlCount" name="vlCount">\r
10         <extensionElements>\r
11                 <activiti:value><![CDATA[3]]></activiti:value>\r
12         </extensionElements>\r
13 </dataObject>\r
14                                 <dataObject id="vnfCount" name="vnfCount">\r
15         <extensionElements>\r
16                 <activiti:value><![CDATA[2]]></activiti:value>\r
17         </extensionElements>\r
18 </dataObject>\r
19                                 <dataObject id="sfcCount" name="sfcCount">\r
20         <extensionElements>\r
21                 <activiti:value><![CDATA[4]]></activiti:value>\r
22         </extensionElements>\r
23 </dataObject>\r
24                                 <dataObject id="object_context" name="object_context">\r
25         <extensionElements>\r
26                 <activiti:value><![CDATA[object_context1]]></activiti:value>\r
27         </extensionElements>\r
28 </dataObject>\r
29                                 <dataObject id="nsInstanceId" name="nsInstanceId">\r
30         <extensionElements>\r
31                 <activiti:value><![CDATA[nsInstanceId1]]></activiti:value>\r
32         </extensionElements>\r
33 </dataObject>\r
34                                 <dataObject id="object_additionalParamForNs" name="object_additionalParamForNs">\r
35         <extensionElements>\r
36                 <activiti:value><![CDATA[object_additionalParamForNs1]]></activiti:value>\r
37         </extensionElements>\r
38 </dataObject>\r
39                                 <dataObject id="object_additionalParamForVnf" name="object_additionalParamForVnf">\r
40         <extensionElements>\r
41                 <activiti:value><![CDATA[object_additionalParamForVnf1]]></activiti:value>\r
42         </extensionElements>\r
43 </dataObject>\r
44                                 <dataObject id="jobId" name="jobId">\r
45         <extensionElements>\r
46                 <activiti:value><![CDATA[jobId1]]></activiti:value>\r
47         </extensionElements>\r
48 </dataObject>\r
49                                 <dataObject id="sdnControllerId" name="sdnControllerId">\r
50         <extensionElements>\r
51                 <activiti:value><![CDATA[sdnControllerId1]]></activiti:value>\r
52         </extensionElements>\r
53 </dataObject>\r
54                                 <dataObject id="templateid" name="templateid">\r
55         <extensionElements>\r
56                 <activiti:value><![CDATA[templateid1]]></activiti:value>\r
57         </extensionElements>\r
58 </dataObject>\r
59                                 <dataObject id="instanceid" name="instanceid">\r
60         <extensionElements>\r
61                 <activiti:value><![CDATA[instanceid1]]></activiti:value>\r
62         </extensionElements>\r
63 </dataObject>\r
64                                 <dataObject id="sdnolcmurl" name="sdnolcmurl">\r
65         <extensionElements>\r
66                 <activiti:value><![CDATA[sdnolcmurl1]]></activiti:value>\r
67         </extensionElements>\r
68 </dataObject>\r
69                                 <dataObject id="statusurl" name="statusurl">\r
70         <extensionElements>\r
71                 <activiti:value><![CDATA[statusurl1]]></activiti:value>\r
72         </extensionElements>\r
73 </dataObject>\r
74                                 \r
75                 \r
76                 <!-- Perform bpmn elements -->\r
77                                 \r
78 <startEvent id="node0" name="startEvent">\r
79         <extensionElements>\r
80                                 <activiti:formProperty id="vlCount" name="vlCount" default="3" type="string"></activiti:formProperty>\r
81                         <activiti:formProperty id="vnfCount" name="vnfCount" default="2" type="string"></activiti:formProperty>\r
82                         <activiti:formProperty id="sfcCount" name="sfcCount" default="4" type="string"></activiti:formProperty>\r
83                         <activiti:formProperty id="object_context" name="object_context" default="object_context1" type="string"></activiti:formProperty>\r
84                         <activiti:formProperty id="nsInstanceId" name="nsInstanceId" default="nsInstanceId1" type="string"></activiti:formProperty>\r
85                         <activiti:formProperty id="object_additionalParamForNs" name="object_additionalParamForNs" default="object_additionalParamForNs1" type="string"></activiti:formProperty>\r
86                         <activiti:formProperty id="object_additionalParamForVnf" name="object_additionalParamForVnf" default="object_additionalParamForVnf1" type="string"></activiti:formProperty>\r
87                         <activiti:formProperty id="jobId" name="jobId" default="jobId1" type="string"></activiti:formProperty>\r
88                         <activiti:formProperty id="sdnControllerId" name="sdnControllerId" default="sdnControllerId1" type="string"></activiti:formProperty>\r
89                         <activiti:formProperty id="templateid" name="templateid" default="templateid1" type="string"></activiti:formProperty>\r
90                         <activiti:formProperty id="instanceid" name="instanceid" default="instanceid1" type="string"></activiti:formProperty>\r
91                         <activiti:formProperty id="sdnolcmurl" name="sdnolcmurl" default="sdnolcmurl1" type="string"></activiti:formProperty>\r
92                         <activiti:formProperty id="statusurl" name="statusurl" default="statusurl1" type="string"></activiti:formProperty>\r
93                 </extensionElements>\r
94 </startEvent>\r
95                                 \r
96 <exclusiveGateway id="node1" name="exclusiveGateway"></exclusiveGateway>                                <scriptTask id="node2" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
97       <script><![CDATA[execution.setVariable("vl_index", 1);
98 execution.setVariable("vl_status", "active");]]></script>\r
99 </scriptTask>\r
100                                 \r
101 <serviceTask id="node3" name="createVL" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
102         <extensionElements>\r
103                 <activiti:field name="url">\r
104                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
105                 </activiti:field>\r
106                 <activiti:field name="name">\r
107                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
108                 </activiti:field>\r
109                 <activiti:field name="version">\r
110                         <activiti:string><![CDATA[v1]]></activiti:string>\r
111                 </activiti:field>\r
112                 <activiti:field name="path">\r
113                         <activiti:string><![CDATA[/ns/vls]]></activiti:string>\r
114                 </activiti:field>\r
115                 <activiti:field name="method">\r
116                         <activiti:string><![CDATA[post]]></activiti:string>\r
117                 </activiti:field>\r
118                                 <activiti:field name="accept">\r
119                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
120                 </activiti:field>\r
121                                                 <activiti:field name="contentType">\r
122                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
123                 </activiti:field>\r
124                                 <activiti:field name="parameters">\r
125                         <activiti:string><![CDATA[[{"description":"","name":"body","position":"body","required":true,"type":"String","value":{"value":{"vnfInstanceData":{"value":[],"valueSource":"Definition"},"additionalParamForVnf":{"value":"${object_additionalParamForVnf}","valueSource":"Variable"},"nsInstanceId":{"value":"${nsInstanceId}","valueSource":"Variable"},"flavourId":{"value":"","valueSource":"String"},"pnfInfo":{"value":[],"valueSource":"Definition"},"extNSVirtualLink":{"value":[],"valueSource":"Definition"},"additionalParamForNs":{"value":"${object_additionalParamForNs}","valueSource":"Variable"},"context":{"value":"${object_context}","valueSource":"Variable"},"sapData":{"value":[],"valueSource":"Definition"},"nestedNsInstanceId":{"value":[],"valueSource":"Definition"},"jobId":{"value":"","valueSource":"String"},"locationConstraints":{"value":[],"valueSource":"Definition"},"vlIndex":{"value":"${vl_index}","valueSource":"Variable"}},"valueSource":"Definition"}}]]]></activiti:string>\r
126                 </activiti:field>\r
127         </extensionElements>\r
128 </serviceTask>\r
129                                 <scriptTask id="node4" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
130       <script><![CDATA[execution.setVariable("vl_index", vl_index+1);
131
132 vl_status = node3.responseBody.result;
133
134 vl_status = vl_status.replace(/0/g,"");
135 vl_status += 'active';
136 execution.setVariable("vl_status", vl_status);
137
138
139
140
141 ]]></script>\r
142 </scriptTask>\r
143                                 \r
144 <serviceTask id="node5" name="jobstatus" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
145         <extensionElements>\r
146                 <activiti:field name="url">\r
147                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
148                 </activiti:field>\r
149                 <activiti:field name="name">\r
150                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
151                 </activiti:field>\r
152                 <activiti:field name="version">\r
153                         <activiti:string><![CDATA[v1]]></activiti:string>\r
154                 </activiti:field>\r
155                 <activiti:field name="path">\r
156                         <activiti:string><![CDATA[/jobs/{jobId}]]></activiti:string>\r
157                 </activiti:field>\r
158                 <activiti:field name="method">\r
159                         <activiti:string><![CDATA[post]]></activiti:string>\r
160                 </activiti:field>\r
161                                                 <activiti:field name="parameters">\r
162                         <activiti:string><![CDATA[[{"description":"","name":"jobId","position":"path","required":true,"type":"String","value":"${jobId}","valueSource":"Variable"}, {"description":"","name":"body","position":"body","required":true,"type":"String","value":{"value":{"progress":{"value":"20","valueSource":"String"},"errcode":{"value":"${vl_status}","valueSource":"Variable"},"desc":{"value":"","valueSource":"String"}},"valueSource":"Definition"}}]]]></activiti:string>\r
163                 </activiti:field>\r
164         </extensionElements>\r
165 </serviceTask>\r
166                                 <scriptTask id="node6" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
167       <script><![CDATA[execution.setVariable("vnf_index", 1);
168 execution.setVariable("vnf_status", "active");]]></script>\r
169 </scriptTask>\r
170                                 \r
171 <exclusiveGateway id="node7" name="exclusiveGateway"></exclusiveGateway>                                \r
172 <serviceTask id="node8" name="createVNF" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
173         <extensionElements>\r
174                 <activiti:field name="url">\r
175                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
176                 </activiti:field>\r
177                 <activiti:field name="name">\r
178                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
179                 </activiti:field>\r
180                 <activiti:field name="version">\r
181                         <activiti:string><![CDATA[v1]]></activiti:string>\r
182                 </activiti:field>\r
183                 <activiti:field name="path">\r
184                         <activiti:string><![CDATA[/ns/vnfs]]></activiti:string>\r
185                 </activiti:field>\r
186                 <activiti:field name="method">\r
187                         <activiti:string><![CDATA[post]]></activiti:string>\r
188                 </activiti:field>\r
189                                 <activiti:field name="accept">\r
190                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
191                 </activiti:field>\r
192                                                 <activiti:field name="contentType">\r
193                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
194                 </activiti:field>\r
195                                 <activiti:field name="parameters">\r
196                         <activiti:string><![CDATA[[{"description":"","name":"body","position":"body","required":true,"type":"String","value":{"value":{"vnfInstanceData":{"value":[],"valueSource":"Definition"},"vnfIndex":{"value":"${vnf_index}","valueSource":"Variable"},"additionalParamForVnf":{"value":"${object_additionalParamForVnf}","valueSource":"Variable"},"nsInstanceId":{"value":"${nsInstanceId}","valueSource":"String"},"flavourId":{"value":"","valueSource":"String"},"pnfInfo":{"value":[],"valueSource":"Definition"},"extNSVirtualLink":{"value":[],"valueSource":"Definition"},"additionalParamForNs":{"value":"${object_additionalParamForNs}","valueSource":"Variable"},"context":{"value":"${object_context}","valueSource":"String"},"sapData":{"value":[],"valueSource":"Definition"},"nestedNsInstanceId":{"value":[],"valueSource":"Definition"},"jobId":{"value":"","valueSource":"String"},"locationConstraints":{"value":[],"valueSource":"Definition"}},"valueSource":"Definition"}}]]]></activiti:string>\r
197                 </activiti:field>\r
198         </extensionElements>\r
199 </serviceTask>\r
200                                 <scriptTask id="node9" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
201       <script><![CDATA[execution.setVariable("vnf_index", vnf_index+1);]]></script>\r
202 </scriptTask>\r
203                                 \r
204 <serviceTask id="node10" name="restTask" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
205         <extensionElements>\r
206                 <activiti:field name="url">\r
207                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
208                 </activiti:field>\r
209                 <activiti:field name="name">\r
210                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
211                 </activiti:field>\r
212                 <activiti:field name="version">\r
213                         <activiti:string><![CDATA[v1]]></activiti:string>\r
214                 </activiti:field>\r
215                 <activiti:field name="path">\r
216                         <activiti:string><![CDATA[/ns/vnfs/{vnfInstId}]]></activiti:string>\r
217                 </activiti:field>\r
218                 <activiti:field name="method">\r
219                         <activiti:string><![CDATA[get]]></activiti:string>\r
220                 </activiti:field>\r
221                                 <activiti:field name="accept">\r
222                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
223                 </activiti:field>\r
224                                                 <activiti:field name="contentType">\r
225                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
226                 </activiti:field>\r
227                                 <activiti:field name="parameters">\r
228                         <activiti:string><![CDATA[[{"description":"","name":"vnfInstId","position":"path","required":true,"type":"String","value":"[node8].[responseBody].[vnfInstId]","valueSource":"Plan"}]]]></activiti:string>\r
229                 </activiti:field>\r
230         </extensionElements>\r
231 </serviceTask>\r
232                                 \r
233 <exclusiveGateway id="node11" name="exclusiveGateway"></exclusiveGateway>                               \r
234 <serviceTask id="node13" name="jobstatus" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
235         <extensionElements>\r
236                 <activiti:field name="url">\r
237                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
238                 </activiti:field>\r
239                 <activiti:field name="name">\r
240                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
241                 </activiti:field>\r
242                 <activiti:field name="version">\r
243                         <activiti:string><![CDATA[v1]]></activiti:string>\r
244                 </activiti:field>\r
245                 <activiti:field name="path">\r
246                         <activiti:string><![CDATA[/jobs/{jobId}]]></activiti:string>\r
247                 </activiti:field>\r
248                 <activiti:field name="method">\r
249                         <activiti:string><![CDATA[post]]></activiti:string>\r
250                 </activiti:field>\r
251                                                 <activiti:field name="parameters">\r
252                         <activiti:string><![CDATA[[{"description":"","name":"jobId","position":"path","required":true,"type":"String","value":"[jobId]","valueSource":"Plan"}, {"description":"","name":"body","position":"body","required":true,"type":"String","value":{"value":{"progress":{"value":"60","valueSource":"String"},"errcode":{"value":"${vnf_status}","valueSource":"Variable"},"desc":{"value":"","valueSource":"String"}},"valueSource":"Definition"}}]]]></activiti:string>\r
253                 </activiti:field>\r
254         </extensionElements>\r
255 </serviceTask>\r
256                                 <scriptTask id="node14" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
257       <script><![CDATA[execution.setVariable("sfc_index", 1);
258 execution.setVariable("sfc_status", "active");]]></script>\r
259 </scriptTask>\r
260                                 \r
261 <exclusiveGateway id="node15" name="exclusiveGateway"></exclusiveGateway>                               \r
262 <serviceTask id="node16" name="createSFC" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
263         <extensionElements>\r
264                 <activiti:field name="url">\r
265                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
266                 </activiti:field>\r
267                 <activiti:field name="name">\r
268                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
269                 </activiti:field>\r
270                 <activiti:field name="version">\r
271                         <activiti:string><![CDATA[v1]]></activiti:string>\r
272                 </activiti:field>\r
273                 <activiti:field name="path">\r
274                         <activiti:string><![CDATA[/ns/sfcs]]></activiti:string>\r
275                 </activiti:field>\r
276                 <activiti:field name="method">\r
277                         <activiti:string><![CDATA[post]]></activiti:string>\r
278                 </activiti:field>\r
279                                 <activiti:field name="accept">\r
280                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
281                 </activiti:field>\r
282                                                 <activiti:field name="contentType">\r
283                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
284                 </activiti:field>\r
285                                 <activiti:field name="parameters">\r
286                         <activiti:string><![CDATA[[{"description":"","name":"body","position":"body","required":true,"type":"String","value":{"value":{"sdnControllerId":{"value":"[sdnControllerId]","valueSource":"Plan"},"vnfInstanceData":{"value":[],"valueSource":"Definition"},"additionalParamForVnf":{"value":"[object_additionalParamForVnf]","valueSource":"Plan"},"nsInstanceId":{"value":"[nsInstanceId]","valueSource":"Plan"},"jobId":{"value":"","valueSource":"String"},"additionalParamForNs":{"value":"[object_additionalParamForNs]","valueSource":"Plan"},"context":{"value":"${object_context}","valueSource":"String"},"sapData":{"value":[],"valueSource":"Definition"},"fpindex":{"value":"${sfc_index}","valueSource":"String"}},"valueSource":"Definition"}}]]]></activiti:string>\r
287                 </activiti:field>\r
288         </extensionElements>\r
289 </serviceTask>\r
290                                 \r
291 <serviceTask id="node17" name="querySFC" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
292         <extensionElements>\r
293                 <activiti:field name="url">\r
294                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
295                 </activiti:field>\r
296                 <activiti:field name="name">\r
297                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
298                 </activiti:field>\r
299                 <activiti:field name="version">\r
300                         <activiti:string><![CDATA[v1]]></activiti:string>\r
301                 </activiti:field>\r
302                 <activiti:field name="path">\r
303                         <activiti:string><![CDATA[/ns/sfcs/{sfcInstId}]]></activiti:string>\r
304                 </activiti:field>\r
305                 <activiti:field name="method">\r
306                         <activiti:string><![CDATA[get]]></activiti:string>\r
307                 </activiti:field>\r
308                                 <activiti:field name="accept">\r
309                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
310                 </activiti:field>\r
311                                                 <activiti:field name="contentType">\r
312                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
313                 </activiti:field>\r
314                                 <activiti:field name="parameters">\r
315                         <activiti:string><![CDATA[[{"description":"","name":"sfcInstId","position":"path","required":true,"type":"String","value":"[node16].[responseBody].[sfcInstId]","valueSource":"Plan"}]]]></activiti:string>\r
316                 </activiti:field>\r
317         </extensionElements>\r
318 </serviceTask>\r
319                                 \r
320 <exclusiveGateway id="node18" name="exclusiveGateway"></exclusiveGateway>                               \r
321 <intermediateCatchEvent id="node19" name="intermediateCatchEvent">\r
322         <timerEventDefinition>\r
323         <timeDuration><![CDATA[PT10S]]></timeDuration>\r
324       </timerEventDefinition>\r
325 </intermediateCatchEvent>\r
326                                 <scriptTask id="node20" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
327       <script><![CDATA[execution.setVariable("sfc_index", sfc_index + 1);]]></script>\r
328 </scriptTask>\r
329                                 \r
330 <serviceTask id="node21" name="jobstatus" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
331         <extensionElements>\r
332                 <activiti:field name="url">\r
333                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
334                 </activiti:field>\r
335                 <activiti:field name="name">\r
336                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
337                 </activiti:field>\r
338                 <activiti:field name="version">\r
339                         <activiti:string><![CDATA[v1]]></activiti:string>\r
340                 </activiti:field>\r
341                 <activiti:field name="path">\r
342                         <activiti:string><![CDATA[/jobs/{jobId}]]></activiti:string>\r
343                 </activiti:field>\r
344                 <activiti:field name="method">\r
345                         <activiti:string><![CDATA[post]]></activiti:string>\r
346                 </activiti:field>\r
347                                                 <activiti:field name="parameters">\r
348                         <activiti:string><![CDATA[[{"description":"","name":"jobId","position":"path","required":true,"type":"String","value":"[jobId]","valueSource":"Plan"}, {"description":"","name":"body","position":"body","required":true,"type":"String","value":{"value":{"progress":{"value":"80","valueSource":"String"},"errcode":{"value":"${sfc_status}","valueSource":"Variable"},"desc":{"value":"","valueSource":"String"}},"valueSource":"Definition"}}]]]></activiti:string>\r
349                 </activiti:field>\r
350         </extensionElements>\r
351 </serviceTask>\r
352                                 \r
353 <serviceTask id="node23" name="post_do" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
354         <extensionElements>\r
355                 <activiti:field name="url">\r
356                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
357                 </activiti:field>\r
358                 <activiti:field name="name">\r
359                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
360                 </activiti:field>\r
361                 <activiti:field name="version">\r
362                         <activiti:string><![CDATA[v1]]></activiti:string>\r
363                 </activiti:field>\r
364                 <activiti:field name="path">\r
365                         <activiti:string><![CDATA[/ns/{nsInstanceId}/postdeal]]></activiti:string>\r
366                 </activiti:field>\r
367                 <activiti:field name="method">\r
368                         <activiti:string><![CDATA[post]]></activiti:string>\r
369                 </activiti:field>\r
370                                 <activiti:field name="accept">\r
371                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
372                 </activiti:field>\r
373                                                 <activiti:field name="contentType">\r
374                         <activiti:string><![CDATA[[application/json]]]></activiti:string>\r
375                 </activiti:field>\r
376                                 <activiti:field name="parameters">\r
377                         <activiti:string><![CDATA[[{"description":"","name":"nsInstanceId","position":"path","required":true,"type":"String","value":"[nsInstanceId]","valueSource":"Plan"}, {"description":"","name":"body","position":"body","required":true,"type":"String","value":{"value":{"status":{"value":"${exec_status}","valueSource":"Variable"}},"valueSource":"Definition"}}]]]></activiti:string>\r
378                 </activiti:field>\r
379         </extensionElements>\r
380 </serviceTask>\r
381                                 \r
382 <serviceTask id="node24" name="jobstatus" activiti:class="com.zte.ums.workflow.activitiext.restservicetask.HttpUtil">\r
383         <extensionElements>\r
384                 <activiti:field name="url">\r
385                         <activiti:string><![CDATA[/api/nslcm/v1]]></activiti:string>\r
386                 </activiti:field>\r
387                 <activiti:field name="name">\r
388                         <activiti:string><![CDATA[nslcm]]></activiti:string>\r
389                 </activiti:field>\r
390                 <activiti:field name="version">\r
391                         <activiti:string><![CDATA[v1]]></activiti:string>\r
392                 </activiti:field>\r
393                 <activiti:field name="path">\r
394                         <activiti:string><![CDATA[/jobs/{jobId}]]></activiti:string>\r
395                 </activiti:field>\r
396                 <activiti:field name="method">\r
397                         <activiti:string><![CDATA[post]]></activiti:string>\r
398                 </activiti:field>\r
399                                                 <activiti:field name="parameters">\r
400                         <activiti:string><![CDATA[[{"description":"","name":"jobId","position":"path","required":true,"type":"String","value":"[jobId]","valueSource":"Plan"}, {"description":"","name":"body","position":"body","required":true,"type":"String","value":{"value":{"progress":{"value":"100","valueSource":"String"},"errcode":{"value":"${exec_status}","valueSource":"Variable"},"desc":{"value":"","valueSource":"String"}},"valueSource":"Definition"}}]]]></activiti:string>\r
401                 </activiti:field>\r
402         </extensionElements>\r
403 </serviceTask>\r
404                                 \r
405 \r
406 <endEvent id="node25" name="endEvent">\r
407 </endEvent>\r
408                                 \r
409 <intermediateCatchEvent id="node12" name="intermediateCatchEvent">\r
410         <timerEventDefinition>\r
411         <timeDuration><![CDATA[PT10S]]></timeDuration>\r
412       </timerEventDefinition>\r
413 </intermediateCatchEvent>\r
414                                 <scriptTask id="node26" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
415       <script><![CDATA[
416 execution.setVariable("vnf_status",  node10.responseBody.vnfStatus);]]></script>\r
417 </scriptTask>\r
418                                 <scriptTask id="node27" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
419       <script><![CDATA[execution.setVariable("sfc_status", node17.responseBody.sfcStatus);]]></script>\r
420 </scriptTask>\r
421                                 <scriptTask id="node28" name="scriptTask" scriptFormat="javascript" activiti:autoStoreVariables="false">\r
422       <script><![CDATA[// starts-with($vl_status,'active') and contains($vnf_status,'active') and contains($sfc_status,'active')
423
424 exec_status = vl_status.indexOf('active') == 0 && vnf_status.indexOf('active') != -1 && sfc_status.indexOf('active') != -1
425
426 execution.setVariable("exec_status", exec_status );]]></script>\r
427 </scriptTask>\r
428                 \r
429                 <!-- Perform bpmn sequence flow -->\r
430                                 <sequenceFlow id="node0node2" sourceRef="node0" targetRef="node2">\r
431 </sequenceFlow>                         <sequenceFlow id="node1node3" sourceRef="node1" targetRef="node3">\r
432   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${(vl_index<=vlCount) and (vl_status=='active')}]]></conditionExpression>\r
433 </sequenceFlow>                         <sequenceFlow id="node1node5" sourceRef="node1" targetRef="node5">\r
434   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!((vl_index<=vlCount) and (vl_status=='active'))}]]></conditionExpression>\r
435 </sequenceFlow>                         <sequenceFlow id="node2node1" sourceRef="node2" targetRef="node1">\r
436 </sequenceFlow>                         <sequenceFlow id="node3node4" sourceRef="node3" targetRef="node4">\r
437 </sequenceFlow>                         <sequenceFlow id="node4node1" sourceRef="node4" targetRef="node1">\r
438 </sequenceFlow>                         <sequenceFlow id="node5node6" sourceRef="node5" targetRef="node6">\r
439 </sequenceFlow>                         <sequenceFlow id="node6node7" sourceRef="node6" targetRef="node7">\r
440 </sequenceFlow>                         <sequenceFlow id="node7node8" sourceRef="node7" targetRef="node8">\r
441   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${vnf_index<=vnfCount and vl_status=='active' and vnf_status=='active'}]]></conditionExpression>\r
442 </sequenceFlow>                         <sequenceFlow id="node7node13" sourceRef="node7" targetRef="node13">\r
443   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!(vnf_index<=vnfCount and vl_status=='active' and vnf_status=='active')}]]></conditionExpression>\r
444 </sequenceFlow>                         <sequenceFlow id="node8node12" sourceRef="node8" targetRef="node12">\r
445 </sequenceFlow>                         <sequenceFlow id="node9node7" sourceRef="node9" targetRef="node7">\r
446 </sequenceFlow>                         <sequenceFlow id="node10node26" sourceRef="node10" targetRef="node26">\r
447 </sequenceFlow>                         <sequenceFlow id="node11node9" sourceRef="node11" targetRef="node9">\r
448   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${vnf_status=='active' or vnf_status=='failed'}]]></conditionExpression>\r
449 </sequenceFlow>                         <sequenceFlow id="node11node12" sourceRef="node11" targetRef="node12">\r
450   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!(vnf_status=='active' or vnf_status=='failed')}]]></conditionExpression>\r
451 </sequenceFlow>                         <sequenceFlow id="node13node14" sourceRef="node13" targetRef="node14">\r
452 </sequenceFlow>                         <sequenceFlow id="node14node15" sourceRef="node14" targetRef="node15">\r
453 </sequenceFlow>                         <sequenceFlow id="node15node16" sourceRef="node15" targetRef="node16">\r
454   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${sfc_index<=sfcCount and vl_status=='active' and vnf_status=='active' and sfc_status=='active'}]]></conditionExpression>\r
455 </sequenceFlow>                         <sequenceFlow id="node15node21" sourceRef="node15" targetRef="node21">\r
456   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!(sfc_index<=sfcCount and vl_status=='active' and vnf_status=='active' and sfc_status=='active')}]]></conditionExpression>\r
457 </sequenceFlow>                         <sequenceFlow id="node16node19" sourceRef="node16" targetRef="node19">\r
458 </sequenceFlow>                         <sequenceFlow id="node17node27" sourceRef="node17" targetRef="node27">\r
459 </sequenceFlow>                         <sequenceFlow id="node18node19" sourceRef="node18" targetRef="node19">\r
460   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!(sfc_status=='active' or sfc_status=='failed')}]]></conditionExpression>\r
461 </sequenceFlow>                         <sequenceFlow id="node18node20" sourceRef="node18" targetRef="node20">\r
462   <conditionExpression xsi:type="tFormalExpression"><![CDATA[${sfc_status=='active' or sfc_status=='failed'}]]></conditionExpression>\r
463 </sequenceFlow>                         <sequenceFlow id="node19node17" sourceRef="node19" targetRef="node17">\r
464 </sequenceFlow>                         <sequenceFlow id="node20node15" sourceRef="node20" targetRef="node15">\r
465 </sequenceFlow>                         <sequenceFlow id="node21node28" sourceRef="node21" targetRef="node28">\r
466 </sequenceFlow>                         <sequenceFlow id="node23node24" sourceRef="node23" targetRef="node24">\r
467 </sequenceFlow>                         <sequenceFlow id="node24node25" sourceRef="node24" targetRef="node25">\r
468 </sequenceFlow>                         <sequenceFlow id="node12node10" sourceRef="node12" targetRef="node10">\r
469 </sequenceFlow>                         <sequenceFlow id="node26node11" sourceRef="node26" targetRef="node11">\r
470 </sequenceFlow>                         <sequenceFlow id="node27node18" sourceRef="node27" targetRef="node18">\r
471 </sequenceFlow>                         <sequenceFlow id="node28node23" sourceRef="node28" targetRef="node23">\r
472 </sequenceFlow>         \r
473         </process>\r
474 </definitions>\r
475 \r