* * ================================================================================
* * 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
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: For Common Functions used across
+ * @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 {
-
- public LinkedHashMap<String, Object> createInputValue(String type, String description, Object defaultValue) {
- LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
- inputMap.put("type", type);
- inputMap.put("description", description);
- inputMap.put("default", defaultValue);
- return inputMap;
- }
-
- public LinkedHashMap<String, Object> createInputValue(String type, String description) {
- LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
- inputMap.put("type", type);
- inputMap.put("description", description);
- return inputMap;
- }
-
- public LinkedHashMap<String, Object> createInputValue(String type, Object defaultValue) {
- LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
- inputMap.put("type", type);
- inputMap.put("default", defaultValue);
- return inputMap;
- }
-
- public LinkedHashMap<String, Object> createIntegerInput(String description, Object defaultValue){
- return createInputValue(Constants.INTEGER_TYPE, description, defaultValue);
- }
-
- public LinkedHashMap<String, Object> createIntegerInput(String description){
- return createInputValue(Constants.INTEGER_TYPE, description);
- }
-
- public LinkedHashMap<String, Object> createIntegerInput(Object defaultValue){
- return createInputValue(Constants.INTEGER_TYPE, defaultValue);
- }
-
- public LinkedHashMap<String, Object> createBooleanInput(String description, Object defaultValue){
- return createInputValue(Constants.BOOLEAN_TYPE, description, defaultValue);
- }
-
- public LinkedHashMap<String, Object> createBooleanInput(String description){
- return createInputValue(Constants.BOOLEAN_TYPE, description);
- }
-
- public LinkedHashMap<String, Object> createBooleanInput(Object defaultValue){
- return createInputValue(Constants.BOOLEAN_TYPE, defaultValue);
- }
-
- public LinkedHashMap<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);
- }*/
-
- public LinkedHashMap<String, Object> createStringInput(Object defaultValue){
- return createInputValue(Constants.STRING_TYPE, defaultValue);
- }
-
- public String joinUnderscore(String firstValue, String secondValue){
- return firstValue + "_" + secondValue;
- }
-
- public boolean isDataRouterType(String type) {
- return type.equals(Constants.DATA_ROUTER) || type.equals(Constants.DATAROUTER_VALUE);
- }
-
- public boolean isMessageRouterType(String type) {
- return type.equals(Constants.MESSAGE_ROUTER) || type.equals(Constants.MESSAGEROUTER_VALUE);
- }
-
- public String getNamePrefix(String name) {
- return name.isEmpty() ? "" : name + "_";
- }
-
+ /**
+ * creates Input value by contatinating Type, Description and Default value
+ *
+ * @param type Input Type
+ * @param description Description
+ * @param defaultValue Default value of Type
+ * @return
+ */
+ public Map<String, Object> createInputValue(
+ String type, String description, Object defaultValue) {
+ LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
+ inputMap.put("type", type);
+ inputMap.put("description", description);
+ inputMap.put("default", defaultValue);
+ return inputMap;
+ }
+
+ /**
+ * creates Input value by contatinating Type and Description
+ *
+ * @param type Input Type
+ * @param description Description
+ * @return
+ */
+ public Map<String, Object> createInputValue(String type, String description) {
+ LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
+ inputMap.put("type", type);
+ inputMap.put("description", description);
+ return inputMap;
+ }
+
+ /**
+ * creates Input value by contatinating Type and Default value
+ *
+ * @param type Input Type
+ * @param defaultValue Default value of Type
+ * @return
+ */
+ public Map<String, Object> createInputValue(String type, Object defaultValue) {
+ LinkedHashMap<String, Object> inputMap = new LinkedHashMap<>();
+ inputMap.put("type", type);
+ inputMap.put("default", defaultValue);
+ return inputMap;
+ }
+
+ /**
+ * creates Input value by contatinating Description and Default value
+ *
+ * @param description Description
+ * @param defaultValue Default value of Type
+ * @return
+ */
+ public Map<String, Object> createIntegerInput(String description,
+ Object defaultValue) {
+ return createInputValue(Constants.INTEGER_TYPE, description, defaultValue);
+ }
+
+ /**
+ * creates Integer Input value for given Description
+ *
+ * @param description Description
+ * @return
+ */
+ public Map<String, Object> createIntegerInput(String description) {
+ return createInputValue(Constants.INTEGER_TYPE, description);
+ }
+
+ /**
+ * creates Integer Input value for given Default value
+ *
+ * @param defaultValue Default value of Type
+ * @return
+ */
+ 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 defaultValue Default value of Type
+ * @return
+ */
+ public Map<String, Object> createBooleanInput(String description,
+ Object defaultValue) {
+ return createInputValue(Constants.BOOLEAN_TYPE, description, defaultValue);
+ }
+
+ /**
+ * creates Boolean Input value for given Description
+ *
+ * @param description Description
+ * @return
+ */
+ public Map<String, Object> createBooleanInput(String description) {
+ return createInputValue(Constants.BOOLEAN_TYPE, description);
+ }
+
+ /**
+ * creates Boolean Input value for given Default value
+ *
+ * @param defaultValue Default value of Type
+ * @return
+ */
+ 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 defaultValue Default value of Type
+ * @return
+ */
+ public Map<String, Object> createStringInput(String description,
+ Object defaultValue) {
+ return createInputValue(Constants.STRING_TYPE, description, defaultValue);
+ }
+
+ /**
+ * creates String Input value for given Default value
+ *
+ * @param defaultValue Default value of Type
+ * @return
+ */
+ 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 secondValue Value
+ * @return
+ */
+ public String joinUnderscore(String firstValue, String secondValue) {
+ return firstValue + "_" + secondValue;
+ }
+
+ /**
+ * Returns if the type is Data Router or not
+ *
+ * @param type Input Type
+ * @return
+ */
+ public boolean isDataRouterType(String type) {
+ return type.equals(Constants.DATA_ROUTER) || type.equals(Constants.DATAROUTER_VALUE);
+ }
+
+ /**
+ * Returns if the type is Message Router or not
+ *
+ * @param type Input Type
+ * @return
+ */
+ public boolean isMessageRouterType(String type) {
+ 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
+ *
+ * @param name Name
+ * @return
+ */
+ public String getNamePrefix(String name) {
+ return name.isEmpty() ? "" : name + "_";
+ }
}