import java.lang.reflect.*; import java.net.URL; import gw.*; public class GetLocation { public static double TIMEOUT = 2.0; private GWPort proxy; GetLocation(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__MetaData_Result[] results; try { results = proxy.metadataGet(addr, name); for (int i = 0; i < results.length; i++) { System.out.println( "Mote " + results[i].getAddr() + " " + name + " " + results[i].getValue() ); } } 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 GetLocation gateway [mote]"); System.exit(3); } String gateway = args[0]; String attrName; String mote; if (args.length == 1) mote = "ffffffffffffffff"; else mote = args[1]; GetLocation get = new GetLocation(gateway); attrName = "map-x"; get.get(attrName, mote); attrName = "map-y"; get.get(attrName, mote); } }