/** Dohvacanje web podataka sa WeatherBug servisa i spremanje u baz */ public void getData() { String APICODE = "A6458871574"; WeatherBugWebServices service = new WeatherBugWebServices(); WeatherBugWebServicesSoap port = service.getWeatherBugWebServicesSoap(); try { String s = "D:\\faks\\diplomski\\IV semestar\\Dropbox\\projekt NWTIS\\msimicic_aplikacija_2\\konfiguracija.xml"; KonfiguracijaBaza konf = new KonfiguracijaBaza(s); Connection conn = null; String url = konf.getServer_database(); String dbName = konf.getAdmin_database(); String driver = konf.getDriver_database(); String userName = konf.getAdmin_username(); String password = konf.getAdmin_password(); interval = konf.getInterval(); Class.forName(driver).newInstance(); conn = DriverManager.getConnection(url + dbName, userName, password); PreparedStatement stmt = conn.prepareStatement("SELECT zip FROM mycities order by rand() limit 7"); ResultSet result = stmt.executeQuery(); while (result.next()) { Statement stmt1 = conn.createStatement(); String zip = result.getString(1); podaci = port.getLiveWeatherByUSZipCode(zip, UnitType.METRIC, APICODE); if (podaci != null) { // <editor-fold defaultstate="collapsed" desc="data definition"> String currIcon = podaci.getCurrIcon(); String currDesc = podaci.getCurrDesc(); String gustWindSpeed = podaci.getGustWindSpeed(); String gustWindSpeedUnit = podaci.getGustWindSpeedUnit(); String gustWindDirectionString = podaci.getWindDirection(); String obDate = podaci.getObDate(); XMLGregorianCalendar obDateTime = podaci.getObDateTime(); String rainToday = podaci.getRainToday(); String rainUnit = podaci.getRainUnit(); String state = podaci.getState(); String stationIDRequested = podaci.getStationIDRequested(); String stationIDReturned = podaci.getStationIDReturned(); String stationName = podaci.getStationName(); String temperature = podaci.getTemperature(); String temperatureUnit = podaci.getTemperatureUnit(); String timeZone = podaci.getTimeZone(); Double timeZoneOffset = podaci.getTimeZoneOffset(); String windDirection = podaci.getWindDirection(); String windSpeed = podaci.getWindSpeed(); String windSpeedUnit = podaci.getWindSpeedUnit(); String city = podaci.getCity(); String county = podaci.getCountry(); // </editor-fold> String sql = "INSERT into meteo_podaci (currIcon, currDesc, gustWindSpeed, gustWindSpeedUnit, " + "gustWindDirectionString, obDate, obDateTime, rainToday, " + "rainUnit, state, stationIDRequested, stationIDReturned, stationName, " + "temperature, temperatureUnit, timeZone, timeZoneOffset, windDirection, " + "windSpeed, windSpeedUnit, city, county, zip) values ('" + currIcon + "', '" + currDesc + "', '" + gustWindSpeed + "', '" + gustWindSpeedUnit + "', '" + gustWindDirectionString + "','" + obDate + "', '" + obDateTime + "', '" + rainToday + "', '" + rainUnit + "', '" + state + "', '" + stationIDRequested + "', '" + stationIDReturned + "', '" + stationName + "', '" + temperature + "', '" + temperatureUnit + "', '" + timeZone + "', '" + timeZoneOffset + "', '" + windDirection + "', '" + windSpeed + "', '" + windSpeedUnit + "', '" + city + "', '" + county + "', '" + zip + "');"; stmt1.executeUpdate(sql); stmt1.close(); System.out.println("Podaci preuzeti "); } } conn.close(); stmt.close(); } catch (Exception e) { System.out.println(e); return; } }
/** * Metoda koja koristi webs ervis za sohvaćanje meteoroloških podataka preko danog zip koda, * jedinice mjere i APi ključa * * @param zipCode - dani zip kod * @param unittype - tip jedinice mjere (metrički ili engleski sustav) * @param aCode - api key * @return */ private static LiveWeatherData getLiveWeatherByUSZipCode( java.lang.String zipCode, net.wxbug.api.UnitType unittype, java.lang.String aCode) { net.wxbug.api.WeatherBugWebServices service = new net.wxbug.api.WeatherBugWebServices(); net.wxbug.api.WeatherBugWebServicesSoap port = service.getWeatherBugWebServicesSoap12(); return port.getLiveWeatherByUSZipCode(zipCode, unittype, aCode); }