summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java103
1 files changed, 46 insertions, 57 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java
index e6d12c9b4c..6ada3005d5 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java
@@ -13,13 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.externalupload.utils;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableSet;
-import org.apache.commons.beanutils.BeanUtils;
-
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
@@ -29,72 +26,64 @@ import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
+import org.apache.commons.beanutils.BeanUtils;
public class ServiceUtils {
- private static ImmutableSet<Class> collectionClasses = ImmutableSet.of(Map.class, List.class, Set.class);
- private static ImmutableSet<Class> primitiveTypesClasses = ImmutableSet.of(String.class, Integer.class, Double.class, Float.class);
+ private static ImmutableSet<Class> collectionClasses = ImmutableSet.of(Map.class, List.class, Set.class);
+ private static ImmutableSet<Class> primitiveTypesClasses = ImmutableSet.of(String.class, Integer.class, Double.class, Float.class);
- private ServiceUtils() {}
-
- public static <T> Optional<T> createObjectUsingSetters(Object objectCandidate,
- Class<T> classToCreate)
- throws Exception {
- if (Objects.isNull(objectCandidate)) {
- return Optional.empty();
+ private ServiceUtils() {
}
- Map<String, Object> objectAsMap = getObjectAsMap(objectCandidate);
- T result = classToCreate.newInstance();
-
- List<Field> declaredFields = getAllFields(classToCreate);
- for( Field field : declaredFields){
- if(isComplexClass(field)){
- Optional<?> objectUsingSetters =
- createObjectUsingSetters(objectAsMap.get(field.getName()), field.getType());
- if( objectUsingSetters.isPresent()){
- objectAsMap.remove(field.getName());
- objectAsMap.put(field.getName(), objectUsingSetters.get());
+ public static <T> Optional<T> createObjectUsingSetters(Object objectCandidate, Class<T> classToCreate) throws Exception {
+ if (Objects.isNull(objectCandidate)) {
+ return Optional.empty();
}
- }
+ Map<String, Object> objectAsMap = getObjectAsMap(objectCandidate);
+ T result = classToCreate.newInstance();
+ List<Field> declaredFields = getAllFields(classToCreate);
+ for (Field field : declaredFields) {
+ if (isComplexClass(field)) {
+ Optional<?> objectUsingSetters = createObjectUsingSetters(objectAsMap.get(field.getName()), field.getType());
+ if (objectUsingSetters.isPresent()) {
+ objectAsMap.remove(field.getName());
+ objectAsMap.put(field.getName(), objectUsingSetters.get());
+ }
+ }
+ }
+ BeanUtils.populate(result, objectAsMap);
+ return Optional.of(result);
}
- BeanUtils.populate(result, objectAsMap);
-
- return Optional.of(result);
- }
- private static <T> List<Field> getAllFields(Class<T> clazz) {
- List<Field> fields = new ArrayList<>();
- for(Class<?> c = clazz; c != null; c = c.getSuperclass()) {
- fields.addAll(Arrays.asList(c.getDeclaredFields()));
+ private static <T> List<Field> getAllFields(Class<T> clazz) {
+ List<Field> fields = new ArrayList<>();
+ for (Class<?> c = clazz; c != null; c = c.getSuperclass()) {
+ fields.addAll(Arrays.asList(c.getDeclaredFields()));
+ }
+ return fields;
}
- return fields;
- }
-
- private static boolean isComplexClass(Field field) {
- return !isCollectionClass(field)
- && !isPrimitiveClass(field)
- && !field.getType().equals(Object.class);
- }
-
- private static boolean isCollectionClass(Field field) {
- return collectionClasses.contains(field.getType());
- }
+ private static boolean isComplexClass(Field field) {
+ return !isCollectionClass(field) && !isPrimitiveClass(field) && !field.getType().equals(Object.class);
+ }
- private static boolean isPrimitiveClass(Field field) {
- return primitiveTypesClasses.contains(field.getType());
- }
+ private static boolean isCollectionClass(Field field) {
+ return collectionClasses.contains(field.getType());
+ }
- public static Map<String, Object> getObjectAsMap(Object obj) {
- return new ObjectMapper().convertValue(obj, Map.class);
- }
+ private static boolean isPrimitiveClass(Field field) {
+ return primitiveTypesClasses.contains(field.getType());
+ }
- public static Set<String> getClassFieldNames(Class<? extends Object> classType) {
- Set<String> fieldNames = new HashSet<>();
- List<Field> allFields = getAllFields(classType);
- allFields.forEach(field -> fieldNames.add(field.getName()));
+ public static Map<String, Object> getObjectAsMap(Object obj) {
+ return new ObjectMapper().convertValue(obj, Map.class);
+ }
- return fieldNames;
- }
-} \ No newline at end of file
+ public static Set<String> getClassFieldNames(Class<? extends Object> classType) {
+ Set<String> fieldNames = new HashSet<>();
+ List<Field> allFields = getAllFields(classType);
+ allFields.forEach(field -> fieldNames.add(field.getName()));
+ return fieldNames;
+ }
+}