Formatting Code base with ktlint
[ccsdk/cds.git] / ms / controllerblueprints / modules / blueprint-validation / src / main / kotlin / org / onap / ccsdk / cds / controllerblueprints / validation / BluePrintNodeTemplateValidatorImpl.kt
index 48f1b21..2dfc09b 100644 (file)
 
 package org.onap.ccsdk.cds.controllerblueprints.validation
 
-import org.slf4j.LoggerFactory
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintException
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintTypes
-import org.onap.ccsdk.cds.controllerblueprints.core.data.*
+import org.onap.ccsdk.cds.controllerblueprints.core.data.ArtifactDefinition
+import org.onap.ccsdk.cds.controllerblueprints.core.data.CapabilityAssignment
+import org.onap.ccsdk.cds.controllerblueprints.core.data.CapabilityDefinition
+import org.onap.ccsdk.cds.controllerblueprints.core.data.InterfaceAssignment
+import org.onap.ccsdk.cds.controllerblueprints.core.data.InterfaceDefinition
+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.data.RequirementAssignment
+import org.onap.ccsdk.cds.controllerblueprints.core.data.RequirementDefinition
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintNodeTemplateValidator
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintTypeValidatorService
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintContext
 import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintRuntimeService
 import org.onap.ccsdk.cds.controllerblueprints.validation.utils.PropertyAssignmentValidationUtils
+import org.slf4j.LoggerFactory
 import org.springframework.beans.factory.config.ConfigurableBeanFactory
 import org.springframework.context.annotation.Scope
 import org.springframework.stereotype.Service
 
-
 @Service("default-node-template-validator")
 @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
-open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidatorService: BluePrintTypeValidatorService) : BluePrintNodeTemplateValidator {
+open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidatorService: BluePrintTypeValidatorService) :
+    BluePrintNodeTemplateValidator {
 
-    private val log= LoggerFactory.getLogger(BluePrintNodeTemplateValidatorImpl::class.toString())
+    private val log = LoggerFactory.getLogger(BluePrintNodeTemplateValidatorImpl::class.toString())
 
     lateinit var bluePrintRuntimeService: BluePrintRuntimeService<*>
     lateinit var bluePrintContext: BluePrintContext
@@ -55,11 +63,11 @@ open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidator
         val type: String = nodeTemplate.type
 
         val nodeType: NodeType = bluePrintContext.serviceTemplate.nodeTypes?.get(type)
-                ?: throw BluePrintException("Failed to get NodeType($type) definition for NodeTemplate($name)")
+            ?: throw BluePrintException("Failed to get NodeType($type) definition for NodeTemplate($name)")
 
         nodeTemplate.properties?.let {
             propertyAssignmentValidationUtils
-                    .validatePropertyAssignments(nodeType.properties!!, nodeTemplate.properties!!)
+                .validatePropertyAssignments(nodeType.properties!!, nodeTemplate.properties!!)
         }
         nodeTemplate.capabilities?.let { validateCapabilityAssignments(nodeType, name, nodeTemplate) }
         nodeTemplate.requirements?.let { validateRequirementAssignments(nodeType, name, nodeTemplate) }
@@ -76,8 +84,10 @@ open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidator
     open fun validateArtifactDefinitions(artifacts: MutableMap<String, ArtifactDefinition>) {
         paths.add("artifacts")
         artifacts.forEach { artifactDefinitionName, artifactDefinition ->
-            bluePrintTypeValidatorService.validateArtifactDefinition(bluePrintRuntimeService,
-                    artifactDefinitionName, artifactDefinition)
+            bluePrintTypeValidatorService.validateArtifactDefinition(
+                bluePrintRuntimeService,
+                artifactDefinitionName, artifactDefinition
+            )
         }
         paths.removeAt(paths.lastIndex)
     }
@@ -90,8 +100,10 @@ open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidator
             paths.add(capabilityName)
 
             val capabilityDefinition = nodeType.capabilities?.get(capabilityName)
-                    ?: throw BluePrintException("Failed to get NodeTemplate($nodeTemplateName) capability definition ($capabilityName) " +
-                            "from NodeType(${nodeTemplate.type})")
+                ?: throw BluePrintException(
+                    "Failed to get NodeTemplate($nodeTemplateName) capability definition ($capabilityName) " +
+                            "from NodeType(${nodeTemplate.type})"
+                )
 
             validateCapabilityAssignment(nodeTemplateName, capabilityName, capabilityDefinition, capabilityAssignment)
 
@@ -101,14 +113,17 @@ open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidator
     }
 
     @Throws(BluePrintException::class)
