Decompose enhancer to multiple types.
authorMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
Wed, 12 Dec 2018 15:03:26 +0000 (10:03 -0500)
committerMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
Wed, 12 Dec 2018 15:03:26 +0000 (10:03 -0500)
Change-Id: I508ce5919680f6e7f994776e58404729b55eace8
Issue-ID: CCSDK-803
Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/interfaces/BluePrintEnhancer.kt

index 989617b..cb835d7 100644 (file)
@@ -102,16 +102,29 @@ interface BluePrintTypeEnhancerService {
         doEnhancement(bluePrintContext, error, name, policyType, enhancers)
     }
 
+    fun enhancePropertyDefinitions(bluePrintContext: BluePrintContext, error: BluePrintError, properties: MutableMap<String, PropertyDefinition>) {
+        properties.forEach { propertyName, propertyDefinition ->
+            enhancePropertyDefinition(bluePrintContext, error, propertyName, propertyDefinition)
+        }
+    }
+
     fun enhancePropertyDefinition(bluePrintContext: BluePrintContext, error: BluePrintError, name: String, propertyDefinition: PropertyDefinition) {
         val enhancers = getPropertyDefinitionEnhancers()
         doEnhancement(bluePrintContext, error, name, propertyDefinition, enhancers)
     }
 
+    fun enhanceAttributeDefinitions(bluePrintContext: BluePrintContext, error: BluePrintError, attributes: MutableMap<String, AttributeDefinition>) {
+        attributes.forEach { attributeName, attributeDefinition ->
+            enhanceAttributeDefinition(bluePrintContext, error, attributeName, attributeDefinition)
+        }
+    }
+
     fun enhanceAttributeDefinition(bluePrintContext: BluePrintContext, error: BluePrintError, name: String, attributeDefinition: AttributeDefinition) {
         val enhancers = getAttributeDefinitionEnhancers()
         doEnhancement(bluePrintContext, error, name, attributeDefinition, enhancers)
     }
 
+    @Suppress("UNCHECKED_CAST")
     private fun <T> doEnhancement(bluePrintContext: BluePrintContext, error: BluePrintError, name: String, definition: Any, enhancers: List<BluePrintEnhancer<T>>) {
         if (enhancers.isNotEmpty()) {
             enhancers.forEach {