summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>2018-12-03 12:34:39 -0500
committerMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>2018-12-03 12:40:33 -0500
commit2b5b2c3003ba18259b424ffc48daeb94ca0e4e20 (patch)
treeac73f7b3553164d37ba173fa8bb093ddf9c986e5
parentbd28818bdba4ede90fe80877bf6839004516000a (diff)
Add Blueprint File utils
Change-Id: I9896d934684343358d1c0c7e321725511430c7e6 Issue-ID: CCSDK-783 Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
-rw-r--r--components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/BluePrintConstants.kt2
-rw-r--r--components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt128
-rw-r--r--components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/JacksonUtils.kt7
-rw-r--r--components/core/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtilsTest.kt59
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json8
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact_types.json (renamed from components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact-types.json)0
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/baseconfig-mapping.json (renamed from components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json)0
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data_types.json (renamed from components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data-types.json)0
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/node_types.json (renamed from components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/node-types.json)0
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/resources_dictionaty_types.json (renamed from components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/resources-dictionary.json)0
-rw-r--r--ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java12
-rw-r--r--ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ConfigModelValidatorService.java2
-rw-r--r--ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerService.kt39
13 files changed, 232 insertions, 25 deletions
diff --git a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/BluePrintConstants.kt b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/BluePrintConstants.kt
index 2908a632..0517e90b 100644
--- a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/BluePrintConstants.kt
+++ b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/BluePrintConstants.kt
@@ -139,7 +139,9 @@ object BluePrintConstants {
const val PROPERTY_BLUEPRINT_NAME: String = "template_name"
const val PROPERTY_BLUEPRINT_VERSION: String = "template_version"
+ const val TOSCA_METADATA_DIR: String = "TOSCA-Metadata"
const val TOSCA_METADATA_ENTRY_DEFINITION_FILE: String = "TOSCA-Metadata/TOSCA.meta"
+ const val TOSCA_DEFINITIONS_DIR: String = "Definitions"
const val TOSCA_PLANS_DIR: String = "Plans"
const val TOSCA_SCRIPTS_DIR: String = "Scripts"
const val TOSCA_MAPPINGS_DIR: String = "Mappings"
diff --git a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt
new file mode 100644
index 00000000..d9222d75
--- /dev/null
+++ b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtils.kt
@@ -0,0 +1,128 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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 org.onap.ccsdk.apps.controllerblueprints.core.utils
+
+import com.att.eelf.configuration.EELFLogger
+import com.att.eelf.configuration.EELFManager
+import kotlinx.coroutines.runBlocking
+import org.apache.commons.io.FileUtils
+import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintConstants
+import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException
+import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintContext
+import java.io.File
+import java.io.FileFilter
+import java.nio.file.Files
+import java.nio.file.StandardOpenOption
+
+class BluePrintFileUtils {
+ companion object {
+
+ private val log: EELFLogger = EELFManager.getInstance().getLogger(this::class.toString())
+
+ fun createEmptyBluePrint(basePath: String) {
+
+ val blueprintDir = File(basePath)
+ FileUtils.deleteDirectory(blueprintDir)
+
+ Files.createDirectories(blueprintDir.toPath())
+
+ val metaDataDir = File(blueprintDir.absolutePath.plus(File.separator).plus(BluePrintConstants.TOSCA_METADATA_DIR))
+ Files.createDirectories(metaDataDir.toPath())
+
+ val metafile = File(blueprintDir.absolutePath.plus(File.separator).plus(BluePrintConstants.TOSCA_METADATA_ENTRY_DEFINITION_FILE))
+ Files.write(metafile.toPath(), getMetaDataContent().toByteArray(), StandardOpenOption.CREATE_NEW)
+
+ val definitionsDir = File(blueprintDir.absolutePath.plus(File.separator).plus(BluePrintConstants.TOSCA_DEFINITIONS_DIR))
+ Files.createDirectories(definitionsDir.toPath())
+
+ val scriptsDir = File(blueprintDir.absolutePath.plus(File.separator).plus(BluePrintConstants.TOSCA_SCRIPTS_DIR))
+ Files.createDirectories(scriptsDir.toPath())
+
+ val plansDir = File(blueprintDir.absolutePath.plus(File.separator).plus(BluePrintConstants.TOSCA_PLANS_DIR))
+ Files.createDirectories(plansDir.toPath())
+
+ val templatesDir = File(blueprintDir.absolutePath.plus(File.separator).plus(BluePrintConstants.TOSCA_TEMPLATES_DIR))
+ Files.createDirectories(templatesDir.toPath())
+
+ }
+
+ fun copyBluePrint(sourcePath: String, targetPath: String) {
+ val sourceFile = File(sourcePath)
+ val targetFile = File(targetPath)
+ sourceFile.copyRecursively(targetFile, true)
+ }
+
+ fun deleteBluePrintTypes(basePath: String) {
+ val definitionPath = basePath.plus(File.separator).plus(BluePrintConstants.TOSCA_DEFINITIONS_DIR)
+ log.info("deleting definition types under : $definitionPath")
+
+ val definitionDir = File(definitionPath)
+ // Find the Type Definitions
+ val fileFilter = FileFilter { pathname -> pathname.absolutePath.endsWith("_types.json") }
+ // Delete the Type Files
+ definitionDir.listFiles(fileFilter).forEach {
+ Files.deleteIfExists(it.toPath())
+ }
+ }
+
+ fun writeBluePrintTypes(blueprintContext: BluePrintContext) {
+
+ val basePath = blueprintContext.rootPath
+ val definitionPath = basePath.plus(File.separator).plus(BluePrintConstants.TOSCA_DEFINITIONS_DIR)
+ val definitionDir = File(definitionPath)
+
+ check(definitionDir.exists()) {
+ throw BluePrintException("couldn't get definition file under path(${definitionDir.absolutePath})")
+ }
+
+ blueprintContext.dataTypes.let {
+ val dataTypesContent = JacksonUtils.getWrappedJson(BluePrintConstants.PATH_DATA_TYPES, blueprintContext.dataTypes!!, true)
+ writeFile(definitionDir.absolutePath, BluePrintConstants.PATH_DATA_TYPES, dataTypesContent)
+
+ }
+
+ blueprintContext.artifactTypes.let {
+ val artifactTypesContent = JacksonUtils.getWrappedJson(BluePrintConstants.PATH_ARTIFACT_TYPES, blueprintContext.artifactTypes!!, true)
+ writeFile(definitionDir.absolutePath, BluePrintConstants.PATH_ARTIFACT_TYPES, artifactTypesContent)
+ }
+
+ blueprintContext.nodeTypes.let {
+ val nodeTypesContent = JacksonUtils.getWrappedJson(BluePrintConstants.PATH_NODE_TYPES, blueprintContext.nodeTypes!!, true)
+ writeFile(definitionDir.absolutePath, BluePrintConstants.PATH_NODE_TYPES, nodeTypesContent)
+ }
+
+ }
+
+ private fun writeFile(definitionPath: String, type: String, content: String) = runBlocking {
+ val typeFile = File(definitionPath.plus(File.separator).plus("$type.json"))
+
+ Files.write(typeFile.toPath(), content.toByteArray(), StandardOpenOption.CREATE_NEW)
+ check(typeFile.exists()) {
+ throw BluePrintException("couldn't write $type.json file under path(${typeFile.absolutePath})")
+ }
+ }
+
+ private fun getMetaDataContent(): String {
+ return "TOSCA-Meta-File-Version: 1.0.0" +
+ "\nCSAR-Version: <VERSION>" +
+ "\nCreated-By: <AUTHOR NAME>" +
+ "\nEntry-Definitions: Definitions/<BLUEPRINT_NAME>.json" +
+ "\nTemplate-Tags: <TAGS>"
+ }
+
+ }
+} \ No newline at end of file
diff --git a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/JacksonUtils.kt b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/JacksonUtils.kt
index cf5f9e20..f53f8615 100644
--- a/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/JacksonUtils.kt
+++ b/components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/JacksonUtils.kt
@@ -105,6 +105,13 @@ object JacksonUtils {
}
@JvmStatic
+ fun getWrappedJson(wrapper: String, any: kotlin.Any, pretty: Boolean = false): String {
+ val wrapperMap = hashMapOf<String, Any>()
+ wrapperMap[wrapper] = any
+ return getJson(wrapperMap, pretty)
+ }
+
+ @JvmStatic
fun getJson(any: kotlin.Any, pretty: Boolean = false): String {
val objectMapper = jacksonObjectMapper()
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL)
diff --git a/components/core/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtilsTest.kt b/components/core/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtilsTest.kt
new file mode 100644
index 00000000..143c4a84
--- /dev/null
+++ b/components/core/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/utils/BluePrintFileUtilsTest.kt
@@ -0,0 +1,59 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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 org.onap.ccsdk.apps.controllerblueprints.core.utils
+
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import java.io.File
+import java.nio.file.Paths
+import kotlin.test.assertTrue
+
+
+class BluePrintFileUtilsTest {
+
+ @Test
+ fun testNewBlueprint() = runBlocking {
+ val targetPath: String = Paths.get("target").toUri().toURL().path.plus("bp-new-test")
+ BluePrintFileUtils.createEmptyBluePrint(targetPath)
+
+ }
+
+ @Test
+ fun testBlueprintCopy() = runBlocking {
+ val sourcePath: String = "./../model-catalog/blueprint-model/starter-blueprint/baseconfiguration"
+
+ val targetPath: String = Paths.get("target").toUri().toURL().path.plus("bp-copy-test")
+
+ val targetDir = File(targetPath)
+ targetDir.deleteOnExit()
+ // Copy the BP file
+ BluePrintFileUtils.copyBluePrint(sourcePath, targetDir.absolutePath)
+
+ assertTrue(targetDir.exists(), "faield to copy blueprint to ${targetDir.absolutePath}")
+
+ // Delete Type Files
+ BluePrintFileUtils.deleteBluePrintTypes(targetDir.absolutePath)
+
+ // Generate the Type Files
+ val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(sourcePath)
+ bluePrintContext.rootPath = targetDir.absolutePath
+
+ BluePrintFileUtils.writeBluePrintTypes(bluePrintContext)
+
+
+ }
+} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
index 9d1172fc..04e0efce 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
@@ -9,13 +9,13 @@
},
"imports": [
{
- "file": "Definitions/data-types.json"
+ "file": "Definitions/data_types.json"
},
{
- "file": "Definitions/node-types.json"
+ "file": "Definitions/node_types.json"
},
{
- "file": "Definitions/artifact-types.json"
+ "file": "Definitions/artifact_types.json"
}
],
"topology_template": {
@@ -117,7 +117,7 @@
},
"baseconfig-mapping": {
"type": "artifact-mapping-resource",
- "file": "Mappings/baseconfig-mapping.json"
+ "file": "Definitions/baseconfig-mapping.json"
}
}
},
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact-types.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact_types.json
index d741d151..d741d151 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact-types.json
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact_types.json
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/baseconfig-mapping.json
index caee773b..caee773b 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/baseconfig-mapping.json
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data-types.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data_types.json
index 6ca1ffde..6ca1ffde 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data-types.json
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data_types.json
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/node-types.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/node_types.json
index 139ebb1a..139ebb1a 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/node-types.json
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/node_types.json
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/resources-dictionary.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/resources_dictionaty_types.json
index 0e0dcd23..0e0dcd23 100644
--- a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/resources-dictionary.json
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/resources_dictionaty_types.json
diff --git a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java
index ef3b4a48..7ea81da0 100644
--- a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java
+++ b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/BluePrintEnhancerService.java
@@ -17,6 +17,8 @@
package org.onap.ccsdk.apps.controllerblueprints.service;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.base.Preconditions;
import org.apache.commons.collections.MapUtils;
@@ -25,13 +27,14 @@ import org.jetbrains.annotations.NotNull;
import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException;
import org.onap.ccsdk.apps.controllerblueprints.core.ConfigModelConstant;
import org.onap.ccsdk.apps.controllerblueprints.core.data.*;
-import org.onap.ccsdk.apps.controllerblueprints.resource.dict.service.ResourceDefinitionRepoService;
-import org.onap.ccsdk.apps.controllerblueprints.service.enhancer.BluePrintEnhancerDefaultService;
import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils;
import org.onap.ccsdk.apps.controllerblueprints.resource.dict.ResourceAssignment;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
+import org.onap.ccsdk.apps.controllerblueprints.resource.dict.service.ResourceDefinitionRepoService;
+import org.onap.ccsdk.apps.controllerblueprints.service.enhancer.BluePrintEnhancerDefaultService;
import org.onap.ccsdk.apps.controllerblueprints.service.enhancer.ResourceAssignmentEnhancerService;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.context.annotation.Scope;
+import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@@ -45,6 +48,7 @@ import java.util.Map;
*/
@Service
+@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE, proxyMode = ScopedProxyMode.TARGET_CLASS)
public class BluePrintEnhancerService extends BluePrintEnhancerDefaultService {
private static EELFLogger log = EELFManager.getInstance().getLogger(BluePrintEnhancerService.class);
diff --git a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ConfigModelValidatorService.java b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ConfigModelValidatorService.java
index 21b00f8c..3abdc04d 100644
--- a/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ConfigModelValidatorService.java
+++ b/ms/controllerblueprints/modules/service/src/main/java/org/onap/ccsdk/apps/controllerblueprints/service/ConfigModelValidatorService.java
@@ -30,7 +30,7 @@ import org.springframework.stereotype.Service;
* @author Brinda Santh
* @version 1.0
*/
-
+@Deprecated
@Service
public class ConfigModelValidatorService {
diff --git a/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerService.kt b/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerService.kt
index 46709c5f..2c13d864 100644
--- a/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerService.kt
+++ b/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintEnhancerService.kt
@@ -17,14 +17,16 @@
package org.onap.ccsdk.apps.controllerblueprints.service.enhancer
+import com.att.eelf.configuration.EELFLogger
+import com.att.eelf.configuration.EELFManager
import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException
import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintTypes
import org.onap.ccsdk.apps.controllerblueprints.core.data.*
import org.onap.ccsdk.apps.controllerblueprints.core.format
-import com.att.eelf.configuration.EELFLogger
-import com.att.eelf.configuration.EELFManager
+import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintContext
import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintRepoService
-import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonReactorUtils
+import org.onap.ccsdk.apps.controllerblueprints.core.utils.BluePrintFileUtils
+import org.onap.ccsdk.apps.controllerblueprints.core.utils.BluePrintMetadataUtils
import java.io.Serializable
/**
@@ -35,13 +37,13 @@ import java.io.Serializable
interface BluePrintEnhancerService : Serializable {
@Throws(BluePrintException::class)
- fun enhance(content: String): ServiceTemplate
+ fun enhance(basePath: String, enrichedBasePath: String): BluePrintContext
/**
- * Read Blueprint from CSAR structure Directory
+ * Read Blueprint from CBA structure Directory
*/
@Throws(BluePrintException::class)
- fun enhance(fileName: String, basePath: String): ServiceTemplate
+ fun enhance(basePath: String): BluePrintContext
@Throws(BluePrintException::class)
fun enhance(serviceTemplate: ServiceTemplate): ServiceTemplate
@@ -62,16 +64,19 @@ open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRe
lateinit var serviceTemplate: ServiceTemplate
- @Throws(BluePrintException::class)
- override fun enhance(content: String): ServiceTemplate {
- return JacksonReactorUtils.readValueFromFile(content, ServiceTemplate::class.java).map { serviceTemplate ->
- enhance(serviceTemplate!!)
- }.block()!!
+ override fun enhance(basePath: String, enrichedBasePath: String): BluePrintContext {
+ BluePrintFileUtils.copyBluePrint(basePath, enrichedBasePath)
+ BluePrintFileUtils.deleteBluePrintTypes(enrichedBasePath)
+ val enhancedBluePrintContext = enhance(enrichedBasePath)
+ BluePrintFileUtils.writeBluePrintTypes(enhancedBluePrintContext)
+ return enhancedBluePrintContext
}
@Throws(BluePrintException::class)
- override fun enhance(fileName: String, basePath: String): ServiceTemplate {
- TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
+ override fun enhance(basePath: String): BluePrintContext {
+ val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(basePath)
+ enhance(bluePrintContext.serviceTemplate)
+ return bluePrintContext
}
@Throws(BluePrintException::class)
@@ -88,10 +93,12 @@ open class BluePrintEnhancerDefaultService(val bluePrintRepoService: BluePrintRe
serviceTemplate.artifactTypes?.clear()
serviceTemplate.nodeTypes?.clear()
serviceTemplate.dataTypes?.clear()
+ serviceTemplate.policyTypes?.clear()
- serviceTemplate.artifactTypes = HashMap()
- serviceTemplate.nodeTypes = HashMap()
- serviceTemplate.dataTypes = HashMap()
+ serviceTemplate.artifactTypes = mutableMapOf()
+ serviceTemplate.nodeTypes = mutableMapOf()
+ serviceTemplate.dataTypes = mutableMapOf()
+ serviceTemplate.policyTypes = mutableMapOf()
}