diff options
Diffstat (limited to 'cba/retrieve-resolution/Scripts/kotlin')
6 files changed, 272 insertions, 0 deletions
diff --git a/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties.kt b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties.kt new file mode 100644 index 0000000..dff4761 --- /dev/null +++ b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties.kt @@ -0,0 +1,64 @@ +/* + * Copyright © 2020 Bell Canada. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package cba.cds.RT + +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor.ResourceAssignmentProcessor +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.utils.ResourceAssignmentUtils +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException +import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment +import org.slf4j.LoggerFactory + +open class ResolvPropertiesKt() : ResourceAssignmentProcessor() { + + private val log = LoggerFactory.getLogger(ResolvPropertiesKt::class.java)!! + + override fun getName(): String { + return "ResolvPropertiesKt" + } + + override suspend fun processNB(resourceAssignment: ResourceAssignment) { + + var retValue = "undefined" + val resourceAssignmentNames = listOf<String>("j_kotlin","v_kotlin") + + try { + if(resourceAssignment.name == "from_suspend_function") { + retValue = getResolvedValue(resourceAssignment) + } + if(resourceAssignmentNames.contains(resourceAssignment.name)) { + retValue = "ok" + } + ResourceAssignmentUtils.setResourceDataValue(resourceAssignment, raRuntimeService, retValue) + + } catch (e: Exception) { + log.error(e.message, e) + ResourceAssignmentUtils.setResourceDataValue(resourceAssignment, raRuntimeService, "ERROR") + + throw BluePrintProcessorException("Failed in template key ($resourceAssignment) assignments, cause: ${e.message}", e) + } + } + + /* + * CCSDK-2150 : https://jira.onap.org/browse/CCSDK-2150 + */ + suspend fun getResolvedValue(resourceAssignment: ResourceAssignment): String { + return "ok" + } + + override suspend fun recoverNB(runtimeException: RuntimeException, resourceAssignment: ResourceAssignment) { + raRuntimeService.getBluePrintError().addError("Failed in ResolvPropertiesKt-ResourceAssignmentProcessor : ${runtimeException.message}") + } +} diff --git a/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties1.kt b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties1.kt new file mode 100644 index 0000000..d960f20 --- /dev/null +++ b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties1.kt @@ -0,0 +1,36 @@ +/* + * Copyright © 2020 Bell Canada. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package cba.cds.RT + +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor.ResourceAssignmentProcessor +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.utils.ResourceAssignmentUtils +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException +import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment + +open class ResolvProperties1Kt() : ResourceAssignmentProcessor() { + + override fun getName(): String { + return "ResolvProperties1Kt" + } + + override suspend fun processNB(resourceAssignment: ResourceAssignment) { + ResourceAssignmentUtils.setResourceDataValue(resourceAssignment, raRuntimeService, "val1") + } + + override suspend fun recoverNB(runtimeException: RuntimeException, resourceAssignment: ResourceAssignment) { + raRuntimeService.getBluePrintError().addError("Failed in ResolvPropertiesKt-ResourceAssignmentProcessor : ${runtimeException.message}") + } +} diff --git a/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties2.kt b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties2.kt new file mode 100644 index 0000000..4bf7944 --- /dev/null +++ b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties2.kt @@ -0,0 +1,36 @@ +/* + * Copyright © 2020 Bell Canada. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package cba.cds.RT + +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor.ResourceAssignmentProcessor +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.utils.ResourceAssignmentUtils +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException +import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment + +open class ResolvProperties2Kt() : ResourceAssignmentProcessor() { + + override fun getName(): String { + return "ResolvProperties2Kt" + } + + override suspend fun processNB(resourceAssignment: ResourceAssignment) { + ResourceAssignmentUtils.setResourceDataValue(resourceAssignment, raRuntimeService, "val2") + } + + override suspend fun recoverNB(runtimeException: RuntimeException, resourceAssignment: ResourceAssignment) { + raRuntimeService.getBluePrintError().addError("Failed in ResolvPropertiesKt-ResourceAssignmentProcessor : ${runtimeException.message}") + } +} diff --git a/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties3.kt b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties3.kt new file mode 100644 index 0000000..f8de27b --- /dev/null +++ b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties3.kt @@ -0,0 +1,35 @@ +/* + * Copyright © 2020 Bell Canada. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package cba.cds.RT + +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor.ResourceAssignmentProcessor +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.utils.ResourceAssignmentUtils +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException +import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment + +open class ResolvProperties3Kt() : ResourceAssignmentProcessor() { + + override fun getName(): String { + return "ResolvProperties3Kt" + } + override suspend fun processNB(resourceAssignment: ResourceAssignment) { + ResourceAssignmentUtils.setResourceDataValue(resourceAssignment, raRuntimeService, "val3") + } + + override suspend fun recoverNB(runtimeException: RuntimeException, resourceAssignment: ResourceAssignment) { + raRuntimeService.getBluePrintError().addError("Failed in ResolvPropertiesKt-ResourceAssignmentProcessor : ${runtimeException.message}") + } +} diff --git a/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties4.kt b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties4.kt new file mode 100644 index 0000000..37e4d0b --- /dev/null +++ b/cba/retrieve-resolution/Scripts/kotlin/ResolvProperties4.kt @@ -0,0 +1,38 @@ +/* + * Copyright © 2020 Bell Canada. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package cba.cds.RT + +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor.ResourceAssignmentProcessor +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.utils.ResourceAssignmentUtils +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException +import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment +import kotlinx.coroutines.delay + +open class ResolvProperties4Kt() : ResourceAssignmentProcessor() { + + override fun getName(): String { + return "ResolvProperties4Kt" + } + + override suspend fun processNB(resourceAssignment: ResourceAssignment) { + delay(1000) + ResourceAssignmentUtils.setResourceDataValue(resourceAssignment, raRuntimeService, "val4") + } + + override suspend fun recoverNB(runtimeException: RuntimeException, resourceAssignment: ResourceAssignment) { + raRuntimeService.getBluePrintError().addError("Failed in ResolvPropertiesKt-ResourceAssignmentProcessor : ${runtimeException.message}") + } +} diff --git a/cba/retrieve-resolution/Scripts/kotlin/RetrieveResolution.kt b/cba/retrieve-resolution/Scripts/kotlin/RetrieveResolution.kt new file mode 100644 index 0000000..c223498 --- /dev/null +++ b/cba/retrieve-resolution/Scripts/kotlin/RetrieveResolution.kt @@ -0,0 +1,63 @@ +/* + * Copyright © 2020 Bell Canada. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package cba.cds.RT + +import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.db.ResourceResolution +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.storedContentFromResolvedArtifactNB +import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.storedResourceResolutionsNB +import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction +import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.ComponentScriptExecutor +import org.onap.ccsdk.cds.controllerblueprints.core.asJsonType +import org.slf4j.LoggerFactory + +open class RetrieveResolution : AbstractScriptComponentFunction() { + + private val log = LoggerFactory.getLogger(RetrieveResolution::class.java)!! + private val OCCURENCE: Int = 1 + + override suspend fun processNB(executionRequest: ExecutionServiceInput) { + + /* + * Here resolution-key comes as part of retrieve-resolution request payload. + */ + val resolution_key = getDynamicProperties("resolution-key").asText() + log.info("Got the resolution_key: $resolution_key from RetrieveResolution") + + /* + * Here artifact_name comes as part of retrieve-resolution request payload. + */ + val artifact_name = getDynamicProperties("artifact-name").asText() + log.info("Got the artifact_name: $artifact_name from RetrieveResolution") + + val output: List<ResourceResolution> = storedResourceResolutionsNB(resolution_key, artifact_name, OCCURENCE) + val sortedValueOutput = output.sortedBy { it.value }.map { it -> it.value } + + val result = storedContentFromResolvedArtifactNB(resolution_key, artifact_name) + val returnVal = mutableMapOf( + "resolved-template" to result.asJsonType(), + "retrieved-resolution" to mutableListOf(sortedValueOutput).asJsonType() + ).asJsonType() + + log.info("Return Val: \n$returnVal\n") + // Return the response. + setAttribute(ComponentScriptExecutor.ATTRIBUTE_RESPONSE_DATA, returnVal) + } + + override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ExecutionServiceInput) { + log.info("Executing Recovery") + } +} |