package org.onap.ccsdk.apps.controllerblueprints.core.utils\r
\r
\r
+import com.att.eelf.configuration.EELFLogger\r
+import com.att.eelf.configuration.EELFManager\r
+import com.fasterxml.jackson.databind.JsonNode\r
import org.apache.commons.io.FileUtils\r
import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintConstants\r
+import org.onap.ccsdk.apps.controllerblueprints.core.asJsonPrimitive\r
import org.onap.ccsdk.apps.controllerblueprints.core.data.ToscaMetaData\r
-import com.att.eelf.configuration.EELFLogger\r
-import com.att.eelf.configuration.EELFManager\r
+import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintContext\r
+import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintRuntimeService\r
+import org.onap.ccsdk.apps.controllerblueprints.core.service.DefaultBluePrintRuntimeService\r
import java.io.File\r
import java.nio.charset.Charset\r
\r
return toscaMetaData\r
}\r
\r
- /*\r
+ @JvmStatic\r
fun getBluePrintContext(blueprintBasePath: String): BluePrintContext {\r
\r
- val metaDataFile = StringBuilder().append(blueprintBasePath).append(File.separator)\r
- .append(BluePrintConstants.DEFAULT_TOSCA_METADATA_ENTRY_DEFINITION_FILE).toString()\r
-\r
- val toscaMetaData: ToscaMetaData = BluePrintMetadataUtils.toscaMetaData(metaDataFile)\r
+ val toscaMetaData: ToscaMetaData = toscaMetaData(blueprintBasePath)\r
\r
- log.info("Processing blueprint base path ({}) and entry definition file ({})", blueprintBasePath, toscaMetaData.entityDefinitions)\r
+ log.info("Processing blueprint base path ($blueprintBasePath) and entry definition file (${toscaMetaData.entityDefinitions})")\r
\r
- return BluePrintParserFactory.instance(BluePrintConstants.TYPE_DEFAULT)!!\r
- .readBlueprintFile(toscaMetaData.entityDefinitions!!, blueprintBasePath)\r
+ return readBlueprintFile(toscaMetaData.entityDefinitions, blueprintBasePath)\r
}\r
\r
- fun getBluePrintRuntime(requestId: String, blueprintBasePath: String): BluePrintRuntimeService {\r
-\r
- val metaDataFile = StringBuilder().append(blueprintBasePath).append(File.separator)\r
- .append(BluePrintConstants.DEFAULT_TOSCA_METADATA_ENTRY_DEFINITION_FILE).toString()\r
-\r
- val toscaMetaData: ToscaMetaData = BluePrintMetadataUtils.toscaMetaData(metaDataFile)\r
+ @JvmStatic\r
+ fun getBluePrintRuntime(id: String, blueprintBasePath: String): BluePrintRuntimeService<MutableMap<String, JsonNode>> {\r
\r
- log.info("Processing blueprint base path ({}) and entry definition file ({})", blueprintBasePath, toscaMetaData.entityDefinitions)\r
+ val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)\r
\r
- val bluePrintContext: BluePrintContext = BluePrintParserFactory.instance(BluePrintConstants.TYPE_DEFAULT)!!\r
- .readBlueprintFile(toscaMetaData.entityDefinitions!!, 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
\r
- val context: MutableMap<String, Any> = hashMapOf()\r
- context[BluePrintConstants.PROPERTY_BLUEPRINT_BASE_PATH] = blueprintBasePath\r
- context[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = requestId\r
+ val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)\r
+ bluePrintRuntimeService.setExecutionContext(context)\r
\r
- val bluePrintRuntimeService: BluePrintRuntimeService = BluePrintRuntimeService(bluePrintContext, context)\r
+ return bluePrintRuntimeService\r
+ }\r
\r
+ @JvmStatic\r
+ fun getBluePrintRuntime(id: String, blueprintBasePath: String, executionContext: MutableMap<String, JsonNode>): BluePrintRuntimeService<MutableMap<String, JsonNode>> {\r
+ val bluePrintContext: BluePrintContext = getBluePrintContext(blueprintBasePath)\r
+ val bluePrintRuntimeService = DefaultBluePrintRuntimeService(id, bluePrintContext)\r
+ bluePrintRuntimeService.setExecutionContext(executionContext)\r
return bluePrintRuntimeService\r
}\r
- */\r
+\r
+ @JvmStatic\r
+ fun readBlueprintFile(entityDefinitions: String, basePath: String): BluePrintContext {\r
+ val rootFilePath: String = basePath.plus(File.separator).plus(entityDefinitions)\r
+ val rootServiceTemplate = ServiceTemplateUtils.getServiceTemplate(rootFilePath)\r
+ // TODO ("Fix for Multiple Service Template file definitions")\r
+// val schemaImportResolverUtils = BluePrintResolverService(rootServiceTemplate, basePath)\r
+// val completeServiceTemplate = schemaImportResolverUtils.getImportResolvedServiceTemplate()\r
+ return BluePrintContext(rootServiceTemplate)\r
+ }\r
}
\ No newline at end of file