diff options
author | Tomasz Golabek <tomasz.golabek@nokia.com> | 2019-06-11 13:41:48 +0200 |
---|---|---|
committer | Oren Kleks <orenkle@amdocs.com> | 2019-06-16 08:40:58 +0000 |
commit | b836d3492984e8c751f00b200d24eb07da792c75 (patch) | |
tree | 5633e0863101d032dd5398530abdcf85c29dcc88 /common/onap-tosca-datatype/src/main/java/org/onap | |
parent | d6bd31bf81c1eb8e4f3a6b349d021f5533f03b03 (diff) |
BeanUtils upgrade to 1.9.x
Transitive dependency to beanutils 1.8.3 removed.
Refactor of existing usage of beanutils proposed.
Change-Id: I6614a5794979225376338c778b25f71911ae9c50
Issue-ID: SDC-2269
Signed-off-by: Tomasz Golabek <tomasz.golabek@nokia.com>
Diffstat (limited to 'common/onap-tosca-datatype/src/main/java/org/onap')
-rw-r--r-- | common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/CommonUtil.java | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/CommonUtil.java b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/CommonUtil.java index 4ecf869ee8..fdbcb253dc 100644 --- a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/CommonUtil.java +++ b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/services/CommonUtil.java @@ -12,12 +12,14 @@ * 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========================================================= + * Modifications copyright (c) 2019 Nokia + * ================================================================================ */ - package org.onap.sdc.tosca.services; - import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -25,10 +27,10 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Set; -import org.apache.commons.beanutils.BeanUtils; import com.google.common.collect.ImmutableSet; import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.commons.beanutils.BeanUtils; public class CommonUtil { @@ -47,9 +49,16 @@ public class CommonUtil { return Optional.empty(); } Map<String, Object> objectAsMap = getObjectAsMap(objectCandidate); - T result = classToCreate.newInstance(); Field[] declaredFields = classToCreate.getDeclaredFields(); + createSubObjectsUsingSetters(objectAsMap, declaredFields); + T result = populateBean(objectAsMap, classToCreate); + + return Optional.of(result); + } + + public static void createSubObjectsUsingSetters(Map<String, Object> objectAsMap, Field[] declaredFields) + throws Exception { for (Field field : declaredFields) { if (isComplexClass(field)) { Optional<?> objectUsingSetters = @@ -60,9 +69,13 @@ public class CommonUtil { } } } - BeanUtils.populate(result, objectAsMap); + } - return Optional.of(result); + public static <T> T populateBean(Map<String, Object> propertiesMap, Class<T> classToCreate) + throws IllegalAccessException, InstantiationException, InvocationTargetException { + T result = classToCreate.newInstance(); + BeanUtils.populate(result, propertiesMap); + return result; } public static Map<String, Object> getObjectAsMap(Object obj) { |