9d6f4a6b55d2e197d1f7959a80fd53ec3b6c59d9
[ccsdk/apps.git] / ms / blueprintsprocessor / functions / resource-resolution / src / main / kotlin / org / onap / ccsdk / apps / blueprintsprocessor / functions / resource / resolution / ResourceAssignmentRuntimeService.kt
1 package org.onap.ccsdk.apps.blueprintsprocessor.functions.resource.resolution\r
2 \r
3 import com.fasterxml.jackson.databind.JsonNode\r
4 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintProcessorException\r
5 import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintContext\r
6 import org.onap.ccsdk.apps.controllerblueprints.core.service.DefaultBluePrintRuntimeService\r
7 \r
8 class ResourceAssignmentRuntimeService(private var id: String, private var bluePrintContext: BluePrintContext)\r
9     : DefaultBluePrintRuntimeService(id, bluePrintContext){\r
10 \r
11     private var resourceResolutionStore: MutableMap<String, JsonNode> = hashMapOf()\r
12 \r
13     override fun getExecutionContext(): MutableMap<String, JsonNode> {\r
14         return resourceResolutionStore\r
15     }\r
16 \r
17     @Suppress("UNCHECKED_CAST")\r
18     override fun setExecutionContext(executionContext: MutableMap<String, JsonNode>) {\r
19         this.resourceResolutionStore = executionContext\r
20     }\r
21 \r
22     override fun put(key: String, value: JsonNode) {\r
23         resourceResolutionStore[key] = value\r
24     }\r
25 \r
26     override fun get(key: String): JsonNode {\r
27         return resourceResolutionStore[key] ?: throw BluePrintProcessorException("failed to get execution property($key)")\r
28     }\r
29 \r
30     override fun check(key: String): Boolean {\r
31         return resourceResolutionStore.containsKey(key)\r
32     }\r
33 \r
34     override fun cleanRuntime() {\r
35         resourceResolutionStore.clear()\r
36     }\r
37 \r
38     private fun getJsonNode(key: String): JsonNode {\r
39         return get(key)\r
40     }\r
41 \r
42     override fun getAsString(key: String): String? {\r
43         return get(key).asText()\r
44     }\r
45 \r
46     override fun getAsBoolean(key: String): Boolean? {\r
47         return get(key).asBoolean()\r
48     }\r
49 \r
50     override fun getAsInt(key: String): Int? {\r
51         return get(key).asInt()\r
52     }\r
53 \r
54     override fun getAsDouble(key: String): Double? {\r
55         return get(key).asDouble()\r
56     }\r
57 \r
58 }\r