[zb4osgi-changeset] [scm] ZigBee 4 OSGi repository change: r528 - /projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/Command.java

scm-notify at zb4osgi.aaloa.org scm-notify at zb4osgi.aaloa.org
Fri Oct 19 15:35:49 CEST 2012


Author: stefano.lenzi
Date: Fri Oct 19 15:35:49 2012
New Revision: 528

Log:
Fixes big issue introduced with r526: unable to set any numeric field to any value ( refs #139 )


Modified:
    projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/Command.java

Modified: projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/Command.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/Command.java (original)
+++ projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/Command.java Fri Oct 19 15:35:49 2012
@@ -75,6 +75,7 @@
 		Class<?>[] params = method.getParameterTypes();
 		Object[] objs = new Object[params.length];
 		for (int i = 0; i < objs.length; i++) {
+			boolean assigned  = true;
 			try {
 				if ( params[i].isAssignableFrom( long.class ) ) objs[i] = Long.decode(values[i]).longValue();
 				else if ( params[i].isAssignableFrom( int.class ) )objs[i] = Integer.decode(values[i]).intValue();
@@ -83,8 +84,10 @@
 				else if ( params[i].isAssignableFrom( double.class ) ) objs[i] = Double.valueOf(values[i]).doubleValue();
 				else if ( params[i].isAssignableFrom( float.class ) ) objs[i] = Float.valueOf(values[i]).floatValue();
 			}catch (NumberFormatException ex){
+				assigned = false;
 				throw new CommandParsingException(values[i],i,"The parameter is a number and "+values[i]+" does not reppresent a number", ex);
 			}
+			if ( assigned ) continue;
 			
 			if ( params[i].isAssignableFrom( boolean.class ) ) objs[i] = Boolean.valueOf(values[i]).booleanValue() || "on".equalsIgnoreCase(values[i]) || "1".equals(values[i]);
 			else if ( params[i].isAssignableFrom( String.class ) ) objs[i] = values[i];




More information about the Commit mailing list