summaryrefslogtreecommitdiffstats
path: root/ms/controllerblueprints
diff options
context:
space:
mode:
Diffstat (limited to 'ms/controllerblueprints')
-rw-r--r--ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/AbstractNodeTemplateOperationImplBuilder.kt (renamed from ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/AbstractNodeTemplateImplBuilder.kt)16
-rw-r--r--ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt7
-rwxr-xr-xms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintArchiveUtils.kt3
-rw-r--r--ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintDSLTest.kt24
-rw-r--r--ms/controllerblueprints/parent/pom.xml4
5 files changed, 42 insertions, 12 deletions
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/AbstractNodeTemplateImplBuilder.kt b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/AbstractNodeTemplateOperationImplBuilder.kt
index 7ab139070..182d9a050 100644
--- a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/AbstractNodeTemplateImplBuilder.kt
+++ b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/AbstractNodeTemplateOperationImplBuilder.kt
@@ -16,11 +16,21 @@
package org.onap.ccsdk.cds.controllerblueprints.core.dsl
-abstract class AbstractNodeTemplateImplBuilder<In : PropertiesAssignmentBuilder, Out : PropertiesAssignmentBuilder>(
+abstract class AbstractNodeTemplateOperationImplBuilder<Prop : PropertiesAssignmentBuilder,
+ In : PropertiesAssignmentBuilder, Out : PropertiesAssignmentBuilder>(
id: String, type: String, private val interfaceName: String, description: String
-) : NodeTemplateBuilder(id, type, description) {
+) : AbstractNodeTemplatePropertyImplBuilder<Prop>(id, type, description) {
- open fun operation(description: String, block: OperationAssignmentBuilder<In, Out>.() -> Unit) {
+ open fun definedOperation(description: String, block: OperationAssignmentBuilder<In, Out>.() -> Unit) {
typedOperation<In, Out>(interfaceName, description, block)
}
}
+
+abstract class AbstractNodeTemplatePropertyImplBuilder<Prop : PropertiesAssignmentBuilder>(
+ id: String, type: String, description: String
+) : NodeTemplateBuilder(id, type, description) {
+
+ open fun definedProperties(block: Prop.() -> Unit) {
+ typedProperties<Prop>(block)
+ }
+}
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt
index 685473f08..7f49a99c6 100644
--- a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt
+++ b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt
@@ -108,6 +108,13 @@ open class NodeTemplateBuilder(private val id: String,
properties = PropertiesAssignmentBuilder().apply(block).build()
}
+ open fun <Prop : PropertiesAssignmentBuilder> typedProperties(block: Prop.() -> Unit) {
+ if (properties == null)
+ properties = hashMapOf()
+ val instance: Prop = (block.reflect()?.parameters?.get(0)?.type?.classifier as KClass<Prop>).createInstance()
+ properties = instance.apply(block).build()
+ }
+
open fun <In : PropertiesAssignmentBuilder, Out : PropertiesAssignmentBuilder> typedOperation(
interfaceName: String, description: String = "",
block: OperationAssignmentBuilder<In, Out>.() -> Unit) {
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintArchiveUtils.kt b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintArchiveUtils.kt
index d3670419e..8517be843 100755
--- a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintArchiveUtils.kt
+++ b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/utils/BluePrintArchiveUtils.kt
@@ -44,6 +44,9 @@ class BluePrintArchiveUtils {
*/
fun compress(source: File, destination: File, absolute: Boolean): Boolean {
try {
+ if(!destination.parentFile.exists()) {
+ destination.parentFile.mkdirs()
+ }
destination.createNewFile()
ZipArchiveOutputStream(destination).use {
recurseFiles(source, source, it, absolute)
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintDSLTest.kt b/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintDSLTest.kt
index ba2f07072..ec8f24d85 100644
--- a/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintDSLTest.kt
+++ b/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintDSLTest.kt
@@ -218,7 +218,11 @@ class BluePrintDSLTest {
val testNodeTemplateInstance = BluePrintTypes.nodeTemplateComponentTestExecutor(id = "test-node-template",
description = "") {
- operation("") {
+ definedProperties {
+ prop1("i am property1")
+ prop2("i am property2")
+ }
+ definedOperation("") {
implementation(360)
inputs {
request("i am request")
@@ -235,16 +239,26 @@ class BluePrintDSLTest {
fun BluePrintTypes.nodeTemplateComponentTestExecutor(id: String,
description: String,
- block: TestNodeTemplateImplBuilder.() -> Unit)
+ block: TestNodeTemplateOperationImplBuilder.() -> Unit)
: NodeTemplate {
- return TestNodeTemplateImplBuilder(id, description).apply(block).build()
+ return TestNodeTemplateOperationImplBuilder(id, description).apply(block).build()
}
-class TestNodeTemplateImplBuilder(id: String, description: String) :
- AbstractNodeTemplateImplBuilder<TestInput, TestOutput>(id, "component-test-executor",
+class TestNodeTemplateOperationImplBuilder(id: String, description: String) :
+ AbstractNodeTemplateOperationImplBuilder<TestProperty, TestInput, TestOutput>(id, "component-test-executor",
"ComponentTestExecutor",
description)
+class TestProperty : PropertiesAssignmentBuilder() {
+ fun prop1(prop1: String) {
+ property("prop1", prop1.asJsonPrimitive())
+ }
+
+ fun prop2(prop2: String) {
+ property("prop2", prop2.asJsonPrimitive())
+ }
+}
+
class TestInput : PropertiesAssignmentBuilder() {
fun request(request: String) {
property("request", request.asJsonPrimitive())
diff --git a/ms/controllerblueprints/parent/pom.xml b/ms/controllerblueprints/parent/pom.xml
index f2f4ff12b..a16783f75 100644
--- a/ms/controllerblueprints/parent/pom.xml
+++ b/ms/controllerblueprints/parent/pom.xml
@@ -28,16 +28,12 @@
<name>Controller Blueprints Parent</name>
<packaging>pom</packaging>
<properties>
- <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
- <grpc.version>1.18.0</grpc.version>
- <protobuff.java.utils.version>3.6.1</protobuff.java.utils.version>
<eelf.version>1.0.0</eelf.version>
<guava.version>27.0.1-jre</guava.version>
<springfox.swagger2.version>2.9.2</springfox.swagger2.version>
<h2database.version>1.4.197</h2database.version>
<onap.logger.slf4j>1.2.2</onap.logger.slf4j>
<powermock.version>1.7.4</powermock.version>
- <mockk.version>1.9</mockk.version>
<jinja.version>2.5.1</jinja.version>
<velocity.version>1.7</velocity.version>
</properties>