+++ /dev/null
-<service-logic\r
- xmlns='http://www.onap.org/sdnc/svclogic'\r
- 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
- <method rpc='generate-unique-name' mode='sync'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='generate-unique-name-output.error-message' value='' />\r
- <parameter name='generate-unique-name-output.generated-name' value='' />\r
- </set>\r
- <switch test='`$generate-unique-name-input.supplied-name`'>\r
- <outcome value='Other'>\r
- <block atomic="true">\r
- <switch test='`$generate-unique-name-input.name-table-type`'>\r
- <outcome value=''>\r
- <return status='failure'>\r
- <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.name-table-type not supplied' />\r
- </return>\r
- </outcome>\r
- </switch>\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'SELECT * from GENERIC_RESOURCE_NAME WHERE type = $generate-unique-name-input.name-table-type'\r
-+ ' AND name = $generate-unique-name-input.supplied-name'`" />\r
- </set>\r
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='tmp.gun.namedb'>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name='generate-unique-name-output.error-message' value="`'Error reading the ' + $generate-unique-name-input.name-table-index + ' table'`" />\r
- </return>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'insert into GENERIC_RESOURCE_NAME values ( '\r
-+ ' $generate-unique-name-input.name-table-type , $generate-unique-name-input.supplied-name , null , null, $generate-unique-name-input.service-instance-id )'`" />\r
- </set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='pfx'>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="Failed insert into GENERIC_RESOURCE_NAME table" />\r
- </return>\r
- </outcome>\r
- </save>\r
- </block>\r
- </outcome>\r
- <outcome value='Other'>\r
- <return status='failure'>\r
- <parameter name='generate-unique-name-output.error-message' value="`'The name ' + $generate-unique-name-input.supplied-name + ' has already been used'`" />\r
- </return>\r
- </outcome>\r
- </get-resource>\r
- </block>\r
- </outcome>\r
- <outcome value=''>\r
- <block atomic="true">\r
- <switch test='`$generate-unique-name-input.index-table-name`'>\r
- <outcome value=''>\r
- <return status='failure'>\r
- <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.index-table-name not supplied' />\r
- </return>\r
- </outcome>\r
- </switch>\r
- <switch test='`$generate-unique-name-input.index-table-prefix-column`'>\r
- <outcome value=''>\r
- <return status='failure'>\r
- <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.index-table-prefix-column not supplied' />\r
- </return>\r
- </outcome>\r
- </switch>\r
- <switch test='`$generate-unique-name-input.name-table-type`'>\r
- <outcome value=''>\r
- <return status='failure'>\r
- <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.name-table-type not supplied' />\r
- </return>\r
- </outcome>\r
- </switch>\r
- <switch test='`$generate-unique-name-input.prefix`'>\r
- <outcome value=''>\r
- <return status='failure'>\r
- <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.prefix not supplied' />\r
- </return>\r
- </outcome>\r
- </switch>\r
- <switch test='`$generate-unique-name-input.index-length`'>\r
- <outcome value=''>\r
- <set>\r
- <parameter name='tmp.gun.list-end' value='100000' />\r
- </set>\r
- </outcome>\r
- <outcome value='0'>\r
- <set>\r
- <parameter name='tmp.gun.list-end' value='0' />\r
- </set>\r
- </outcome>\r
- <outcome value='1'>\r
- <set>\r
- <parameter name='tmp.gun.list-end' value='10' />\r
- </set>\r
- </outcome>\r
- <outcome value='2'>\r
- <set>\r
- <parameter name='tmp.gun.list-end' value='100' />\r
- </set>\r
- </outcome>\r
- <outcome value='3'>\r
- <set>\r
- <parameter name='tmp.gun.list-end' value='1000' />\r
- </set>\r
- </outcome>\r
- <outcome value='4'>\r
- <set>\r
- <parameter name='tmp.gun.list-end' value='10000' />\r
- </set>\r
- </outcome>\r
- <outcome value='Other'>\r
- <return status='failure'>\r
- <parameter name='generate-unique-name-output.error-message' value='generate-unique-name-input.prefix not supplied' />\r
- </return>\r
- </outcome>\r
- </switch>\r
- <set>\r
- <parameter name='tmp.gun.noindex-flag' value='false' />\r
- </set>\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'SELECT * from ' + $generate-unique-name-input.index-table-name\r
-+ ' WHERE ' + $generate-unique-name-input.index-table-prefix-column + ' = '\r
-+ '$generate-unique-name-input.prefix'`" />\r
- </set>\r
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='tmp.gun.prefixdb'>\r
- <outcome value='success'>\r
- <block>\r
- <set>\r
- <parameter name='tmp.gun.index-exists' value='true' />\r
- </set>\r
- <switch test='`$generate-unique-name-input.index-length`'>\r
- <outcome value='Other'>\r
- <set>\r
- <parameter name='tmp.gun.index-number' value='`$tmp.gun.prefixdb.index-number + 1`' />\r
- </set>\r
- </outcome>\r
- <outcome value='0'>\r
- <block>\r
- <set>\r
- <parameter name='tmp.gun.index-number' value='0' />\r
- </set>\r
- <set>\r
- <parameter name='tmp.gun.noindex-flag' value='true' />\r
- </set>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block>\r
- <set>\r
- <parameter name='tmp.gun.index-exists' value='false' />\r
- </set>\r
- <switch test='`$generate-unique-name-input.index-length`'>\r
- <outcome value='0'>\r
- <block>\r
- <set>\r
- <parameter name='tmp.gun.index-number' value='0' />\r
- </set>\r
- <set>\r
- <parameter name='tmp.gun.noindex-flag' value='true' />\r
- </set>\r
- </block>\r
- </outcome>\r
- <outcome value='Other'>\r
- <set>\r
- <parameter name='tmp.gun.index-number' value='1' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="`'Error reading the ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
- </return>\r
- </outcome>\r
- </get-resource>\r
- <set>\r
- <parameter name='tmp.gun.found-flag' value='false' />\r
- </set>\r
- <block>\r
- <for index='tmp.gun.idx' start='`$tmp.gun.index-number`' end='`$tmp.gun.list-end`' >\r
- <block atomic="true">\r
- <switch test='`$generate-unique-name-input.index-length`'>\r
- <outcome value=''>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- <outcome value='1'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- <outcome value='2'>\r
- <switch test='`$tmp.gun.idx < 10`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- <outcome value='3'>\r
- <switch test='`$tmp.gun.idx < 10`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <switch test='`$tmp.gun.idx < 100`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- <outcome value='4'>\r
- <switch test='`$tmp.gun.idx < 10`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '000' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <switch test='`$tmp.gun.idx < 100`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <switch test='`$tmp.gun.idx < 1000`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- </switch>\r
- <set>\r
- <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix + $tmp.gun.index-string`' />\r
- </set>\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'SELECT * from GENERIC_RESOURCE_NAME WHERE type = $generate-unique-name-input.name-table-type'\r
-+ ' AND name = $tmp.gun.generated-name'`" />\r
- </set>\r
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='tmp.gun.namedb'>\r
- <outcome value='failure'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='generate-unique-name-output.error-message' value="`'Error reading the GENERIC_RESOURCE_NAME table'`" />\r
- </set>\r
- <return status='failure'></return>\r
- </block>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.found-flag' value='true' />\r
- </set>\r
- <return status='failure'></return>\r
- </block>\r
- </outcome>\r
- </get-resource>\r
- </block>\r
- </for>\r
- <switch test='`$tmp.gun.noindex-flag`'>\r
- <outcome value='true'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='0' />\r
- </set>\r
- <set>\r
- <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix`' />\r
- </set>\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'SELECT * from GENERIC_RESOURCE_NAME WHERE type = $generate-unique-name-input.name-table-type'\r
-+ ' AND name = $tmp.gun.generated-name'`" />\r
- </set>\r
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='tmp.gun.namedb'>\r
- <outcome value='failure'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='generate-unique-name-output.error-message' value="`'Error reading the GENERIC_RESOURCE_NAME table'`" />\r
- </set>\r
- <return status='failure'></return>\r
- </block>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.found-flag' value='true' />\r
- </set>\r
- <return status='failure'></return>\r
- </block>\r
- </outcome>\r
- <outcome value='success'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.found-flag' value='true' />\r
- </set>\r
- <return status='failure'></return>\r
- </block>\r
- </outcome>\r
- </get-resource>\r
- </block>\r
- </outcome>\r
- </switch>\r
- <return status='success'></return>\r
- </block>\r
- <switch test='`$generate-unique-name-output.error-message`'>\r
- <outcome value=''>\r
- <block></block>\r
- </outcome>\r
- <outcome value='Other'>\r
- <return status='failure'></return>\r
- </outcome>\r
- </switch>\r
- <switch test='`$tmp.gun.found-flag`'>\r
- <outcome value='true'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='generate-unique-name-output.generated-name' value='`$tmp.gun.generated-name`' />\r
- </set>\r
- <switch test='`$tmp.gun.index-exists`'>\r
- <outcome value='true'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'update ' + $generate-unique-name-input.index-table-name\r
-+ ' set index_number = ' + $tmp.gun.index-string + ' where '\r
-+ $generate-unique-name-input.index-table-prefix-column\r
-+ ' = $generate-unique-name-input.prefix'`" />\r
- </set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='pfx'>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="`'Failed to update ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
- </return>\r
- </outcome>\r
- </save>\r
- </block>\r
- </outcome>\r
- <outcome value='false'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'insert into ' + $generate-unique-name-input.index-table-name\r
-+ '(' + $generate-unique-name-input.index-table-prefix-column + ', index_number) values ('\r
-+ ' $generate-unique-name-input.prefix , ' + $tmp.gun.index-string + ')'`" />\r
- </set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='pfx'>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="`'Failed to insert record into ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
- </return>\r
- </outcome>\r
- </save>\r
- </block>\r
- </outcome>\r
- </switch>\r
- <set>\r
- <parameter name='tmp.gun.sql' \r
- 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
- </set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='pfx'>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="Failed insert into GENERIC_RESOURCE_NAME table" />\r
- </return>\r
- </outcome>\r
- </save>\r
- <return status='success'></return>\r
- </block>\r
- </outcome>\r
- <outcome value='false'>\r
- <block atomic="true">\r
- <switch test='`$tmp.gun.noindex-flag`'>\r
- <outcome value='true'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="naming exhausted for input with index-length = 0" />\r
- </return>\r
- </outcome>\r
- </switch>\r
- <switch test='`$generate-unique-name-input.index-length`'>\r
- <outcome value=''>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="We have exhausted the naming index count" />\r
- </return>\r
- </outcome>\r
- </switch>\r
- <block>\r
- <for index='tmp.gun.idx' start='1' end='`$tmp.gun.index-number`' >\r
- <block atomic="true">\r
- <switch test='`$generate-unique-name-input.index-length`'>\r
- <outcome value=''>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- <outcome value='1'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- <outcome value='2'>\r
- <switch test='`$tmp.gun.idx < 10`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- <outcome value='3'>\r
- <switch test='`$tmp.gun.idx < 10`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '00' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <switch test='`$tmp.gun.idx < 100`'>\r
- <outcome value='true'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value="`'' + '0' + $tmp.gun.idx`" />\r
- </set>\r
- </outcome>\r
- <outcome value='false'>\r
- <set>\r
- <parameter name='tmp.gun.index-string' value='`$tmp.gun.idx`' />\r
- </set>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- </switch>\r
- <set>\r
- <parameter name='tmp.gun.generated-name' value='`$generate-unique-name-input.prefix + $tmp.gun.index-string`' />\r
- </set>\r
- <set>\r
- <parameter name='tmp.gun.namedb.name' value='' />\r
- </set>\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'SELECT * from GENERIC_RESOURCE_NAME WHERE type = $generate-unique-name-input.name-table-type'\r
-+ ' AND name = $tmp.gun.generated-name'`" />\r
- </set>\r
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='tmp.gun.namedb'>\r
- <outcome value='failure'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='generate-unique-name-output.error-message' value="Error reading the GENERIC_RESOURCE_NAME table" />\r
- </set>\r
- <return status='failure'></return>\r
- </block>\r
- </outcome>\r
- <outcome value='not-found'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.found-flag' value='true' />\r
- </set>\r
- <return status='failure'></return>\r
- </block>\r
- </outcome>\r
- </get-resource>\r
- </block>\r
- </for>\r
- <return status='success'></return>\r
- </block>\r
- <switch test='`$generate-unique-name-output.error-message`'>\r
- <outcome value=''>\r
- <block></block>\r
- </outcome>\r
- <outcome value='Other'>\r
- <return status='failure'></return>\r
- </outcome>\r
- </switch>\r
- <switch test='`$tmp.gun.found-flag`'>\r
- <outcome value='true'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='generate-unique-name-output.generated-name' value='`$tmp.gun.generated-name`' />\r
- </set>\r
- <switch test='`$tmp.gun.index-exists`'>\r
- <outcome value='true'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'update ' + $generate-unique-name-input.index-table-name\r
-+ ' set index_number = ' + $tmp.gun.index-string + ' where '\r
-+ $generate-unique-name-input.index-table-prefix-column\r
-+ ' = $generate-unique-name-input.prefix'`" />\r
- </set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='pfx'>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="`'Failed to update ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
- </return>\r
- </outcome>\r
- </save>\r
- </block>\r
- </outcome>\r
- <outcome value='false'>\r
- <block atomic="true">\r
- <set>\r
- <parameter name='tmp.gun.sql' value="`'insert into ' + $generate-unique-name-input.index-table-name\r
-+ '(' + $generate-unique-name-input.index-table-prefix-column + ', index_number) values ('\r
-+ ' $generate-unique-name-input.prefix , ' + $tmp.gun.index-string + ')'`" />\r
- </set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='pfx'>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="`'Failed to insert record into ' + $generate-unique-name-input.index-table-name + ' table'`" />\r
- </return>\r
- </outcome>\r
- </save>\r
- </block>\r
- </outcome>\r
- </switch>\r
- <set>\r
- <parameter name='tmp.gun.sql' \r
- 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
- </set>\r
- <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
- key="`$tmp.gun.sql`" pfx='pfx'>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="Failed insert into GENERIC_RESOURCE_NAME table" />\r
- </return>\r
- </outcome>\r
- </save>\r
- <return status='success'></return>\r
- </block>\r
- </outcome>\r
- </switch>\r
- <return status='failure'>\r
- <parameter name="generate-unique-name-output.error-message" value="We have exhausted the naming index count" />\r
- </return>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </block>\r
- </method>\r
-</service-logic>
\ No newline at end of file