/** * Initializes data with all the values which OpenWeatherMap provides. Only value missing is * therefore the current light intensity. * * @param currentWeather CurrentWeather object from which data is taken. * @param data WeatherData object to be initialized. */ private void initWDwithOWMData(CurrentWeather currentWeather, WeatherData data) { try { if (currentWeather.getMainInstance() != null) { data.setOwmTemp(fahrenheitToCelsius(currentWeather.getMainInstance().getTemperature())); data.setOwmPressure(currentWeather.getMainInstance().getPressure()); data.setOwmHumidity(currentWeather.getMainInstance().getHumidity()); } else { data.setOwmTemp(TEMPDEFAULTVALUE); data.setOwmPressure(PRESDEFAULTVALUE); data.setOwmHumidity(HUMDEFAULTVALUE); } if (currentWeather.getWindInstance() != null) { data.setOwmWindSpeed(currentWeather.getWindInstance().getWindSpeed()); data.setOwmWindDegree(currentWeather.getWindInstance().getWindDegree()); } else { data.setOwmWindSpeed(WSPEEDDEFAULTVALUE); data.setOwmWindDegree(WDEGREEDEFAULTVALUE); } if ((currentWeather.getWeatherCount() > 0) && (currentWeather.getWeatherInstance(0) != null)) { data.setOwmDesc(currentWeather.getWeatherInstance(0).getWeatherDescription()); data.setOwmName(currentWeather.getWeatherInstance(0).getWeatherName()); } else { data.setOwmDesc("N/A"); data.setOwmName("N/A"); } if (currentWeather.getRainInstance() != null) { if (currentWeather.getRainInstance().hasRain1h()) System.out.println(currentWeather.getRainInstance().getRain1h()); if (currentWeather.getRainInstance().hasRain3h()) System.out.println(currentWeather.getRainInstance().getRain3h()); } if (currentWeather.getCloudsInstance() != null) { if (currentWeather.getCloudsInstance().hasPercentageOfClouds()) System.out.println(currentWeather.getCloudsInstance().getPercentageOfClouds()); } } catch (NullPointerException e) { e.printStackTrace(); initWDwithOwmDefaults(data); } }
private void initWDwithOwmDefaults(WeatherData data) { data.setOwmTemp(TEMPDEFAULTVALUE); data.setOwmPressure(PRESDEFAULTVALUE); data.setOwmHumidity(HUMDEFAULTVALUE); data.setOwmDesc("N/A"); data.setOwmName("N/A"); data.setOwmWindSpeed(WSPEEDDEFAULTVALUE); data.setOwmWindDegree(WDEGREEDEFAULTVALUE); }