Fix sonar issues
[dcaegen2/platform.git] / mod / bpgenerator / common / src / main / java / org / onap / blueprintgenerator / service / base / BlueprintHelperService.java
index db15360..5009372 100644 (file)
@@ -5,6 +5,8 @@
  *  *  ================================================================================
  *  *  Copyright (c) 2020  AT&T Intellectual Property. All rights reserved.
  *  *  ================================================================================
+ *  *  Modifications Copyright (c) 2021 Nokia
+ *  *  ================================================================================
  *  *  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
@@ -26,12 +28,13 @@ package org.onap.blueprintgenerator.service.base;
 import org.onap.blueprintgenerator.constants.Constants;
 import org.springframework.stereotype.Service;
 
+import java.util.Map;
 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 {
@@ -39,12 +42,12 @@ 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
      */
-    public LinkedHashMap<String, Object> createInputValue(
+    public Map<String, Object> createInputValue(
         String type, String description, Object defaultValue) {
         LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
         inputMap.put("type", type);
@@ -56,11 +59,11 @@ public class BlueprintHelperService {
     /**
      * creates Input value by contatinating Type and Description
      *
-     * @param type Input Type
+     * @param type        Input Type
      * @param description Description
      * @return
      */
-    public LinkedHashMap<String, Object> createInputValue(String type, String description) {
+    public Map<String, Object> createInputValue(String type, String description) {
         LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
         inputMap.put("type", type);
         inputMap.put("description", description);
@@ -70,11 +73,11 @@ 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
      */
-    public LinkedHashMap<String, Object> createInputValue(String type, Object defaultValue) {
+    public Map<String, Object> createInputValue(String type, Object defaultValue) {
         LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
         inputMap.put("type", type);
         inputMap.put("default", defaultValue);
@@ -84,11 +87,11 @@ 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
      */
-    public LinkedHashMap<String, Object> createIntegerInput(String description,
+    public Map<String, Object> createIntegerInput(String description,
         Object defaultValue) {
         return createInputValue(Constants.INTEGER_TYPE, description, defaultValue);
     }
@@ -99,7 +102,7 @@ public class BlueprintHelperService {
      * @param description Description
      * @return
      */
-    public LinkedHashMap<String, Object> createIntegerInput(String description) {
+    public Map<String, Object> createIntegerInput(String description) {
         return createInputValue(Constants.INTEGER_TYPE, description);
     }
 
@@ -109,18 +112,18 @@ public class BlueprintHelperService {
      * @param defaultValue Default value of Type
      * @return
      */
-    public LinkedHashMap<String, Object> createIntegerInput(Object defaultValue) {
+    public Map<String, Object> createIntegerInput(Object defaultValue) {
         return createInputValue(Constants.INTEGER_TYPE, defaultValue);
     }
 
     /**
      * creates Integer Input value for given Description and Default value
      *
-     * @param description Description
+     * @param description  Description
      * @param defaultValue Default value of Type
      * @return
      */
-    public LinkedHashMap<String, Object> createBooleanInput(String description,
+    public Map<String, Object> createBooleanInput(String description,
         Object defaultValue) {
         return createInputValue(Constants.BOOLEAN_TYPE, description, defaultValue);
     }
@@ -131,7 +134,7 @@ public class BlueprintHelperService {
      * @param description Description
      * @return
      */
-    public LinkedHashMap<String, Object> createBooleanInput(String description) {
+    public Map<String, Object> createBooleanInput(String description) {
         return createInputValue(Constants.BOOLEAN_TYPE, description);
     }
 
@@ -141,39 +144,58 @@ public class BlueprintHelperService {
      * @param defaultValue Default value of Type
      * @return
      */
-    public LinkedHashMap<String, Object> createBooleanInput(Object defaultValue) {
+    public Map<String, Object> createBooleanInput(Object defaultValue) {
         return createInputValue(Constants.BOOLEAN_TYPE, defaultValue);
     }
 
     /**
      * creates String Input value for given Default value
-     * @param description Description
+     *
+     * @param description  Description
      * @param defaultValue Default value of Type
      * @return
      */
-    public LinkedHashMap<String, Object> createStringInput(String description,
+    public Map<String, Object> createStringInput(String description,
         Object defaultValue) {
         return createInputValue(Constants.STRING_TYPE, description, defaultValue);
     }
 
-  /*  public LinkedHashMap<String, Object> createStringInput(String description){
-    return createInputValue(Constants.STRING_TYPE, description);
-  }*/
-
     /**
      * creates String Input value for given Default value
      *
      * @param defaultValue Default value of Type
      * @return
      */
-    public LinkedHashMap<String, Object> createStringInput(Object defaultValue) {
+    public Map<String, Object> createStringInput(Object defaultValue) {
         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", "number"
+     * @param defaultValue Default value of Type
+     * @return
+     */
+    public Map<String, Object> createInputByType(String inputType, Object defaultValue) {
+        switch (inputType) {
+            case "boolean":
+                return createBooleanInput(defaultValue);
+            case "integer":
+            case "number":
+                return createIntegerInput(defaultValue);
+            default:
+                return createStringInput(defaultValue);
+        }
+    }
+
+
     /**
      * Concatenates String Input values with Underscore
      *
-     * @param firstValue Value
+     * @param firstValue  Value
      * @param secondValue Value
      * @return
      */
@@ -201,6 +223,16 @@ public class BlueprintHelperService {
         return type.equals(Constants.MESSAGE_ROUTER) || type.equals(Constants.MESSAGEROUTER_VALUE);
     }
 
+    /**
+     * Returns if the type is Kafka or not
+     *
+     * @param type Input Type
+     * @return
+     */
+    public boolean isKafkaStreamType(String type) {
+        return type.equals(Constants.KAFKA_TYPE);
+    }
+
     /**
      * Returns name with underscore for empty input
      *