Skip to content
Snippets Groups Projects
Commit 50d48ced authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

Moving timezone config from code to system properties

parent 882a9654
No related branches found
No related tags found
1 merge request!17Develop
......@@ -227,7 +227,7 @@ public class ForecastConfigurationController extends HttpServlet {
request.setAttribute("forecastConfiguration", forecastConfiguration);
request.setAttribute("formId", multipleNew ? "forecastConfigurationMultipleNewForm" : "forecastConfigurationForm");
request.setAttribute("multipleNew", multipleNew);
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
// All organisms used for parent organism list
request.setAttribute("allCrops", em.createNamedQuery("Organism.findAllCrops").getResultList());
......@@ -261,7 +261,7 @@ public class ForecastConfigurationController extends HttpServlet {
request.setAttribute("weatherStationPointOfInterests", em.createNamedQuery("PointOfInterestWeatherStation.findByActivityAndOrganizationId").setParameter("active", Boolean.TRUE).setParameter("organizationId", user.getOrganizationId()).getResultList());
request.setAttribute("forecastConfiguration", forecastConfiguration);
request.setAttribute("formId","forecastConfigurationForm");
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.setAttribute("allCrops", em.createNamedQuery("Organism.findAllCrops").getResultList());
......@@ -355,7 +355,7 @@ public class ForecastConfigurationController extends HttpServlet {
request.setAttribute("vipsLogicUsers", em.createNamedQuery("VipsLogicUser.findAll").getResultList());
request.setAttribute("dateStart_dateFormat", formFields.get("dateStart").getDateFormat());
request.setAttribute("dateEnd_dateFormat", formFields.get("dateEnd").getDateFormat());
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.setAttribute("modelInformations", em.createNamedQuery("ModelInformation.findAll").getResultList());
request.setAttribute("forecastConfiguration", forecastConfiguration);
......
......@@ -52,6 +52,7 @@ import no.nibio.vips.logic.entity.WeatherForecastProvider;
import no.nibio.vips.logic.i18n.SessionLocaleUtil;
import no.nibio.vips.gis.GISUtil;
import no.nibio.vips.logic.util.Globals;
import no.nibio.vips.logic.util.SystemTime;
import no.nibio.web.forms.FormField;
import no.nibio.web.forms.FormValidation;
import no.nibio.web.forms.FormValidationException;
......@@ -170,7 +171,7 @@ public class PointOfInterestController extends HttpServlet {
{
request.getSession().setAttribute("weatherStation", weatherStation);
}
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.setAttribute("defaultMapCenter",user.getOrganizationId().getDefaultMapCenter());
request.setAttribute("defaultMapZoom", user.getOrganizationId().getDefaultMapZoom());
......@@ -191,7 +192,7 @@ public class PointOfInterestController extends HttpServlet {
request.setAttribute("defaultMapCenter",user.getOrganizationId().getDefaultMapCenter());
request.setAttribute("defaultMapZoom", user.getOrganizationId().getDefaultMapZoom());
request.getSession().setAttribute("dataSources", SessionControllerGetter.getPointOfInterestBean().getWeatherStationDataSources());
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.getSession().setAttribute("availableCountries", em.createNamedQuery("Country.findAll").getResultList());
request.getSession().setAttribute("defaultCountryCode", user.getOrganizationId().getCountryCode().getCountryCode());
......@@ -232,7 +233,7 @@ public class PointOfInterestController extends HttpServlet {
request.setAttribute("defaultMapCenter",user.getOrganizationId().getDefaultMapCenter());
request.setAttribute("defaultMapZoom", user.getOrganizationId().getDefaultMapZoom());
request.getSession().setAttribute("dataSources", SessionControllerGetter.getPointOfInterestBean().getWeatherStationDataSources());
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.getSession().setAttribute("availableCountries", em.createNamedQuery("Country.findAll").getResultList());
request.getSession().setAttribute("defaultCountryCode", user.getOrganizationId().getCountryCode().getCountryCode());
......@@ -363,7 +364,7 @@ public class PointOfInterestController extends HttpServlet {
request.setAttribute("defaultMapZoom", user.getOrganizationId().getDefaultMapZoom());
request.setAttribute("returnURL","weatherStation?organizationId=" + user.getOrganizationId().getOrganizationId());
request.getSession().setAttribute("dataSources", SessionControllerGetter.getPointOfInterestBean().getWeatherStationDataSources());
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.getSession().setAttribute("availableCountries", em.createNamedQuery("Country.findAll").getResultList());
request.getSession().setAttribute("defaultCountryCode", user.getOrganizationId().getCountryCode().getCountryCode());
......@@ -508,7 +509,7 @@ public class PointOfInterestController extends HttpServlet {
{
PointOfInterest poi = SessionControllerGetter.getPointOfInterestBean().getPointOfInterest(Integer.valueOf(pointOfInterestId));
request.getSession().setAttribute("poi", poi);
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.setAttribute("defaultMapCenter",user.getOrganizationId().getDefaultMapCenter());
request.setAttribute("defaultMapZoom", user.getOrganizationId().getDefaultMapZoom());
......@@ -528,7 +529,7 @@ public class PointOfInterestController extends HttpServlet {
request.setAttribute("returnIdCallback", request.getParameter("returnIdCallback") != null ? request.getParameter("returnIdCallback") :"");
request.setAttribute("defaultMapCenter",user.getOrganizationId().getDefaultMapCenter());
request.setAttribute("defaultMapZoom", user.getOrganizationId().getDefaultMapZoom());
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.getSession().setAttribute("weatherForecastProviders", em.createNamedQuery("WeatherForecastProvider.findAll").getResultList());
request.getSession().setAttribute("availableCountries", em.createNamedQuery("Country.findAll").getResultList());
......@@ -568,7 +569,7 @@ public class PointOfInterestController extends HttpServlet {
request.getSession().setAttribute("poi", poi);
request.setAttribute("defaultMapCenter",user.getOrganizationId().getDefaultMapCenter());
request.setAttribute("defaultMapZoom", user.getOrganizationId().getDefaultMapZoom());
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.getSession().setAttribute("weatherForecastProviders", em.createNamedQuery("WeatherForecastProvider.findAll").getResultList());
request.getSession().setAttribute("availableCountries", em.createNamedQuery("Country.findAll").getResultList());
......@@ -727,7 +728,7 @@ public class PointOfInterestController extends HttpServlet {
request.setAttribute("returnURL","poi?organizationId=" + user.getOrganizationId().getOrganizationId());
// Finding all external resources where entry is missing
request.setAttribute("unreferencedExternalResources", SessionControllerGetter.getPointOfInterestBean().getUnusedExternalResourcesForPointOfInterest(poi));
request.getSession().setAttribute("availableTimeZones", Globals.availableTimeZones);
request.getSession().setAttribute("availableTimeZones", SystemTime.getAvailableTimeZones());
request.getSession().setAttribute("defaultTimeZoneId", user.getOrganizationId().getDefaultTimeZone());
request.getSession().setAttribute("availableCountries", em.createNamedQuery("Country.findAll").getResultList());
request.getSession().setAttribute("defaultCountryCode", user.getOrganizationId().getCountryCode().getCountryCode());
......
......@@ -67,23 +67,6 @@ public class Globals {
public static String defaultTimestampFormat = "yyyy-MM-dd HH:mm:ssXXX";
public static String defaultDateFormat = "yyyy-MM-dd";
// TODO: Move out of code and into config
public static String[] availableTimeZones = {
"UTC",
"Etc/GMT-1",
"Europe/Copenhagen",
"Europe/Oslo",
"Europe/Sarajevo",
"Europe/Stockholm",
"Europe/Helsinki",
"Europe/Riga",
"Europe/Vilnius",
"Europe/Sofia",
"Europe/Zurich",
"America/Los_Angeles"
};
public static int DEFAULT_UUID_VALIDITY_DURATION_DAYS = 30;
public static String PROTOCOL = System.getProperty("no.nibio.vips.logic.VIPSLOGIC_PROTOCOL");
......
......@@ -21,8 +21,11 @@ package no.nibio.vips.logic.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
......@@ -38,7 +41,7 @@ public final class SystemTime {
private static Integer SYSTEM_TIME_OFFSET_MONTHS;
private final static Calendar cal = Calendar.getInstance();
private static String[] availableTimeZones;
public static Date getSystemTime()
{
if(SYSTEM_TIME_OFFSET_MONTHS == null)
......@@ -94,4 +97,19 @@ public final class SystemTime {
}
}
/**
* Using the system config "no.nibio.vips.logic.AVAILABLE_TIMEZONES" to
* generate the available timezones in lists in this VIPSLogic instance
* UTC is always included
* @return
*/
public static String[] getAvailableTimeZones(){
if(SystemTime.availableTimeZones == null)
{
List<String> tmp = System.getProperty("no.nibio.vips.logic.AVAILABLE_TIMEZONES") != null ? new ArrayList(Arrays.asList(System.getProperty("no.nibio.vips.logic.AVAILABLE_TIMEZONES").split(","))) : new ArrayList<>();
tmp.add("UTC");
SystemTime.availableTimeZones = tmp.toArray(new String[tmp.size()]);
}
return SystemTime.availableTimeZones;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment