Fix reuse InstanceName when re-creating a service
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_generate-unique-name.xml
1 <service-logic\r
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='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='generate-unique-name' mode='sync'>\r
5         <block atomic="true">\r
6             <set>\r
7                 <parameter name='generate-unique-name-output.error-message' value='' />\r
8                 <parameter name='generate-unique-name-output.generated-name' value='' />\r
9             </set>\r
10             <switch test='`$generate-unique-name-input.supplied-name`'>\r
11                 <outcome value='Other'>\r
12                     <block atomic="true">\r
13                         <switch test='`$generate-unique-name-input.name-table-type`'>\r
14                             <outcome value=''>\r
15                                 <return status='failure'>\r
16                                     <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.name-table-type not supplied' />\r
17                                 </return>\r
18                             </outcome>\r
19                         </switch>\r
20                         <set>\r
21                             <parameter name='tmp.gun.sql' value="`'SELECT * from GENERIC_RESOURCE_NAME WHERE type = $generate-unique-name-input.name-table-type'\r
22 + ' AND name = $generate-unique-name-input.supplied-name'`" />\r
23                         </set>\r
24                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
25   key="`$tmp.gun.sql`" pfx='tmp.gun.namedb'>\r
26                             <outcome value='failure'>\r
27                                 <return status='failure'>\r
28                                     <parameter name='generate-unique-name-output.error-message' value="`'Error reading the ' + $generate-unique-name-input.name-table-index + ' table'`" />\r
29                                 </return>\r
30                             </outcome>\r
31                             <outcome value='not-found'>\r
32                                 <block atomic="true">\r
33                                     <set>\r
34                                         <parameter name='tmp.gun.sql' value="`'insert into GENERIC_RESOURCE_NAME values ( '\r
35 + ' $generate-unique-name-input.name-table-type , $generate-unique-name-input.supplied-name , null , null, $generate-unique-name-input.service-instance-id )'`" />\r
36                                     </set>\r
37                                     <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
38   key="`$tmp.gun.sql`" pfx='pfx'>\r
39                                         <outcome value='failure'>\r
40                                             <return status='failure'>\r
41                                                 <parameter name="generate-unique-name-output.error-message" value="Failed insert into GENERIC_RESOURCE_NAME table" />\r
42                                             </return>\r
43                                         </outcome>\r
44                                     </save>\r
45                                 </block>\r
46                             </outcome>\r
47                             <outcome value='Other'>\r
48                                 <return status='failure'>\r
49                                     <parameter name='generate-unique-name-output.error-message' value="`'The name ' + $generate-unique-name-input.supplied-name + ' has already been used'`" />\r
50                                 </return>\r
51                             </outcome>\r
52                         </get-resource>\r
53                     </block>\r
54                 </outcome>\r
55                 <outcome value=''>\r
56                     <block atomic="true">\r
57                         <switch test='`$generate-unique-name-input.index-table-name`'>\r
58                             <outcome value=''>\r
59                                 <return status='failure'>\r
60                                     <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.index-table-name not supplied' />\r
61                                 </return>\r
62                             </outcome>\r
63                         </switch>\r
64                         <switch test='`$generate-unique-name-input.index-table-prefix-column`'>\r
65                             <outcome value=''>\r
66                                 <return status='failure'>\r
67                                     <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.index-table-prefix-column not supplied' />\r
68                                 </return>\r
69                             </outcome>\r
70                         </switch>\r
71                         <switch test='`$generate-unique-name-input.name-table-type`'>\r
72                             <outcome value=''>\r
73                                 <return status='failure'>\r
74                                     <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.name-table-type not supplied' />\r
75                                 </return>\r
76                             </outcome>\r
77                         </switch>\r
78                         <switch test='`$generate-unique-name-input.prefix`'>\r
79                             <outcome value=''>\r
80                                 <return status='failure'>\r
81                                     <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.prefix not supplied' />\r
82                                 </return>\r
83                             </outcome>\r
84                         </switch>\r
85                         <switch test='`$generate-unique-name-input.index-length`'>\r
86                             <outcome value=''>\r
87                                 <set>\r
88                                     <parameter name='tmp.gun.list-end' value='100000' />\r
89                                 </set>\r
90                             </outcome>\r
91                             <outcome value='0'>\r
92                                 <set>\r
93                                     <parameter name='tmp.gun.list-end' value='0' />\r
94                                 </set>\r
95                             </outcome>\r
96                             <outcome value='1'>\r
97                                 <set>\r
98                                     <parameter name='tmp.gun.list-end' value='10' />\r
99                                 </set>\r
100                             </outcome>\r
101                             <outcome value='2'>\r
102                                 <set>\r
103                                     <parameter name='tmp.gun.list-end' value='100' />\r
104                                 </set>\r
105                             </outcome>\r
106                             <outcome value='3'>\r
107                                 <set>\r
108                                     <parameter name='tmp.gun.list-end' value='1000' />\r
109                                 </set>\r
110                             </outcome>\r
111                             <outcome value='4'>\r
112                                 <set>\r
113                                     <parameter name='tmp.gun.list-end' value='10000' />\r
114                                 </set>\r
115                             </outcome>\r
116                             <outcome value='Other'>\r
117                                 <return status='failure'>\r
118                                     <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.prefix not supplied' />\r
119                                 </return>\r
120                             </outcome>\r
121                         </switch>\r
122                         <set>\r
123                             <parameter name='tmp.gun.noindex-flag' value='false' />\r
124                         </set>\r
125                         <set>\r
126                             <parameter name='tmp.gun.sql' value="`'SELECT * from ' + $generate-unique-name-input.index-table-name\r
127 + ' WHERE ' + $generate-unique-name-input.index-table-prefix-column + ' = '\r
128 + '$generate-unique-name-input.prefix'`" />\r
129                         </set>\r
130                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
131   key="`$tmp.gun.sql`" pfx='tmp.gun.prefixdb'>\r
132                             <outcome value='success'>\r
133                                 <block>\r
134                                     <set>\r
135                                         <parameter name='tmp.gun.index-exists' value='true' />\r
136                                     </set>\r
137                                     <switch test='`$generate-unique-name-input.index-length`'>\r
138                                         <outcome value='Other'>\r
139                                             <set>\r
140                                                 <parameter name='tmp.gun.index-number' value='`$tmp.gun.prefixdb.index-number + 1`' />\r
141                                             </set>\r
142                                         </outcome>\r
143                                         <outcome value='0'>\r
144                                             <block>\r
145                                                 <set>\r
146                                                     <parameter name='tmp.gun.index-number' value='0' />\r
147                                                 </set>\r
148                                                 <set>\r
149                                                     <parameter name='tmp.gun.noindex-flag' value='true' />\r
150                                                 </set>\r
151                                             </block>\r
152                                         </outcome>\r
153                                     </switch>\r
154                                 </block>\r
155                             </outcome>\r
156                             <outcome value='not-found'>\r
157                                 <block>\r
158                                     <set>\r
159                                         <parameter name='tmp.gun.index-exists' value='false' />\r
160                                     </set>\r
161                                     <switch test='`$generate-unique-name-input.index-length`'>\r
162                                         <outcome value='0'>\r
163                                             <block>\r
164                                                 <set>\r
165                                                     <parameter name='tmp.gun.index-number' value='0' />\r
166                                                 </set>\r
167                                                 <set>\r
168                                                     <parameter name='tmp.gun.noindex-flag' value='true' />\r
169                                                 </set>\r
170                                             </block>\r
171                                         </outcome>\r
172                                         <outcome value='Other'>\r
173                                             <set>\r
174                                                 <parameter name='tmp.gun.index-number' value='1' />\r
175                                             </set>\r
176                                         </outcome>\r
177                                     </switch>\r
178                                 </block>\r
179                             </outcome>\r
180                             <outcome value='failure'>\r
181                                 <return status='failure'>\r
182                                     <parameter name="generate-unique-name-output.error-message" value="`'Error reading the ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
183                                 </return>\r
184                             </outcome>\r
185                         </get-resource>\r
186                         <set>\r
187                             <parameter name='tmp.gun.found-flag' value='false' />\r
188                         </set>\r
189                         <block>\r
190                             <for index='tmp.gun.idx' start='`$tmp.gun.index-number`' end='`$tmp.gun.list-end`' >\r
191                                 <block atomic="true">\r
192                                     <switch test='`$generate-unique-name-input.index-length`'>\r
193                                         <outcome value=''>\r
194                                             <set>\r
195                                                 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
196                                             </set>\r
197                                         </outcome>\r
198                                         <outcome value='1'>\r
199                                             <set>\r
200                                                 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
201                                             </set>\r
202                                         </outcome>\r
203                                         <outcome value='2'>\r
204                                             <switch test='`$tmp.gun.idx &lt; 10`'>\r
205                                                 <outcome value='true'>\r
206                                                     <set>\r
207                                                         <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
208                                                     </set>\r
209                                                 </outcome>\r
210                                                 <outcome value='false'>\r
211                                                     <set>\r
212                                                         <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
213                                                     </set>\r
214                                                 </outcome>\r
215                                             </switch>\r
216                                         </outcome>\r
217                                         <outcome value='3'>\r
218                                             <switch test='`$tmp.gun.idx &lt; 10`'>\r
219                                                 <outcome value='true'>\r
220                                                     <set>\r
221                                                         <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />\r
222                                                     </set>\r
223                                                 </outcome>\r
224                                                 <outcome value='false'>\r
225                                                     <switch test='`$tmp.gun.idx &lt; 100`'>\r
226                                                         <outcome value='true'>\r
227                                                             <set>\r
228                                                                 <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
229                                                             </set>\r
230                                                         </outcome>\r
231                                                         <outcome value='false'>\r
232                                                             <set>\r
233                                                                 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
234                                                             </set>\r
235                                                         </outcome>\r
236                                                     </switch>\r
237                                                 </outcome>\r
238                                             </switch>\r
239                                         </outcome>\r
240                                         <outcome value='4'>\r
241                                             <switch test='`$tmp.gun.idx &lt; 10`'>\r
242                                                 <outcome value='true'>\r
243                                                     <set>\r
244                                                         <parameter name='tmp.gun.index-string' value="`'' + '000' + $tmp.gun.idx`" />\r
245                                                     </set>\r
246                                                 </outcome>\r
247                                                 <outcome value='false'>\r
248                                                     <switch test='`$tmp.gun.idx &lt; 100`'>\r
249                                                         <outcome value='true'>\r
250                                                             <set>\r
251                                                                 <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />\r
252                                                             </set>\r
253                                                         </outcome>\r
254                                                         <outcome value='false'>\r
255                                                             <switch test='`$tmp.gun.idx &lt; 1000`'>\r
256                                                                 <outcome value='true'>\r
257                                                                     <set>\r
258                                                                         <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
259                                                                     </set>\r
260                                                                 </outcome>\r
261                                                                 <outcome value='false'>\r
262                                                                     <set>\r
263                                                                         <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
264                                                                     </set>\r
265                                                                 </outcome>\r
266                                                             </switch>\r
267                                                         </outcome>\r
268                                                     </switch>\r
269                                                 </outcome>\r
270                                             </switch>\r
271                                         </outcome>\r
272                                     </switch>\r
273                                     <set>\r
274                                         <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix + $tmp.gun.index-string`' />\r
275                                     </set>\r
276                                     <set>\r
277                                         <parameter name='tmp.gun.sql' value="`'SELECT * from GENERIC_RESOURCE_NAME WHERE type = $generate-unique-name-input.name-table-type'\r
278 + ' AND name = $tmp.gun.generated-name'`" />\r
279                                     </set>\r
280                                     <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
281   key="`$tmp.gun.sql`" pfx='tmp.gun.namedb'>\r
282                                         <outcome value='failure'>\r
283                                             <block atomic="true">\r
284                                                 <set>\r
285                                                     <parameter name='generate-unique-name-output.error-message' value="`'Error reading the GENERIC_RESOURCE_NAME table'`" />\r
286                                                 </set>\r
287                                                 <return status='failure'></return>\r
288                                             </block>\r
289                                         </outcome>\r
290                                         <outcome value='not-found'>\r
291                                             <block atomic="true">\r
292                                                 <set>\r
293                                                     <parameter name='tmp.gun.found-flag' value='true' />\r
294                                                 </set>\r
295                                                 <return status='failure'></return>\r
296                                             </block>\r
297                                         </outcome>\r
298                                     </get-resource>\r
299                                 </block>\r
300                             </for>\r
301                             <switch test='`$tmp.gun.noindex-flag`'>\r
302                                 <outcome value='true'>\r
303                                     <block atomic="true">\r
304                                         <set>\r
305                                             <parameter name='tmp.gun.index-string' value='0' />\r
306                                         </set>\r
307                                         <set>\r
308                                             <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix`' />\r
309                                         </set>\r
310                                         <set>\r
311                                             <parameter name='tmp.gun.sql' value="`'SELECT * from GENERIC_RESOURCE_NAME WHERE type = $generate-unique-name-input.name-table-type'\r
312 + ' AND name = $tmp.gun.generated-name'`" />\r
313                                         </set>\r
314                                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
315   key="`$tmp.gun.sql`" pfx='tmp.gun.namedb'>\r
316                                             <outcome value='failure'>\r
317                                                 <block atomic="true">\r
318                                                     <set>\r
319                                                         <parameter name='generate-unique-name-output.error-message' value="`'Error reading the GENERIC_RESOURCE_NAME table'`" />\r
320                                                     </set>\r
321                                                     <return status='failure'></return>\r
322                                                 </block>\r
323                                             </outcome>\r
324                                             <outcome value='not-found'>\r
325                                                 <block atomic="true">\r
326                                                     <set>\r
327                                                         <parameter name='tmp.gun.found-flag' value='true' />\r
328                                                     </set>\r
329                                                     <return status='failure'></return>\r
330                                                 </block>\r
331                                             </outcome>\r
332                                             <outcome value='success'>\r
333                                                 <block atomic="true">\r
334                                                     <set>\r
335                                                         <parameter name='tmp.gun.found-flag' value='true' />\r
336                                                     </set>\r
337                                                     <return status='failure'></return>\r
338                                                 </block>\r
339                                             </outcome>\r
340                                         </get-resource>\r
341                                     </block>\r
342                                 </outcome>\r
343                             </switch>\r
344                             <return status='success'></return>\r
345                         </block>\r
346                         <switch test='`$generate-unique-name-output.error-message`'>\r
347                             <outcome value=''>\r
348                                 <block></block>\r
349                             </outcome>\r
350                             <outcome value='Other'>\r
351                                 <return status='failure'></return>\r
352                             </outcome>\r
353                         </switch>\r
354                         <switch test='`$tmp.gun.found-flag`'>\r
355                             <outcome value='true'>\r
356                                 <block atomic="true">\r
357                                     <set>\r
358                                         <parameter name='generate-unique-name-output.generated-name' value='`$tmp.gun.generated-name`' />\r
359                                     </set>\r
360                                     <switch test='`$tmp.gun.index-exists`'>\r
361                                         <outcome value='true'>\r
362                                             <block atomic="true">\r
363                                                 <set>\r
364                                                     <parameter name='tmp.gun.sql' value="`'update ' + $generate-unique-name-input.index-table-name\r
365 + ' set index_number = ' + $tmp.gun.index-string + ' where '\r
366 + $generate-unique-name-input.index-table-prefix-column\r
367 + ' = $generate-unique-name-input.prefix'`" />\r
368                                                 </set>\r
369                                                 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
370   key="`$tmp.gun.sql`" pfx='pfx'>\r
371                                                     <outcome value='failure'>\r
372                                                         <return status='failure'>\r
373                                                             <parameter name="generate-unique-name-output.error-message" value="`'Failed to update ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
374                                                         </return>\r
375                                                     </outcome>\r
376                                                 </save>\r
377                                             </block>\r
378                                         </outcome>\r
379                                         <outcome value='false'>\r
380                                             <block atomic="true">\r
381                                                 <set>\r
382                                                     <parameter name='tmp.gun.sql' value="`'insert into ' + $generate-unique-name-input.index-table-name\r
383 + '(' + $generate-unique-name-input.index-table-prefix-column + ', index_number) values ('\r
384 + ' $generate-unique-name-input.prefix , ' + $tmp.gun.index-string + ')'`" />\r
385                                                 </set>\r
386                                                 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
387   key="`$tmp.gun.sql`" pfx='pfx'>\r
388                                                     <outcome value='failure'>\r
389                                                         <return status='failure'>\r
390                                                             <parameter name="generate-unique-name-output.error-message" value="`'Failed to insert record into ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
391                                                         </return>\r
392                                                     </outcome>\r
393                                                 </save>\r
394                                             </block>\r
395                                         </outcome>\r
396                                     </switch>\r
397                                     <set>\r
398                                         <parameter name='tmp.gun.sql' \r
399         value="`'insert into GENERIC_RESOURCE_NAME values ( $generate-unique-name-input.name-table-type , $tmp.gun.generated-name , $generate-unique-name-input.prefix , ' + $tmp.gun.index-string + ' , $tmp.gun.transient )'`" />\r
400                                     </set>\r
401                                     <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
402   key="`$tmp.gun.sql`" pfx='pfx'>\r
403                                         <outcome value='failure'>\r
404                                             <return status='failure'>\r
405                                                 <parameter name="generate-unique-name-output.error-message" value="Failed insert into GENERIC_RESOURCE_NAME table" />\r
406                                             </return>\r
407                                         </outcome>\r
408                                     </save>\r
409                                     <return status='success'></return>\r
410                                 </block>\r
411                             </outcome>\r
412                             <outcome value='false'>\r
413                                 <block atomic="true">\r
414                                     <switch test='`$tmp.gun.noindex-flag`'>\r
415                                         <outcome value='true'>\r
416                                             <return status='failure'>\r
417                                                 <parameter name="generate-unique-name-output.error-message" value="naming exhausted for input with index-length = 0" />\r
418                                             </return>\r
419                                         </outcome>\r
420                                     </switch>\r
421                                     <switch test='`$generate-unique-name-input.index-length`'>\r
422                                         <outcome value=''>\r
423                                             <return status='failure'>\r
424                                                 <parameter name="generate-unique-name-output.error-message" value="We have exhausted the naming index count" />\r
425                                             </return>\r
426                                         </outcome>\r
427                                     </switch>\r
428                                     <block>\r
429                                         <for index='tmp.gun.idx' start='1' end='`$tmp.gun.index-number`' >\r
430                                             <block atomic="true">\r
431                                                 <switch test='`$generate-unique-name-input.index-length`'>\r
432                                                     <outcome value=''>\r
433                                                         <set>\r
434                                                             <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
435                                                         </set>\r
436                                                     </outcome>\r
437                                                     <outcome value='1'>\r
438                                                         <set>\r
439                                                             <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
440                                                         </set>\r
441                                                     </outcome>\r
442                                                     <outcome value='2'>\r
443                                                         <switch test='`$tmp.gun.idx &lt; 10`'>\r
444                                                             <outcome value='true'>\r
445                                                                 <set>\r
446                                                                     <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
447                                                                 </set>\r
448                                                             </outcome>\r
449                                                             <outcome value='false'>\r
450                                                                 <set>\r
451                                                                     <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
452                                                                 </set>\r
453                                                             </outcome>\r
454                                                         </switch>\r
455                                                     </outcome>\r
456                                                     <outcome value='3'>\r
457                                                         <switch test='`$tmp.gun.idx &lt; 10`'>\r
458                                                             <outcome value='true'>\r
459                                                                 <set>\r
460                                                                     <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />\r
461                                                                 </set>\r
462                                                             </outcome>\r
463                                                             <outcome value='false'>\r
464                                                                 <switch test='`$tmp.gun.idx &lt; 100`'>\r
465                                                                     <outcome value='true'>\r
466                                                                         <set>\r
467                                                                             <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
468                                                                         </set>\r
469                                                                     </outcome>\r
470                                                                     <outcome value='false'>\r
471                                                                         <set>\r
472                                                                             <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
473                                                                         </set>\r
474                                                                     </outcome>\r
475                                                                 </switch>\r
476                                                             </outcome>\r
477                                                         </switch>\r
478                                                     </outcome>\r
479                                                 </switch>\r
480                                                 <set>\r
481                                                     <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix + $tmp.gun.index-string`' />\r
482                                                 </set>\r
483                                                 <set>\r
484                                                     <parameter name='tmp.gun.namedb.name' value='' />\r
485                                                 </set>\r
486                                                 <set>\r
487                                                     <parameter name='tmp.gun.sql' value="`'SELECT * from GENERIC_RESOURCE_NAME WHERE type = $generate-unique-name-input.name-table-type'\r
488 + ' AND name = $tmp.gun.generated-name'`" />\r
489                                                 </set>\r
490                                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
491   key="`$tmp.gun.sql`" pfx='tmp.gun.namedb'>\r
492                                                     <outcome value='failure'>\r
493                                                         <block atomic="true">\r
494                                                             <set>\r
495                                                                 <parameter name='generate-unique-name-output.error-message' value="Error reading the GENERIC_RESOURCE_NAME table" />\r
496                                                             </set>\r
497                                                             <return status='failure'></return>\r
498                                                         </block>\r
499                                                     </outcome>\r
500                                                     <outcome value='not-found'>\r
501                                                         <block atomic="true">\r
502                                                             <set>\r
503                                                                 <parameter name='tmp.gun.found-flag' value='true' />\r
504                                                             </set>\r
505                                                             <return status='failure'></return>\r
506                                                         </block>\r
507                                                     </outcome>\r
508                                                 </get-resource>\r
509                                             </block>\r
510                                         </for>\r
511                                         <return status='success'></return>\r
512                                     </block>\r
513                                     <switch test='`$generate-unique-name-output.error-message`'>\r
514                                         <outcome value=''>\r
515                                             <block></block>\r
516                                         </outcome>\r
517                                         <outcome value='Other'>\r
518                                             <return status='failure'></return>\r
519                                         </outcome>\r
520                                     </switch>\r
521                                     <switch test='`$tmp.gun.found-flag`'>\r
522                                         <outcome value='true'>\r
523                                             <block atomic="true">\r
524                                                 <set>\r
525                                                     <parameter name='generate-unique-name-output.generated-name' value='`$tmp.gun.generated-name`' />\r
526                                                 </set>\r
527                                                 <switch test='`$tmp.gun.index-exists`'>\r
528                                                     <outcome value='true'>\r
529                                                         <block atomic="true">\r
530                                                             <set>\r
531                                                                 <parameter name='tmp.gun.sql' value="`'update ' + $generate-unique-name-input.index-table-name\r
532 + ' set index_number = ' + $tmp.gun.index-string + ' where '\r
533 + $generate-unique-name-input.index-table-prefix-column\r
534 + ' = $generate-unique-name-input.prefix'`" />\r
535                                                             </set>\r
536                                                             <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
537   key="`$tmp.gun.sql`" pfx='pfx'>\r
538                                                                 <outcome value='failure'>\r
539                                                                     <return status='failure'>\r
540                                                                         <parameter name="generate-unique-name-output.error-message" value="`'Failed to update ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
541                                                                     </return>\r
542                                                                 </outcome>\r
543                                                             </save>\r
544                                                         </block>\r
545                                                     </outcome>\r
546                                                     <outcome value='false'>\r
547                                                         <block atomic="true">\r
548                                                             <set>\r
549                                                                 <parameter name='tmp.gun.sql' value="`'insert into ' + $generate-unique-name-input.index-table-name\r
550 + '(' + $generate-unique-name-input.index-table-prefix-column + ', index_number) values ('\r
551 + ' $generate-unique-name-input.prefix , ' + $tmp.gun.index-string + ')'`" />\r
552                                                             </set>\r
553                                                             <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
554   key="`$tmp.gun.sql`" pfx='pfx'>\r
555                                                                 <outcome value='failure'>\r
556                                                                     <return status='failure'>\r
557                                                                         <parameter name="generate-unique-name-output.error-message" value="`'Failed to insert record into ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
558                                                                     </return>\r
559                                                                 </outcome>\r
560                                                             </save>\r
561                                                         </block>\r
562                                                     </outcome>\r
563                                                 </switch>\r
564                                                 <set>\r
565                                                     <parameter name='tmp.gun.sql' \r
566         value="`'insert into GENERIC_RESOURCE_NAME values ( $generate-unique-name-input.name-table-type , $tmp.gun.generated-name , $generate-unique-name-input.prefix , ' + $tmp.gun.index-string + ' , $tmp.gun.transient )'`" />\r
567                                                 </set>\r
568                                                 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
569   key="`$tmp.gun.sql`" pfx='pfx'>\r
570                                                     <outcome value='failure'>\r
571                                                         <return status='failure'>\r
572                                                             <parameter name="generate-unique-name-output.error-message" value="Failed insert into GENERIC_RESOURCE_NAME table" />\r
573                                                         </return>\r
574                                                     </outcome>\r
575                                                 </save>\r
576                                                 <return status='success'></return>\r
577                                             </block>\r
578                                         </outcome>\r
579                                     </switch>\r
580                                     <return status='failure'>\r
581                                         <parameter name="generate-unique-name-output.error-message" value="We have exhausted the naming index count" />\r
582                                     </return>\r
583                                 </block>\r
584                             </outcome>\r
585                         </switch>\r
586                     </block>\r
587                 </outcome>\r
588             </switch>\r
589         </block>\r
590     </method>\r
591 </service-logic>