}\r
\r
@JvmStatic\r
- fun getBluePrintContext(blueprintBasePath: String): BluePrintContext {\r
+ fun getBluePrintRuntime(id: String, blueprintBasePath: String): BluePrintRuntimeService<MutableMap<String, JsonNode>> {\r
\r
- val toscaMetaData: ToscaMetaData = toscaMetaData(blueprintBasePath)\r
+ val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)\r
\r
- log.info("Processing blueprint base path ($blueprintBasePath) and entry definition file (${toscaMetaData.entityDefinitions})")\r
+ val context: MutableMap<String, JsonNode> = hashMapOf()\r
+ context[BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH] = blueprintBasePath.asJsonPrimitive()\r
+ context[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = id.asJsonPrimitive()\r
\r
- return readBlueprintFile(toscaMetaData.entityDefinitions, blueprintBasePath)\r
+ val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)\r
+ bluePrintRuntimeService.setExecutionContext(context)\r
+\r
+ return bluePrintRuntimeService\r
}\r
\r
@JvmStatic\r
- fun getBluePrintRuntime(id: String, blueprintBasePath: String): BluePrintRuntimeService<MutableMap<String, JsonNode>> {\r
-\r
- val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)\r
+ fun getBaseEnhancementBluePrintRuntime(id: String, blueprintBasePath: String): BluePrintRuntimeService<MutableMap<String, JsonNode>> {\r
\r
+ val bluePrintContext: BluePrintContext = getBaseEnhancementBluePrintContext(blueprintBasePath)\r
val context: MutableMap<String, JsonNode> = hashMapOf()\r
context[BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH] = blueprintBasePath.asJsonPrimitive()\r
context[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = id.asJsonPrimitive()\r
return bluePrintRuntimeService\r
}\r
\r
+ @JvmStatic\r
+ fun getBluePrintContext(blueprintBasePath: String): BluePrintContext {\r
+\r
+ val toscaMetaData: ToscaMetaData = toscaMetaData(blueprintBasePath)\r
+\r
+ log.info("Processing blueprint base path ($blueprintBasePath) and entry definition file (${toscaMetaData.entityDefinitions})")\r
+\r
+ return readBlueprintFile(toscaMetaData.entityDefinitions, blueprintBasePath)\r
+ }\r
+\r
+ fun getBaseEnhancementBluePrintContext(blueprintBasePath: String): BluePrintContext {\r
+ val toscaMetaData: ToscaMetaData = toscaMetaData(blueprintBasePath)\r
+ // Clean Type files\r
+ BluePrintFileUtils.deleteBluePrintTypes(blueprintBasePath)\r
+ val rootFilePath: String = blueprintBasePath.plus(File.separator).plus(toscaMetaData.entityDefinitions)\r
+ val rootServiceTemplate = ServiceTemplateUtils.getServiceTemplate(rootFilePath)\r
+\r
+ // Clean the Import Definitions\r
+ rootServiceTemplate.imports?.clear()\r
+\r
+ val blueprintContext = BluePrintContext(rootServiceTemplate)\r
+ blueprintContext.rootPath = blueprintBasePath\r
+ return blueprintContext\r
+ }\r
+\r
@JvmStatic\r
fun readBlueprintFile(entityDefinitions: String, basePath: String): BluePrintContext {\r
val rootFilePath: String = basePath.plus(File.separator).plus(entityDefinitions)\r
package org.onap.ccsdk.apps.controllerblueprints.resource.dict.utils
import com.att.eelf.configuration.EELFLogger
+import com.att.eelf.configuration.EELFManager
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.node.NullNode
import org.apache.commons.collections.MapUtils
import org.apache.commons.lang3.StringUtils
import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintConstants
+import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintProcessorException
import org.onap.ccsdk.apps.controllerblueprints.core.data.NodeTemplate
+import org.onap.ccsdk.apps.controllerblueprints.core.utils.BluePrintFileUtils
+import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceDefinition
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceDictionaryConstants
-import com.att.eelf.configuration.EELFManager
+import java.io.File
object ResourceDictionaryUtils {
resourceAssignment.dictionarySource = ResourceDictionaryConstants.SOURCE_INPUT
}
log.info("auto map resourceAssignment : {}", resourceAssignment)
- }else {
+ } else {
resourceAssignment.dictionarySource = ResourceDictionaryConstants.SOURCE_INPUT
}
}
context[path] = valueNode
}
}
+
+ fun getResourceAssignmentFromFile(filePath: String): List<ResourceAssignment> {
+ return JacksonUtils.getListFromFile(filePath, ResourceAssignment::class.java)
+ ?: throw BluePrintProcessorException("couldn't get ResourceAssignment definitions for the file($filePath)")
+ }
+
+ fun writeResourceDefinitionTypes(basePath: String, resourceDefinitionMap: Map<String, ResourceDefinition>) {
+ val typePath = basePath.plus(File.separator).plus(BluePrintConstants.TOSCA_DEFINITIONS_DIR)
+ .plus(File.separator).plus("${ResourceDictionaryConstants.PATH_RESOURCE_DEFINITION_TYPE}.json")
+ val resourceDefinitionContent = JacksonUtils.getJson(resourceDefinitionMap.toSortedMap(), true)
+ BluePrintFileUtils.writeDefinitionFile(typePath, resourceDefinitionContent)
+ }
}
\ No newline at end of file