import org.onap.ccsdk.cds.controllerblueprints.core.asJsonType
import org.onap.ccsdk.cds.controllerblueprints.core.data.NodeTemplate
import org.onap.ccsdk.cds.controllerblueprints.core.data.NodeType
-import org.onap.ccsdk.cds.controllerblueprints.core.dsl.AbstractNodeTemplateImplBuilder
+import org.onap.ccsdk.cds.controllerblueprints.core.dsl.AbstractNodeTemplateOperationImplBuilder
import org.onap.ccsdk.cds.controllerblueprints.core.dsl.PropertiesAssignmentBuilder
import org.onap.ccsdk.cds.controllerblueprints.core.dsl.nodeType
/** Component Builder */
fun BluePrintTypes.nodeTemplateComponentScriptExecutor(id: String,
description: String,
- block: ComponentScriptExecutorNodeTemplateImplBuilder.() -> Unit)
+ block: ComponentScriptExecutorNodeTemplateBuilder.() -> Unit)
: NodeTemplate {
- return ComponentScriptExecutorNodeTemplateImplBuilder(id, description).apply(block).build()
+ return ComponentScriptExecutorNodeTemplateBuilder(id, description).apply(block).build()
}
-class ComponentScriptExecutorNodeTemplateImplBuilder(id: String, description: String) :
- AbstractNodeTemplateImplBuilder<ComponentScriptExecutorInputAssignmentBuilder,
- ComponentScriptExecutorOutputAssignmentBuilder>(id, "component-script-executor",
+class ComponentScriptExecutorNodeTemplateBuilder(id: String, description: String) :
+ AbstractNodeTemplateOperationImplBuilder<PropertiesAssignmentBuilder,
+ ComponentScriptExecutorNodeTemplateBuilder.InputsBuilder,
+ ComponentScriptExecutorNodeTemplateBuilder.OutputsBuilder>(id, "component-script-executor",
"ComponentScriptExecutor",
- description)
+ description) {
-class ComponentScriptExecutorInputAssignmentBuilder : PropertiesAssignmentBuilder() {
+ class InputsBuilder : PropertiesAssignmentBuilder() {
- fun type(type: String) = type(type.asJsonPrimitive())
+ fun type(type: String) = type(type.asJsonPrimitive())
- fun type(type: JsonNode) {
- property(ComponentScriptExecutor.INPUT_SCRIPT_TYPE, type)
- }
+ fun type(type: JsonNode) {
+ property(ComponentScriptExecutor.INPUT_SCRIPT_TYPE, type)
+ }
- fun scriptClassReference(scriptClassReference: String) = scriptClassReference(scriptClassReference.asJsonPrimitive())
+ fun scriptClassReference(scriptClassReference: String) = scriptClassReference(scriptClassReference.asJsonPrimitive())
- fun scriptClassReference(scriptClassReference: JsonNode) {
- property(ComponentScriptExecutor.INPUT_SCRIPT_CLASS_REFERENCE, scriptClassReference)
- }
+ fun scriptClassReference(scriptClassReference: JsonNode) {
+ property(ComponentScriptExecutor.INPUT_SCRIPT_CLASS_REFERENCE, scriptClassReference)
+ }
- fun dynamicProperties(dynamicProperties: String) = dynamicProperties(dynamicProperties.asJsonType())
+ fun dynamicProperties(dynamicProperties: String) = dynamicProperties(dynamicProperties.asJsonType())
- fun dynamicProperties(dynamicProperties: JsonNode) {
- property(ComponentScriptExecutor.INPUT_DYNAMIC_PROPERTIES, dynamicProperties)
+ fun dynamicProperties(dynamicProperties: JsonNode) {
+ property(ComponentScriptExecutor.INPUT_DYNAMIC_PROPERTIES, dynamicProperties)
+ }
}
-}
-class ComponentScriptExecutorOutputAssignmentBuilder : PropertiesAssignmentBuilder() {
+ class OutputsBuilder : PropertiesAssignmentBuilder() {
- fun status(status: String) = status(status.asJsonPrimitive())
+ fun status(status: String) = status(status.asJsonPrimitive())
- fun status(status: JsonNode) {
- property(ComponentScriptExecutor.OUTPUT_STATUS, status)
- }
+ fun status(status: JsonNode) {
+ property(ComponentScriptExecutor.OUTPUT_STATUS, status)
+ }
- fun responseData(responseData: String) = responseData(responseData.asJsonType())
+ fun responseData(responseData: String) = responseData(responseData.asJsonType())
- fun responseData(responseData: JsonNode) {
- property(ComponentScriptExecutor.OUTPUT_RESPONSE_DATA, responseData)
+ fun responseData(responseData: JsonNode) {
+ property(ComponentScriptExecutor.OUTPUT_RESPONSE_DATA, responseData)
+ }
}
}
\ No newline at end of file