diff options
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java | 89 | ||||
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/externalupload/utils/ServiceUtilsTest.java | 66 |
2 files changed, 0 insertions, 155 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 deleted file mode 100644 index 6ada3005d5..0000000000 --- a/catalog-be/src/main/java/org/openecomp/sdc/externalupload/utils/ServiceUtils.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright © 2016-2018 European Support Limited - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * 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 java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -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 ServiceUtils() { - } - - 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); - } - - 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; - } - - 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 isPrimitiveClass(Field field) { - return primitiveTypesClasses.contains(field.getType()); - } - - public static Map<String, Object> getObjectAsMap(Object obj) { - return new ObjectMapper().convertValue(obj, Map.class); - } - - 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; - } -} diff --git a/catalog-be/src/test/java/org/openecomp/sdc/externalupload/utils/ServiceUtilsTest.java b/catalog-be/src/test/java/org/openecomp/sdc/externalupload/utils/ServiceUtilsTest.java deleted file mode 100644 index fb012348d5..0000000000 --- a/catalog-be/src/test/java/org/openecomp/sdc/externalupload/utils/ServiceUtilsTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.openecomp.sdc.externalupload.utils; - -import org.junit.Test; - -import java.util.Map; -import java.util.Optional; -import java.util.Set; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; - -public class ServiceUtilsTest { - - private static final String INVALID_MODEL = "Invalid model"; - private static final String OBJ_1 = "obj1"; - private static final String PROP = "prop"; - - @Test - public void shouldCreateObjectUsingSetters() throws Exception { - TestModel testModel = getTestModel(); - Optional<TestModel> objectUsingSetters = ServiceUtils.createObjectUsingSetters(testModel, TestModel.class); - assertNotEquals(objectUsingSetters.orElseThrow(() -> new Exception(INVALID_MODEL)), testModel); - assertEquals(objectUsingSetters.orElseThrow(() -> new Exception(INVALID_MODEL)).getProp(), testModel.getProp()); - } - - @Test - public void shouldGetObjectAsMap() { - TestModel testModel = getTestModel(); - Map<String, Object> objectAsMap = ServiceUtils.getObjectAsMap(testModel); - assertEquals(objectAsMap.size(), 1); - assertEquals(objectAsMap.get(PROP), OBJ_1); - } - - @Test - public void shouldGetClassFieldNames() { - Set<String> classFieldNames = ServiceUtils.getClassFieldNames(TestModel.class); - assertTrue(classFieldNames.contains(PROP)); - } - - private TestModel getTestModel() { - TestModel testModel = new TestModel(); - testModel.setProp(OBJ_1); - return testModel; - } - -}
\ No newline at end of file |