Add JSON type validation and enrichment
authorMuthuramalingam, Brinda Santh <brindasanth@in.ibm.com>
Fri, 8 Mar 2019 21:57:08 +0000 (16:57 -0500)
committerBrinda Santh Muthuramalingam <brindasanth@in.ibm.com>
Mon, 11 Mar 2019 13:44:18 +0000 (13:44 +0000)
Change-Id: I479b8214c7979dd5bc28acac68f747f06f3f231e
Issue-ID: CCSDK-1134
Signed-off-by: Muthuramalingam, Brinda Santh <brindasanth@in.ibm.com>
ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/factory/BluePrintValidatorFactory.kt [deleted file]
ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/service/BluePrintValidatorService.kt
ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/service/BluePrintValidatorDefaultServiceTest.kt [deleted file]
ms/controllerblueprints/modules/blueprint-validation/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/validation/BluePrintPropertyDefinitionValidatorImpl.kt
ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/enhancer/BluePrintPropertyDefinitionEnhancerImpl.kt

diff --git a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/factory/BluePrintValidatorFactory.kt b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/factory/BluePrintValidatorFactory.kt
deleted file mode 100644 (file)
index 687b86c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.factory
-
-
-import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintValidatorDefaultService
-import org.onap.ccsdk.apps.controllerblueprints.core.service.BluePrintValidatorService
-
-/**
- *
- *
- * @author Brinda Santh
- */
-
-object BluePrintValidatorFactory {
-
-    var bluePrintValidatorServices: MutableMap<String, BluePrintValidatorService> = HashMap()
-
-    init {
-        bluePrintValidatorServices[org.onap.ccsdk.apps.controllerblueprints.core.BluePrintConstants.TYPE_DEFAULT] = BluePrintValidatorDefaultService()
-    }
-
-    fun register(key:String, bluePrintValidatorService: BluePrintValidatorService){
-        bluePrintValidatorServices[key] = bluePrintValidatorService
-    }
-
-    fun instance(key : String) : BluePrintValidatorService?{
-        return bluePrintValidatorServices[key]
-    }
-
-}
\ No newline at end of file
index 9ee5314..06602a1 100644 (file)
@@ -41,6 +41,7 @@ interface BluePrintValidatorService : Serializable {
     fun validateBlueprint(serviceTemplate: ServiceTemplate, properties: MutableMap<String, Any>)
 }
 
+@Deprecated("Decomposed implementation moved to blueprint-validation module")
 open class BluePrintValidatorDefaultService : BluePrintValidatorService {
 
     val log: EELFLogger = EELFManager.getInstance().getLogger(BluePrintValidatorDefaultService::class.toString())
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/service/BluePrintValidatorDefaultServiceTest.kt b/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/service/BluePrintValidatorDefaultServiceTest.kt
deleted file mode 100644 (file)
index be360d9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * 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.service
-
-import com.att.eelf.configuration.EELFLogger
-import com.att.eelf.configuration.EELFManager
-import org.junit.Before
-import org.junit.Test
-import org.onap.ccsdk.apps.controllerblueprints.core.utils.BluePrintMetadataUtils
-
-/**
- *
- *
- * @author Brinda Santh
- */
-class BluePrintValidatorDefaultServiceTest {
-    private val log: EELFLogger = EELFManager.getInstance().getLogger(this::class.toString())
-
-    @Before
-    fun setUp(): Unit {
-
-    }
-
-    @Test
-    fun testValidateBluePrint() {
-
-        val blueprintBasePath: String = ("./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
-        val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(blueprintBasePath)
-        val properties: MutableMap<String, Any> = hashMapOf()
-
-        val validatorService = BluePrintValidatorDefaultService()
-        validatorService.validateBlueprint(bluePrintContext.serviceTemplate, properties)
-        log.info("Validation Message {}", properties)
-    }
-}
\ No newline at end of file
index 7d81ba6..62a8228 100644 (file)
@@ -51,6 +51,9 @@ open class BluePrintPropertyDefinitionValidatorImpl(private val bluePrintTypeVal
             BluePrintTypes.validPrimitiveTypes().contains(dataType) -> {
                 // Do Nothing
             }
+            BluePrintTypes.validComplexTypes().contains(dataType) -> {
+                // Do Nothing
+            }
             BluePrintTypes.validCollectionTypes().contains(dataType) -> {
                 val entrySchemaType: String = propertyDefinition.entrySchema?.type
                         ?: throw BluePrintException(format("Entry schema for DataType ({}) for the property ({}) not found", dataType, name))
index 1ae558f..1675e8c 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2019 IBM.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -43,8 +44,9 @@ open class BluePrintPropertyDefinitionEnhancerImpl(private val bluePrintRepoServ
         this.bluePrintContext = bluePrintRuntimeService.bluePrintContext()
 
         val propertyType = propertyDefinition.type
-        if (BluePrintTypes.validPrimitiveTypes().contains(propertyType)) {
-
+        if (BluePrintTypes.validPrimitiveTypes().contains(propertyType)
+                || BluePrintTypes.validComplexTypes().contains(propertyType)) {
+            // Do Nothing,
         } else if (BluePrintTypes.validCollectionTypes().contains(propertyType)) {
             val entrySchema = propertyDefinition.entrySchema
                     ?: throw BluePrintException("Entry Schema is missing for collection property($name)")