[wise-commits] wise SVN: r596 - in core/trunk/core/src/main/java/org/jboss/wise: tree/impl and 1 other directory.

wise-commits at lists.jboss.org wise-commits at lists.jboss.org
Wed Jan 8 08:09:40 EST 2014


Author: alessio.soldano at jboss.com
Date: 2014-01-08 08:09:39 -0500 (Wed, 08 Jan 2014)
New Revision: 596

Modified:
   core/trunk/core/src/main/java/org/jboss/wise/core/utils/ReflectionUtils.java
   core/trunk/core/src/main/java/org/jboss/wise/tree/impl/ElementBuilderImpl.java
Log:
[WISE-211] Properly consider @XmlElement(name=...) when getting getters from fields


Modified: core/trunk/core/src/main/java/org/jboss/wise/core/utils/ReflectionUtils.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/core/utils/ReflectionUtils.java	2014-01-08 13:07:54 UTC (rev 595)
+++ core/trunk/core/src/main/java/org/jboss/wise/core/utils/ReflectionUtils.java	2014-01-08 13:09:39 UTC (rev 596)
@@ -91,12 +91,12 @@
      * @param field
      * @return String
      */
-    public static String getGetter( Field field ) {
-        Class cl = field.getType();
+    public static String getGetter( Field field, String xmlName ) {
+        Class<?> cl = field.getType();
         if (cl.isPrimitive()) {
             cl = JavaUtils.getWrapperType(cl);
         }
-        String cap = JavaUtils.capitalize(field.getName());
-        return cl.getName().equalsIgnoreCase("java.lang.Boolean") ? "is" + cap : "get" + cap;
+        final String m = xmlName != null ? xmlName : JavaUtils.capitalize(field.getName());
+        return cl.getName().equalsIgnoreCase("java.lang.Boolean") ? "is" + m : "get" + m;
     }
 }

Modified: core/trunk/core/src/main/java/org/jboss/wise/tree/impl/ElementBuilderImpl.java
===================================================================
--- core/trunk/core/src/main/java/org/jboss/wise/tree/impl/ElementBuilderImpl.java	2014-01-08 13:07:54 UTC (rev 595)
+++ core/trunk/core/src/main/java/org/jboss/wise/tree/impl/ElementBuilderImpl.java	2014-01-08 13:09:39 UTC (rev 596)
@@ -163,6 +163,7 @@
 		    fieldName = refAnnotation.name();
 		    namespace = refAnnotation.namespace();
 		}
+		final String xmlName = fieldName;
 		if (fieldName == null) {
 		    fieldName = field.getName();
 		}
@@ -172,7 +173,7 @@
 		Object fieldValue = null;
 		if (obj != null) {
 		    try {
-			Method getter = cl.getMethod(ReflectionUtils.getGetter(field), (Class[]) null);
+			Method getter = cl.getMethod(ReflectionUtils.getGetter(field, xmlName), (Class[]) null);
 			fieldValue = getter.invoke(obj, (Object[]) null);
 		    } catch (Exception e) {
 			throw new WiseRuntimeException("Error calling getter method for field " + field, e);



More information about the wise-commits mailing list