import java.lang.reflect.*; import java.net.URL; import gw.*; public class GetLastTemperature { public static double TIMEOUT = 2.0; private GWPort proxy; GetLastTemperature(String gateway) { try { URL portURL = new URL("http://restsoap:AIIT@" + gateway + "/gw/soap"); GWServiceLocator locator = new GWServiceLocator(); proxy = locator.getGWPort(portURL); } catch (Exception e) { e.printStackTrace(); System.exit(2); } } public void get(String name, String addr) { GW__eventsReadLast_Result result; GW__Event_Result[] results; GW__Event value; try { result = proxy.eventsReadLast(name, addr); results = result.getResults(); for (int i = 0; i < results.length; i++) { value = results[i].getValue(); System.out.println( "Mote " + results[i].getAddr() + " Time " + results[i].getTimestamp() + " " + name + " " + value.getTemperatureReadEvent() ); } } catch (Exception e) { e.printStackTrace(); System.exit(2); } } public static void main(String [] args) { if (args.length != 1 && args.length != 2) { System.out.println("Usage: java GetLastTemperature gateway [mote]"); System.exit(3); } String gateway = args[0]; String attrName; String mote; if (args.length == 1) mote = "ffffffffffffffff"; else mote = args[1]; GetLastTemperature get = new GetLastTemperature(gateway); attrName = "TemperatureReadEvent"; get.get(attrName, mote); } }