-    open fun validateCapabilityAssignment(nodeTemplateName: String, capabilityName: String,
-                                          capabilityDefinition: CapabilityDefinition, capabilityAssignment: CapabilityAssignment) {
+    open fun validateCapabilityAssignment(
+        nodeTemplateName: String,
+        capabilityName: String,
+        capabilityDefinition: CapabilityDefinition,
+        capabilityAssignment: CapabilityAssignment
+    ) {
 
         capabilityAssignment.properties?.let {
             propertyAssignmentValidationUtils
-                    .validatePropertyAssignments(capabilityDefinition.properties!!, capabilityAssignment.properties!!)
+                .validatePropertyAssignments(capabilityDefinition.properties!!, capabilityAssignment.properties!!)
         }
-
     }
 
     @Throws(BluePrintException::class)
@@ -118,21 +133,28 @@ open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidator
         requirements?.forEach { requirementName, requirementAssignment ->
             paths.add(requirementName)
             val requirementDefinition = nodeType.requirements?.get(requirementName)
-                    ?: throw BluePrintException("Failed to get NodeTemplate($nodeTemplateName) requirement definition ($requirementName) from" +
-                            " NodeType(${nodeTemplate.type})")
+                ?: throw BluePrintException(
+                    "Failed to get NodeTemplate($nodeTemplateName) requirement definition ($requirementName) from" +
+                            " NodeType(${nodeTemplate.type})"
+                )
             // Validate Requirement Assignment
             validateRequirementAssignment(nodeTemplateName, requirementName, requirementDefinition, requirementAssignment)
             paths.removeAt(paths.lastIndex)
         }
         paths.removeAt(paths.lastIndex)
-
     }
 
     @Throws(BluePrintException::class)
-    open fun validateRequirementAssignment(nodeTemplateName: String, requirementAssignmentName: String,
-                                           requirementDefinition: RequirementDefinition, requirementAssignment: RequirementAssignment) {
-        log.debug("Validating NodeTemplate({}) requirement assignment ({}) ", nodeTemplateName,
-                requirementAssignmentName)
+    open fun validateRequirementAssignment(
+        nodeTemplateName: String,
+        requirementAssignmentName: String,
+        requirementDefinition: RequirementDefinition,
+        requirementAssignment: RequirementAssignment
+    ) {
+        log.debug(
+            "Validating NodeTemplate({}) requirement assignment ({}) ", nodeTemplateName,
+            requirementAssignmentName
+        )
         val requirementNodeTemplateName = requirementAssignment.node!!
         val capabilityName = requirementAssignment.capability
         val relationship = requirementAssignment.relationship!!
@@ -142,14 +164,16 @@ open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidator
         }
 
         val relationShipNodeTemplate = bluePrintContext.serviceTemplate.topologyTemplate?.nodeTemplates?.get(requirementNodeTemplateName)
-                ?: throw BluePrintException("Failed to get requirement NodeTemplate($requirementNodeTemplateName)'s " +
-                        "for NodeTemplate($nodeTemplateName) requirement($requirementAssignmentName)")
+            ?: throw BluePrintException(
+                "Failed to get requirement NodeTemplate($requirementNodeTemplateName)'s " +
+                        "for NodeTemplate($nodeTemplateName) requirement($requirementAssignmentName)"
+            )
 
         relationShipNodeTemplate.capabilities?.get(capabilityName)
-                ?: throw BluePrintException("Failed to get requirement NodeTemplate($requirementNodeTemplateName)'s " +
-                        "capability($capabilityName) for NodeTemplate ($nodeTemplateName)'s requirement($requirementAssignmentName)")
-
-
+            ?: throw BluePrintException(
+                "Failed to get requirement NodeTemplate($requirementNodeTemplateName)'s " +
+                        "capability($capabilityName) for NodeTemplate ($nodeTemplateName)'s requirement($requirementAssignmentName)"
+            )
     }
 
     @Throws(BluePrintException::class)
@@ -160,80 +184,91 @@ open class BluePrintNodeTemplateValidatorImpl(private val bluePrintTypeValidator
         interfaces?.forEach { interfaceAssignmentName, interfaceAssignment ->
             paths.add(interfaceAssignmentName)
             val interfaceDefinition = nodeType.interfaces?.get(interfaceAssignmentName)
-                    ?: throw BluePrintException("Failed to get NodeTemplate($nodeTemplateName) interface definition ($interfaceAssignmentName) from" +
-                            " NodeType(${nodeTemplate.type})")
-
-            validateInterfaceAssignment(nodeTemplateName, interfaceAssignmentName, interfaceDefinition,
-                    interfaceAssignment)
+                ?: throw BluePrintException(
+                    "Failed to get NodeTemplate($nodeTemplateName) interface definition ($interfaceAssignmentName) from" +
+                            " NodeType(${nodeTemplate.type})"
+                )
+
+            validateInterfaceAssignment(
+                nodeTemplateName, interfaceAssignmentName, interfaceDefinition,
+                interfaceAssignment
+            )
             paths.removeAt(paths.lastIndex)
         }
         paths.removeAt(paths.lastIndex)
-
-
     }
 
     @Throws(BluePrintException::class)
