This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.models.impl-1.0.6 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-models-impl.git
commit f6d3d61a0b3e5c6fa2aed8e07a9a15cd58cb7209 Author: Justin Edelson <[email protected]> AuthorDate: Tue Jun 17 14:08:57 2014 +0000 SLING-3674 - avoiding duplicating code in ClassUtils git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/impl@1603178 13f79535-47bb-0310-9956-ffa450edef68 --- .../sling/models/impl/ModelAdapterFactory.java | 27 ++-------- .../models/impl/injectors/ValueMapInjector.java | 61 ++-------------------- 2 files changed, 10 insertions(+), 78 deletions(-) diff --git a/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java b/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java index 483215a..effe935 100644 --- a/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java +++ b/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java @@ -47,6 +47,7 @@ import javax.inject.Named; import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang.ClassUtils; import org.apache.felix.scr.annotations.Activate; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Deactivate; @@ -612,29 +613,11 @@ public class ModelAdapterFactory implements AdapterFactory, Runnable { } private Type mapPrimitiveClasses(Type type) { - if (type == Integer.TYPE) { - return Integer.class; - } - if (type == Long.TYPE) { - return Long.class; - } - if (type == Boolean.TYPE) { - return Boolean.class; - } - if (type == Double.TYPE) { - return Double.class; - } - if (type == Float.TYPE) { - return Float.class; - } - if (type == Short.TYPE) { - return Short.class; - } - if (type == Character.TYPE) { - return Character.class; + if (type instanceof Class<?>) { + return ClassUtils.primitiveToWrapper((Class<?>) type); + } else { + return type; } - - return type; } private static boolean setField(Field field, Object createdObject, Object value) { diff --git a/src/main/java/org/apache/sling/models/impl/injectors/ValueMapInjector.java b/src/main/java/org/apache/sling/models/impl/injectors/ValueMapInjector.java index 1aebadd..5084686 100644 --- a/src/main/java/org/apache/sling/models/impl/injectors/ValueMapInjector.java +++ b/src/main/java/org/apache/sling/models/impl/injectors/ValueMapInjector.java @@ -20,6 +20,7 @@ import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Array; import java.lang.reflect.Type; +import org.apache.commons.lang.ClassUtils; import org.apache.commons.lang.StringUtils; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Property; @@ -63,16 +64,16 @@ public class ValueMapInjector implements InjectAnnotationProcessorFactory, Injec if (clazz.isArray()) { Class<?> componentType = clazz.getComponentType(); if (componentType.isPrimitive()) { - Class<?> wrapper = getWrapperForPrimitive(componentType); - if (wrapper != null) { + Class<?> wrapper = ClassUtils.primitiveToWrapper(componentType); + if (wrapper != componentType) { Object wrapperArray = map.get(name, Array.newInstance(wrapper, 0).getClass()); if (wrapperArray != null) { return unwrapArray(wrapperArray, componentType); } } } else { - Class<?> primitiveType = getPrimitiveForWrapper(componentType); - if (primitiveType != null) { + Class<?> primitiveType = ClassUtils.wrapperToPrimitive(componentType); + if (primitiveType != componentType) { Object primitiveArray = map.get(name, Array.newInstance(primitiveType, 0).getClass()); if (primitiveArray != null) { return wrapArray(primitiveArray, componentType); @@ -117,58 +118,6 @@ public class ValueMapInjector implements InjectAnnotationProcessorFactory, Injec return wrapperArray; } - private Class<?> getPrimitiveForWrapper(Class<?> clazz) { - if (clazz == Integer.class) { - return Integer.TYPE; - } - if (clazz == Long.class) { - return Long.TYPE; - } - if (clazz == Boolean.class) { - return Boolean.TYPE; - } - if (clazz == Double.class) { - return Double.TYPE; - } - if (clazz == Float.class) { - return Float.TYPE; - } - if (clazz == Short.class) { - return Short.TYPE; - } - if (clazz == Character.class) { - return Character.TYPE; - } - - return null; - } - - private Class<?> getWrapperForPrimitive(Class<?> clazz) { - if (clazz == Integer.TYPE) { - return Integer.class; - } - if (clazz == Long.TYPE) { - return Long.class; - } - if (clazz == Boolean.TYPE) { - return Boolean.class; - } - if (clazz == Double.TYPE) { - return Double.class; - } - if (clazz == Float.TYPE) { - return Float.class; - } - if (clazz == Short.TYPE) { - return Short.class; - } - if (clazz == Character.TYPE) { - return Character.class; - } - - return null; - } - @Override public InjectAnnotationProcessor createAnnotationProcessor(Object adaptable, AnnotatedElement element) { // check if the element has the expected annotation -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
