[zb4osgi-changeset] [scm] ZigBee 4 OSGi repository change: r618 - in /projects/zb4osgi/trunk/zigbee.tester/src: main/java/org/persona/zigbee/tester/gui/CommandActionPanel.java test/java/org/persona/zigbee/tester/gui/CommandTest.java

scm-notify at zb4osgi.aaloa.org scm-notify at zb4osgi.aaloa.org
Thu Jan 31 19:48:54 CET 2013


Author: stefano.lenzi
Date: Thu Jan 31 19:48:54 2013
New Revision: 618

Log:
Avoiding to print stacktrace when test succed
Added a more verbose output when showing Response packet as result of a command ( refs #162 )


Modified:
    projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/CommandActionPanel.java
    projects/zb4osgi/trunk/zigbee.tester/src/test/java/org/persona/zigbee/tester/gui/CommandTest.java

Modified: projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/CommandActionPanel.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/CommandActionPanel.java (original)
+++ projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/CommandActionPanel.java Thu Jan 31 19:48:54 2013
@@ -32,6 +32,7 @@
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
 import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.Hashtable;
 
@@ -52,6 +53,8 @@
 import javax.swing.table.TableModel;
 
 import org.persona.zigbee.tester.gui.Command.CommandParsingException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.itaca.ztool.util.ByteUtils;
 
@@ -62,6 +65,8 @@
  * @since 0.3.0
  */
 public class CommandActionPanel extends JPanel {
+	
+	final static Logger logger = LoggerFactory.getLogger(CommandActionPanel.class);
 	
 	Command action;
 	ArgumentsModel argsModel;
@@ -143,10 +148,24 @@
 						final Class clzToString = clz.getMethod("toString").getDeclaringClass();
 						if ( clzToString == Object.class || clzToString == ResponseImpl.class) {
 							//TODO A default response to String in a ResponseBase class or Response.stringValueOf(Response) should be provided
-							str = "The response object do not provide any String representation of itself";
+							str = "The response object do not provide any String representation of itself\n";
+							str += "Trying to guess the actual content\n";				
 						}
+						str += "{\n";
+						final Method[] methods = clz.getMethods();
+						for (int i = 0; i < methods.length; i++) {
+							final String name = methods[i].getName();
+							if( methods[i].getParameterTypes().length == 0 && name.startsWith("get") ){
+								try {
+									str+="\t"+name.substring(3)+":"+methods[i].invoke(r, new Object[]{})+"\n";
+								}catch(Exception ignored){
+									logger.debug("Failed to inspect response packet", ignored);
+								};
+							}
+						}
+						str += "}\n";
 					} catch (Exception ex) {
-						ex.printStackTrace();
+						logger.debug("Failed to convert response to string", ex);
 					}
 					result.setText(
 							"Invokation successed, the raw response payload is \n" +

Modified: projects/zb4osgi/trunk/zigbee.tester/src/test/java/org/persona/zigbee/tester/gui/CommandTest.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.tester/src/test/java/org/persona/zigbee/tester/gui/CommandTest.java (original)
+++ projects/zb4osgi/trunk/zigbee.tester/src/test/java/org/persona/zigbee/tester/gui/CommandTest.java Thu Jan 31 19:48:54 2013
@@ -49,7 +49,6 @@
 			);
 			command.invoke(new String[]{"100","test"});
 		} catch (Exception e) {
-			e.printStackTrace();
 			assertTrue("Expected exception InvocationTargetException", e.getClass() == InvocationTargetException.class);
 			ex = (Exception) ((InvocationTargetException) e).getTargetException();
 		}
@@ -69,7 +68,6 @@
 			);
 			command.invoke(new String[]{"100,200;300, 400; 500 "});
 		} catch (Exception e) {
-			e.printStackTrace();
 			assertTrue("Expected exception InvocationTargetException", e.getClass() == InvocationTargetException.class);
 			ex = (Exception) ((InvocationTargetException) e).getTargetException();
 		}




More information about the Commit mailing list