]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/weather/WeatherResults.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / function / weather / WeatherResults.java
diff --git a/tim/prune/function/weather/WeatherResults.java b/tim/prune/function/weather/WeatherResults.java
deleted file mode 100644 (file)
index 10fd363..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-package tim.prune.function.weather;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.TimeZone;
-
-import tim.prune.gui.DisplayUtils;
-
-
-/**
- * Model for results of weather forecast from openweathermap.org
- */
-public class WeatherResults
-{
-       /** List of forecasts */
-       private ArrayList<SingleForecast> _forecastList = new ArrayList<SingleForecast>();
-       /** Flag whether the units are metric (Celsius) or not (Fahrenheit) */
-       private boolean _tempsCelsius = true;
-       /** Location name */
-       private String _locationName = null;
-       /** Last update timestamp */
-       private String _updateTime = null;
-       /** Sunrise and sunset times as HH:MM */
-       private String _sunriseTime = null, _sunsetTime = null;
-
-
-       /**
-        * Add a single forecast to this model (for the current weather)
-        * @param inResults current results
-        */
-       public void setForecast(SingleForecast inResults)
-       {
-               _forecastList.clear();
-               if (inResults != null) {
-                       _forecastList.add(inResults);
-               }
-       }
-
-       /**
-        * Add a list of forecasts to this model
-        * @param inList list of forecasts to add
-        */
-       public void setForecasts(ArrayList<SingleForecast> inList)
-       {
-               _forecastList.clear();
-               if (inList != null && inList.size() > 0) {
-                       _forecastList.addAll(inList);
-               }
-       }
-
-       /** @return the number of forecasts */
-       public int getNumForecasts()
-       {
-               return _forecastList.size();
-       }
-
-       /**
-        * @param inIndex index of forecast starting from 0
-        * @return the specified forecast
-        */
-       public SingleForecast getForecast(int inIndex)
-       {
-               if (inIndex < 0 || inIndex >= getNumForecasts()) {
-                       return null;
-               }
-               return _forecastList.get(inIndex);
-       }
-
-       /**
-        * Clear the list of forecasts
-        */
-       public void clear()
-       {
-               _forecastList.clear();
-               _sunriseTime = _sunsetTime = null;
-               _updateTime = null;
-       }
-
-       /**
-        * @param inCelsius true for celsius, false for fahrenheit
-        */
-       public void setTempsCelsius(boolean inCelsius)
-       {
-               _tempsCelsius = inCelsius;
-       }
-
-       /** @return true if this forecast uses Celsius */
-       public boolean isCelsius() {
-               return _tempsCelsius;
-       }
-
-       /**
-        * Set the sunrise and sunset times (only from current weather, not from forecast)
-        * @param inRiseTime sunrise time as YYYY-MM-DDThh:mm:ss
-        * @param inSetTime  sunset  time as YYYY-MM-DDThh:mm:ss
-        */
-       public void setSunriseSunsetTimes(String inRiseTime, String inSetTime)
-       {
-               _sunriseTime = _sunsetTime = null;
-               if (inRiseTime != null && inRiseTime.length() == 19
-                       && inSetTime != null && inSetTime.length() == 19)
-               {
-                       // Convert from UTC to system's time zone (not necessarily target's time zone!)
-                       _sunriseTime = convertToLocalTimezone(inRiseTime.substring(11, 16));
-                       _sunsetTime  = convertToLocalTimezone(inSetTime.substring(11, 16));
-               }
-       }
-
-       /** @return sunrise time as HH:MM */
-       public String getSunriseTime() {
-               return _sunriseTime;
-       }
-       /** @return sunset time as HH:MM */
-       public String getSunsetTime() {
-               return _sunsetTime;
-       }
-
-       /** @param inName location name */
-       public void setLocationName(String inName) {
-               _locationName = inName;
-       }
-
-       /** @return location name */
-       public String getLocationName() {
-               return _locationName;
-       }
-
-       /** @param inTime timestamp of forecast */
-       public void setUpdateTime(String inTime) {
-               _updateTime = inTime;
-       }
-
-       /** @return timestamp of last update */
-       public String getUpdateTime()
-       {
-               return _updateTime;
-       }
-
-       /**
-        * Convert the given UTC time (HH:MM) into current timezone of computer
-        * @param inTimeString sunrise/sunset time in UTC (HH:MM)
-        * @return time in this timezone (HH:MM)
-        */
-       private static String convertToLocalTimezone(String inTimeString)
-       {
-               if (inTimeString != null && inTimeString.length() == 5)
-               {
-                       try
-                       {
-                               final int hour = Integer.parseInt(inTimeString.substring(0, 2));
-                               final int min  = Integer.parseInt(inTimeString.substring(3));
-                               Calendar utcCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
-                               utcCal.set(Calendar.HOUR_OF_DAY, hour);
-                               utcCal.set(Calendar.MINUTE, min);
-                               // Make a second calendar in the current time zone and apply values
-                               Calendar currCal = Calendar.getInstance();
-                               currCal.setTimeInMillis(utcCal.getTimeInMillis());
-                               return DisplayUtils.makeTimeString(currCal.get(Calendar.HOUR_OF_DAY),
-                                       currCal.get(Calendar.MINUTE));
-                       }
-                       catch (NumberFormatException e) {} // ignore, just drop through
-               }
-               // Couldn't be parsed / converted
-               return inTimeString;
-       }
-}