-    open fun validateInterfaceAssignment(nodeTemplateName: String, interfaceAssignmentName: String,
-                                         interfaceDefinition: InterfaceDefinition,
-                                         interfaceAssignment: InterfaceAssignment) {
+    open fun validateInterfaceAssignment(
+        nodeTemplateName: String,
+        interfaceAssignmentName: String,
+        interfaceDefinition: InterfaceDefinition,
+        interfaceAssignment: InterfaceAssignment
+    ) {
 
         val operations = interfaceAssignment.operations
         operations?.let {
-            validateInterfaceOperationsAssignment(nodeTemplateName, interfaceAssignmentName, interfaceDefinition,
-                    interfaceAssignment)
+            validateInterfaceOperationsAssignment(
+                nodeTemplateName, interfaceAssignmentName, interfaceDefinition,
+                interfaceAssignment
+            )
         }
-
     }
 
     @Throws(BluePrintException::class)
-    open fun validateInterfaceOperationsAssignment(nodeTemplateName: String, interfaceAssignmentName: String,
-                                                   interfaceDefinition: InterfaceDefinition,
-                                                   interfaceAssignment: InterfaceAssignment) {
+    open fun validateInterfaceOperationsAssignment(
+        nodeTemplateName: String,
+        interfaceAssignmentName: String,
+        interfaceDefinition: InterfaceDefinition,
+        interfaceAssignment: InterfaceAssignment
+    ) {
 
         val operations = interfaceAssignment.operations
         operations?.let {
             it.forEach { operationAssignmentName, operationAssignments ->
 
                 val operationDefinition = interfaceDefinition.operations?.get(operationAssignmentName)
-                        ?: throw BluePrintException("Failed to get NodeTemplate($nodeTemplateName) operation definition ($operationAssignmentName)")
+                    ?: throw BluePrintException("Failed to get NodeTemplate($nodeTemplateName) operation definition ($operationAssignmentName)")
 
-                log.debug("Validation NodeTemplate($nodeTemplateName) Interface($interfaceAssignmentName) Operation " +
-                        "($operationAssignmentName)")
+                log.debug(
+                    "Validation NodeTemplate($nodeTemplateName) Interface($interfaceAssignmentName) Operation " +
+                            "($operationAssignmentName)"
+                )
 
                 val inputs = operationAssignments.inputs
                 val outputs = operationAssignments.outputs
 
                 inputs?.forEach { propertyName, propertyAssignment ->
                     val propertyDefinition = operationDefinition.inputs?.get(propertyName)
-                            ?: throw BluePrintException("Failed to get NodeTemplate($nodeTemplateName) operation " +
-                                    "definition ($operationAssignmentName) property definition($propertyName)")
+                        ?: throw BluePrintException(
+                            "Failed to get NodeTemplate($nodeTemplateName) operation " +
+                                    "definition ($operationAssignmentName) property definition($propertyName)"
+                        )
                     // Check the property values with property definition
                     propertyAssignmentValidationUtils
-                            .validatePropertyAssignment(propertyName, propertyDefinition, propertyAssignment)
+                        .validatePropertyAssignment(propertyName, propertyDefinition, propertyAssignment)
                 }
 
                 outputs?.forEach { propertyName, propertyAssignment ->
                     val propertyDefinition = operationDefinition.outputs?.get(propertyName)
-                            ?: throw BluePrintException("Failed to get NodeTemplate($nodeTemplateName) operation definition ($operationAssignmentName) " +
-                                    "output property definition($propertyName)")
+                        ?: throw BluePrintException(
+                            "Failed to get NodeTemplate($nodeTemplateName) operation definition ($operationAssignmentName) " +
+                                    "output property definition($propertyName)"
+                        )
                     // Check the property values with property definition
                     propertyAssignmentValidationUtils
-                            .validatePropertyAssignment(propertyName, propertyDefinition, propertyAssignment)
+                        .validatePropertyAssignment(propertyName, propertyDefinition, propertyAssignment)
                 }
-
             }
         }
-
     }
 
-
     private fun validateExtension(referencePrefix: String, name: String, nodeTemplate: NodeTemplate) {
         val customValidator = bluePrintTypeValidatorService
-                .bluePrintValidator(referencePrefix, BluePrintNodeTemplateValidator::class.java)
+            .bluePrintValidator(referencePrefix, BluePrintNodeTemplateValidator::class.java)
 
         customValidator?.let {
             it.validate(bluePrintRuntimeService, name, nodeTemplate)
         }
     }
-
-}
\ No newline at end of file
+}