aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterUtil.java')
-rw-r--r--openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterUtil.java55
1 files changed, 43 insertions, 12 deletions
diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterUtil.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterUtil.java
index 4120c6994c..20ac6413e7 100644
--- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterUtil.java
+++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/main/java/org/openecomp/core/impl/ToscaConverterUtil.java
@@ -1,24 +1,33 @@
package org.openecomp.core.impl;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
-import org.codehaus.jackson.map.ObjectMapper;
import org.openecomp.core.converter.errors.CreateToscaObjectErrorBuilder;
-import org.openecomp.core.utilities.json.JsonUtil;
import org.openecomp.sdc.common.errors.CoreException;
-import org.openecomp.sdc.common.errors.ErrorCategory;
-import org.openecomp.sdc.common.errors.ErrorCode;
import java.lang.reflect.Field;
+import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
public class ToscaConverterUtil {
- private static final String set = "set";
+ private static final String SET = "set";
+ private static final String DEFAULT = "default";
+ private static final String DEFAULT_CAPITAL = "Default";
+ private static Set<String> defaultValueKeys;
+
+ static {
+ defaultValueKeys =
+ Stream.of(DEFAULT, DEFAULT_CAPITAL).collect(Collectors.toSet());
+ }
public static <T> Optional<T> createObjectFromClass(String objectId,
- Object objectCandidate,
- Class<T> classToCreate) {
+ Object objectCandidate,
+ Class<T> classToCreate) {
try {
return createObjectUsingSetters(objectCandidate, classToCreate);
} catch (Exception e) {
@@ -30,7 +39,8 @@ public class ToscaConverterUtil {
private static <T> Optional<T> createObjectUsingSetters(Object objectCandidate,
Class<T> classToCreate) throws Exception {
- if(!(objectCandidate instanceof Map)){
+ if (Objects.isNull(objectCandidate)
+ || !(objectCandidate instanceof Map)) {
return Optional.empty();
}
@@ -38,18 +48,17 @@ public class ToscaConverterUtil {
Field[] classFields = classToCreate.getDeclaredFields();
T result = classToCreate.newInstance();
- for(Field field : classFields){
+ for (Field field : classFields) {
Object fieldValueToAssign = objectAsMap.get(field.getName());
- String methodName = set + StringUtils.capitalize(field.getName());
+ String methodName = SET + StringUtils.capitalize(field.getName());
- if(shouldSetterMethodNeedsToGetInvoked(classToCreate, field, fieldValueToAssign, methodName)){
+ if(shouldSetterMethodNeedsToGetInvoked(classToCreate, field, fieldValueToAssign, methodName)) {
classToCreate.getMethod(methodName, field.getType()).invoke(result, fieldValueToAssign);
}
}
return Optional.of(result);
}
-
private static <T> boolean shouldSetterMethodNeedsToGetInvoked(Class<T> classToCreate,
Field field,
Object fieldValueToAssign,
@@ -62,4 +71,26 @@ public class ToscaConverterUtil {
return false;
}
}
+
+ public static Optional<Object> getDefaultValue(Object entryValue,
+ Object objectToAssignDefaultValue) {
+ if (!(entryValue instanceof Map)
+ || Objects.isNull(objectToAssignDefaultValue)) {
+ return Optional.empty();
+ }
+
+ return Optional.ofNullable(getDefaultParameterValue((Map<String, Object>) entryValue));
+ }
+
+ private static Object getDefaultParameterValue(Map<String, Object> entryValue) {
+ Object defaultValue = null;
+ Set<String> keys = new HashSet<>(entryValue.keySet());
+ keys.retainAll(defaultValueKeys);
+
+ if (CollectionUtils.isNotEmpty(keys)) {
+ defaultValue = entryValue.get(keys.iterator().next());
+ }
+
+ return defaultValue;
+ }
}