Bp-generator, fix app-config inputs in different types 30/117130/3
authorTomasz Wrobel <tomasz.wrobel@nokia.com>
Tue, 26 Jan 2021 12:27:57 +0000 (13:27 +0100)
committerTomasz Wrobel <tomasz.wrobel@nokia.com>
Wed, 27 Jan 2021 08:18:53 +0000 (09:18 +0100)
Issue-ID: DCAEGEN2-1179
Signed-off-by: Tomasz Wrobel <tomasz.wrobel@nokia.com>
Change-Id: I0a368f47e0737d8870144de8ab25a385e922f2a3

mod/bpgenerator/common/src/main/java/org/onap/blueprintgenerator/service/base/BlueprintHelperService.java
mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/AppConfigService.java

index c9759d0..0526f48 100644 (file)
@@ -32,8 +32,8 @@ import java.util.LinkedHashMap;
 
 /**
  * @author : Ravi Mantena
- * @date 10/16/2020 Application: DCAE/ONAP - Blueprint Generator Common Module: Used by both ONAp
- * and DCAE Blueprint Applications Service: An interface for Common Functions used across Blueprint
+ * @date 10/16/2020 Application: DCAE/ONAP - Blueprint Generator Common Module: Used by both ONAp and DCAE Blueprint
+ * Applications Service: An interface for Common Functions used across Blueprint
  */
 @Service
 public class BlueprintHelperService {
@@ -41,8 +41,8 @@ public class BlueprintHelperService {
     /**
      * creates Input value by contatinating Type, Description and Default value
      *
-     * @param type Input Type
-     * @param description Description
+     * @param type         Input Type
+     * @param description  Description
      * @param defaultValue Default value of Type
      * @return
      */
@@ -58,7 +58,7 @@ public class BlueprintHelperService {
     /**
      * creates Input value by contatinating Type and Description
      *
-     * @param type Input Type
+     * @param type        Input Type
      * @param description Description
      * @return
      */
@@ -72,7 +72,7 @@ public class BlueprintHelperService {
     /**
      * creates Input value by contatinating Type and Default value
      *
-     * @param type Input Type
+     * @param type         Input Type
      * @param defaultValue Default value of Type
      * @return
      */
@@ -86,7 +86,7 @@ public class BlueprintHelperService {
     /**
      * creates Input value by contatinating Description and Default value
      *
-     * @param description Description
+     * @param description  Description
      * @param defaultValue Default value of Type
      * @return
      */
@@ -118,7 +118,7 @@ public class BlueprintHelperService {
     /**
      * creates Integer Input value for given Description and Default value
      *
-     * @param description Description
+     * @param description  Description
      * @param defaultValue Default value of Type
      * @return
      */
@@ -149,7 +149,8 @@ public class BlueprintHelperService {
 
     /**
      * creates String Input value for given Default value
-     * @param description Description
+     *
+     * @param description  Description
      * @param defaultValue Default value of Type
      * @return
      */
@@ -172,10 +173,31 @@ public class BlueprintHelperService {
         return createInputValue(Constants.STRING_TYPE, defaultValue);
     }
 
+    /**
+     * creates proper Input for given inputType and defaultValue.
+     * <p>
+     * Default input type: "string".
+     *
+     * @param inputType    Input type, supported: "boolean", "integer"
+     * @param defaultValue Default value of Type
+     * @return
+     */
+    public LinkedHashMap<String, Object> createInputByType(String inputType, Object defaultValue) {
+        switch (inputType) {
+            case "boolean":
+                return createBooleanInput(defaultValue);
+            case "integer":
+                return createIntegerInput(defaultValue);
+            default:
+                return createStringInput(defaultValue);
+        }
+    }
+
+
     /**
      * Concatenates String Input values with Underscore
      *
-     * @param firstValue Value
+     * @param firstValue  Value
      * @param secondValue Value
      * @return
      */
index da70511..b31fc49 100644 (file)
@@ -43,8 +43,7 @@ import java.util.TreeMap;
 
 /**
  * @author : Ravi Mantena
- * @date 10/16/2020 Application: ONAP - Blueprint Generator Common ONAP Service used to create App
- * Config
+ * @date 10/16/2020 Application: ONAP - Blueprint Generator Common ONAP Service used to create App Config
  */
 @Service("onapAppConfigService")
 public class AppConfigService {
@@ -60,12 +59,12 @@ public class AppConfigService {
 
 
     /**
-     * Creates Inputs section under App Config with Publishes, Subscribes, Parameters sections by
-     * checking Datarouter/MessageRouter/override/Dmaap values
+     * Creates Inputs section under App Config with Publishes, Subscribes, Parameters sections by checking
+     * Datarouter/MessageRouter/override/Dmaap values
      *
-     * @param inputs Inputs
+     * @param inputs            Inputs
      * @param onapComponentSpec Onap Component Specification
-     * @param isDmaap Dmaap Argument
+     * @param isDmaap           Dmaap Argument
      * @return
      */
     public Map<String, Object> createAppconfig(
@@ -95,8 +94,7 @@ public class AppConfigService {
                 paramInput.setBpInputName(pName);
                 parameters.put(pName, paramInput);
                 if (!"".equals(p.getValue())) {
-                    LinkedHashMap<String, Object> pInputs =
-                        blueprintHelperService.createStringInput(p.getValue());
+                    LinkedHashMap<String, Object> pInputs = createInputFromParameter(p);
                     inputs.put(pName, pInputs);
                 } else {
                     LinkedHashMap<String, Object> pInputs = new LinkedHashMap<>();
@@ -124,4 +122,9 @@ public class AppConfigService {
         return response;
     }
 
+    private LinkedHashMap<String, Object> createInputFromParameter(Parameters parameter) {
+        String inputType = parameter.getType() == null ? "string" : parameter.getType();
+
+        return blueprintHelperService.createInputByType(inputType, parameter.getValue());
+    }
 }