package net.agmodel.metsoap; import java.net.URL; import java.util.Calendar; /** * Title: * Description: * Copyright: Copyright (c) 2002 * Company: * @author * @version 1.0 */ public class MetSoapRemoteClient { public static void main(String[] args) { try { MetSOAP service = new MetSOAPLocator(); URL url = //new URL("http://localhost:7000/jboss-net/services/MetSoapRemoteInterfacePort"); new URL("http://www.agmodel.net/jboss-net/services/MetSoapRemoteInterfacePort"); MetSoapRemoteInterface stub = service.getMetSoapRemoteInterfacePort(url); System.out.println("calling listMetSources\n"); MetSource[] metsource = stub.listMetSources("ja"); for (int i = 0; i < metsource.length; i++) { System.out.print(metsource[i].getID() + " "); System.out.print(metsource[i].getName() + " "); System.out.print(metsource[i].getLoginRequirements() + " "); System.out.print(metsource[i].getSuggestedDailyOffset() + " "); System.out.print(metsource[i].getSuggestedTimezone() + " "); GeographicalBox box = metsource[i].getSpatialCoverage(); Location2D nw = box.getNorthWest(); Location2D se = box.getSouthEast(); System.out.print( nw.getLatitude() + "," + nw.getLongitude() + "," + se.getLatitude() + "," + se.getLongitude()); System.out.println(); } System.out.println("\nfinished listMetSources\n"); System.out.println("calling listMetSourcesInArea\n"); GeographicalBox requestBox = new GeographicalBox(); Location2D requestNw = new Location2D(); requestNw.setLatitude(23.1); requestNw.setLongitude(145.9); requestBox.setNorthWest(requestNw); Location2D requestSe = new Location2D(); requestSe.setLatitude(21); requestSe.setLongitude(147); requestBox.setSouthEast(requestSe); metsource = stub.listMetSourcesInArea("ja", requestBox); for (int i = 0; i < metsource.length; i++) { System.out.print(metsource[i].getID() + " "); System.out.print(metsource[i].getName() + " "); System.out.print(metsource[i].getLoginRequirements() + " "); System.out.print(metsource[i].getSuggestedDailyOffset() + " "); System.out.print(metsource[i].getSuggestedTimezone() + " "); GeographicalBox box = metsource[i].getSpatialCoverage(); Location2D nw = box.getNorthWest(); Location2D se = box.getSouthEast(); System.out.print( nw.getLatitude() + "," + nw.getLongitude() + "," + se.getLatitude() + "," + se.getLongitude()); System.out.println(); } System.out.println("\nfinished listMetSourcesInArea\n"); System.out.println("calling listRegionsForSource\n"); Region[] metregion = stub.listRegionsForSource( "ja", "amedas"); for (int i = 0; i < metregion.length; i++) { System.out.print(metregion[i].getID() + " "); System.out.print(metregion[i].getName() + " "); GeographicalBox box = metregion[i].getSpatialCoverage(); Location2D nw = box.getNorthWest(); Location2D se = box.getSouthEast(); System.out.print( nw.getLatitude() + "," + nw.getLongitude() + "," + se.getLatitude() + "," + se.getLongitude()); System.out.println(); } System.out.println("\nfinished listRegionsForSource\n"); System.out.println("calling listStationsForRegion\n"); WeatherStation[] weatherstation = stub.listStationsForRegion( "ja", "amedas", "8"); for (int i = 0; i < weatherstation.length; i++) { System.out.print(weatherstation[i].getStationID() + " "); System.out.print(weatherstation[i].getMetSourceID() + " "); System.out.print(weatherstation[i].getRegionID() + " "); System.out.print(weatherstation[i].getStationName() + " "); Location loc = weatherstation[i].getLocation(); System.out.print(loc.getLatitude() + ","); System.out.print(loc.getLongitude() + ","); System.out.println(loc.getAltitude() + " "); TimeInterval interval = weatherstation[i].getOperational(); Calendar startCal = interval.getStarting(); Calendar endCal = interval.getEnding(); System.out.print(startCal.getTime() + "-->"); if (endCal != null) { System.out.print(endCal.getTime()); } System.out.println(); CatalogEntry[] catalog = weatherstation[i].getCatalog(); for (int j = 0; j < catalog.length; j++) { System.out.print(catalog[j].getResolution() + "-->"); int[] elements = catalog[j].getElements(); for (int k = 0; k < elements.length; k++) { System.out.print(elements[k] + ","); } System.out.println(); } System.out.println(); } System.out.println("\nfinished listStationsForRegion\n"); System.out.println("calling listStations\n"); weatherstation = stub.listStations( "ja", "kanagawa"); for (int i = 0; i < weatherstation.length; i++) { System.out.print(weatherstation[i].getStationID() + " "); System.out.print(weatherstation[i].getMetSourceID() + " "); System.out.print(weatherstation[i].getRegionID() + " "); System.out.print(weatherstation[i].getStationName() + " "); Location loc = weatherstation[i].getLocation(); System.out.print(loc.getLatitude() + ","); System.out.print(loc.getLongitude() + ","); System.out.println(loc.getAltitude() + " "); TimeInterval interval = weatherstation[i].getOperational(); Calendar startCal = interval.getStarting(); Calendar endCal = interval.getEnding(); System.out.print(startCal.getTime() + "-->"); if (endCal != null) { System.out.print(endCal.getTime()); } System.out.println(); CatalogEntry[] catalog = weatherstation[i].getCatalog(); for (int j = 0; j < catalog.length; j++) { System.out.print(catalog[j].getResolution() + "-->"); int[] elements = catalog[j].getElements(); for (int k = 0; k < elements.length; k++) { System.out.print(elements[k] + ","); } System.out.println(); } System.out.println(); } System.out.println("\nfinished listStations\n"); System.out.println("calling listStationsInArea\n"); requestBox = new GeographicalBox(); requestNw = new Location2D(); requestNw.setLatitude(40); requestNw.setLongitude(141); requestBox.setNorthWest(requestNw); requestSe = new Location2D(); requestSe.setLatitude(35); requestSe.setLongitude(145); requestBox.setSouthEast(requestSe); weatherstation = stub.listStationsInArea("ja", requestBox); for (int i = 0; i < weatherstation.length; i++) { System.out.print(weatherstation[i].getStationID() + " "); System.out.print(weatherstation[i].getMetSourceID() + " "); System.out.print(weatherstation[i].getRegionID() + " "); System.out.print(weatherstation[i].getStationName() + " "); Location loc = weatherstation[i].getLocation(); System.out.print(loc.getLatitude() + ","); System.out.print(loc.getLongitude() + ","); System.out.println(loc.getAltitude() + " "); TimeInterval interval = weatherstation[i].getOperational(); Calendar startCal = interval.getStarting(); Calendar endCal = interval.getEnding(); System.out.print(startCal.getTime() + "-->"); if (endCal != null) { System.out.print(endCal.getTime()); } System.out.println(); CatalogEntry[] catalog = weatherstation[i].getCatalog(); for (int j = 0; j < catalog.length; j++) { System.out.print(catalog[j].getResolution() + "-->"); int[] elements = catalog[j].getElements(); for (int k = 0; k < elements.length; k++) { System.out.print(elements[k] + ","); } System.out.println(); } System.out.println(); } System.out.println("\nfinished listStationsInArea\n"); System.out.println("calling getStationData\n"); Calendar c = Calendar.getInstance(); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); c.set(Calendar.YEAR, 2005); c.set(Calendar.MONTH, 5); c.set(Calendar.DATE, 25); Calendar start = (Calendar) c.clone(); start.add(Calendar.DATE, -1); StationMetRequest request = new StationMetRequest(); request.setSourceID("amedas"); request.setStationID("11001"); TimeInterval interval = new TimeInterval(); interval.setStarting(start); interval.setEnding(c); request.setInterval(interval); request.setRequestedElements(new int[] { 1, 0 }); request.setResolution(1); //hourly //request.setResolution(2);//daily request.setLanguage("ja"); request.setSummarisingAllowed(true); request.setMissingValueIndicator(99999); StationData result = stub.getStationData(request); ElementData[] data = result.getElementData(); for (int i = 0; i < data.length; i++) { System.out.print(data[i].getElementID() + " "); System.out.print(data[i].getElementName() + " "); interval = data[i].getInterval(); Calendar startCal = interval.getStarting(); Calendar endCal = interval.getEnding(); System.out.print(startCal.getTime() + "-->"); if (endCal != null) { System.out.print(endCal.getTime()); } System.out.println(); DataStore[] dataStore = data[i].getData(); for (int j = 0; j < dataStore.length; j++) { System.out.print( dataStore[j].getStoreID() + " " + dataStore[j].getStoreName()); float[] contents = dataStore[j].getContents(); for (int k = 0; k < contents.length; k++) { System.out.print(contents[k] + ","); } System.out.println(); } System.out.println(); } System.out.println("\nfinished getStationData\n"); } catch (Exception e) { e.printStackTrace(); } } }