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
7 <parameter name='generate-unique-name-output.error-message' value='' />
\r
8 <parameter name='generate-unique-name-output.generated-name' value='' />
\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
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
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
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
31 <outcome value='not-found'>
\r
32 <block atomic="true">
\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
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
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
56 <block atomic="true">
\r
57 <switch test='`$generate-unique-name-input.index-table-name`'>
\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
64 <switch test='`$generate-unique-name-input.index-table-prefix-column`'>
\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
71 <switch test='`$generate-unique-name-input.name-table-type`'>
\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
78 <switch test='`$generate-unique-name-input.prefix`'>
\r
80 <return status='failure'>
\r
81 <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.prefix not supplied' />
\r
85 <switch test='`$generate-unique-name-input.index-length`'>
\r
88 <parameter name='tmp.gun.list-end' value='100000' />
\r
93 <parameter name='tmp.gun.list-end' value='0' />
\r
98 <parameter name='tmp.gun.list-end' value='10' />
\r
101 <outcome value='2'>
\r
103 <parameter name='tmp.gun.list-end' value='100' />
\r
106 <outcome value='3'>
\r
108 <parameter name='tmp.gun.list-end' value='1000' />
\r
111 <outcome value='4'>
\r
113 <parameter name='tmp.gun.list-end' value='10000' />
\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
123 <parameter name='tmp.gun.noindex-flag' value='false' />
\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
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
135 <parameter name='tmp.gun.index-exists' value='true' />
\r
137 <switch test='`$generate-unique-name-input.index-length`'>
\r
138 <outcome value='Other'>
\r
140 <parameter name='tmp.gun.index-number' value='`$tmp.gun.prefixdb.index-number + 1`' />
\r
143 <outcome value='0'>
\r
146 <parameter name='tmp.gun.index-number' value='0' />
\r
149 <parameter name='tmp.gun.noindex-flag' value='true' />
\r
156 <outcome value='not-found'>
\r
159 <parameter name='tmp.gun.index-exists' value='false' />
\r
161 <switch test='`$generate-unique-name-input.index-length`'>
\r
162 <outcome value='0'>
\r
165 <parameter name='tmp.gun.index-number' value='0' />
\r
168 <parameter name='tmp.gun.noindex-flag' value='true' />
\r
172 <outcome value='Other'>
\r
174 <parameter name='tmp.gun.index-number' value='1' />
\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
187 <parameter name='tmp.gun.found-flag' value='false' />
\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
195 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
198 <outcome value='1'>
\r
200 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
203 <outcome value='2'>
\r
204 <switch test='`$tmp.gun.idx < 10`'>
\r
205 <outcome value='true'>
\r
207 <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />
\r
210 <outcome value='false'>
\r
212 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
217 <outcome value='3'>
\r
218 <switch test='`$tmp.gun.idx < 10`'>
\r
219 <outcome value='true'>
\r
221 <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />
\r
224 <outcome value='false'>
\r
225 <switch test='`$tmp.gun.idx < 100`'>
\r
226 <outcome value='true'>
\r
228 <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />
\r
231 <outcome value='false'>
\r
233 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
240 <outcome value='4'>
\r
241 <switch test='`$tmp.gun.idx < 10`'>
\r
242 <outcome value='true'>
\r
244 <parameter name='tmp.gun.index-string' value="`'' + '000' + $tmp.gun.idx`" />
\r
247 <outcome value='false'>
\r
248 <switch test='`$tmp.gun.idx < 100`'>
\r
249 <outcome value='true'>
\r
251 <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />
\r
254 <outcome value='false'>
\r
255 <switch test='`$tmp.gun.idx < 1000`'>
\r
256 <outcome value='true'>
\r
258 <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />
\r
261 <outcome value='false'>
\r
263 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
274 <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix + $tmp.gun.index-string`' />
\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
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
285 <parameter name='generate-unique-name-output.error-message' value="`'Error reading the GENERIC_RESOURCE_NAME table'`" />
\r
287 <return status='failure'></return>
\r
290 <outcome value='not-found'>
\r
291 <block atomic="true">
\r
293 <parameter name='tmp.gun.found-flag' value='true' />
\r
295 <return status='failure'></return>
\r
301 <switch test='`$tmp.gun.noindex-flag`'>
\r
302 <outcome value='true'>
\r
303 <block atomic="true">
\r
305 <parameter name='tmp.gun.index-string' value='0' />
\r
308 <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix`' />
\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
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
319 <parameter name='generate-unique-name-output.error-message' value="`'Error reading the GENERIC_RESOURCE_NAME table'`" />
\r
321 <return status='failure'></return>
\r
324 <outcome value='not-found'>
\r
325 <block atomic="true">
\r
327 <parameter name='tmp.gun.found-flag' value='true' />
\r
329 <return status='failure'></return>
\r
332 <outcome value='success'>
\r
333 <block atomic="true">
\r
335 <parameter name='tmp.gun.found-flag' value='true' />
\r
337 <return status='failure'></return>
\r
344 <return status='success'></return>
\r
346 <switch test='`$generate-unique-name-output.error-message`'>
\r
350 <outcome value='Other'>
\r
351 <return status='failure'></return>
\r
354 <switch test='`$tmp.gun.found-flag`'>
\r
355 <outcome value='true'>
\r
356 <block atomic="true">
\r
358 <parameter name='generate-unique-name-output.generated-name' value='`$tmp.gun.generated-name`' />
\r
360 <switch test='`$tmp.gun.index-exists`'>
\r
361 <outcome value='true'>
\r
362 <block atomic="true">
\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
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
379 <outcome value='false'>
\r
380 <block atomic="true">
\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
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
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
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
409 <return status='success'></return>
\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
421 <switch test='`$generate-unique-name-input.index-length`'>
\r
423 <return status='failure'>
\r
424 <parameter name="generate-unique-name-output.error-message" value="We have exhausted the naming index count" />
\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
434 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
437 <outcome value='1'>
\r
439 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
442 <outcome value='2'>
\r
443 <switch test='`$tmp.gun.idx < 10`'>
\r
444 <outcome value='true'>
\r
446 <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />
\r
449 <outcome value='false'>
\r
451 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
456 <outcome value='3'>
\r
457 <switch test='`$tmp.gun.idx < 10`'>
\r
458 <outcome value='true'>
\r
460 <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />
\r
463 <outcome value='false'>
\r
464 <switch test='`$tmp.gun.idx < 100`'>
\r
465 <outcome value='true'>
\r
467 <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />
\r
470 <outcome value='false'>
\r
472 <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />
\r
481 <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix + $tmp.gun.index-string`' />
\r
484 <parameter name='tmp.gun.namedb.name' value='' />
\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
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
495 <parameter name='generate-unique-name-output.error-message' value="Error reading the GENERIC_RESOURCE_NAME table" />
\r
497 <return status='failure'></return>
\r
500 <outcome value='not-found'>
\r
501 <block atomic="true">
\r
503 <parameter name='tmp.gun.found-flag' value='true' />
\r
505 <return status='failure'></return>
\r
511 <return status='success'></return>
\r
513 <switch test='`$generate-unique-name-output.error-message`'>
\r
517 <outcome value='Other'>
\r
518 <return status='failure'></return>
\r
521 <switch test='`$tmp.gun.found-flag`'>
\r
522 <outcome value='true'>
\r
523 <block atomic="true">
\r
525 <parameter name='generate-unique-name-output.generated-name' value='`$tmp.gun.generated-name`' />
\r
527 <switch test='`$tmp.gun.index-exists`'>
\r
528 <outcome value='true'>
\r
529 <block atomic="true">
\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
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
546 <outcome value='false'>
\r
547 <block atomic="true">
\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
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
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
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
576 <return status='success'></return>
\r
580 <return status='failure'>
\r
581 <parameter name="generate-unique-name-output.error-message" value="We have exhausted the naming index count" />
\r