* * ================================================================================
* * 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
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 {
/**
* 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);
/**
* 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);
/**
* 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);
/**
* 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);
}
* @param description Description
* @return
*/
- public LinkedHashMap<String, Object> createIntegerInput(String description) {
+ public Map<String, Object> createIntegerInput(String description) {
return createInputValue(Constants.INTEGER_TYPE, description);
}
* @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);
}
* @param description Description
* @return
*/
- public LinkedHashMap<String, Object> createBooleanInput(String description) {
+ public Map<String, Object> createBooleanInput(String description) {
return createInputValue(Constants.BOOLEAN_TYPE, description);
}
* @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
*/
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
*