Arthur Bogaart pushed to branch bugfix/CMS-6954 at cms-community / hippo-cms
Commits: 3ed1663e by Arthur Bogaart at 2016-07-19T10:41:51+02:00 CMS-6954 Move ALL_JAVA_TIMEZONES to constants - - - - - 1 changed file: - engine/src/main/java/org/hippoecm/frontend/plugins/login/DefaultLoginPlugin.java Changes: ===================================== engine/src/main/java/org/hippoecm/frontend/plugins/login/DefaultLoginPlugin.java ===================================== --- a/engine/src/main/java/org/hippoecm/frontend/plugins/login/DefaultLoginPlugin.java +++ b/engine/src/main/java/org/hippoecm/frontend/plugins/login/DefaultLoginPlugin.java @@ -21,7 +21,6 @@ import java.util.List; import java.util.TimeZone; import java.util.stream.Collectors; -import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem; @@ -45,6 +44,7 @@ public class DefaultLoginPlugin extends SimpleLoginPlugin { public static final String SHOW_TIMEZONES_CONFIG_PARAM = "show.timezones"; public static final String SELECTABLE_TIMEZONES_CONFIG_PARAM = "selectable.timezones"; + public static final List<String> ALL_JAVA_TIMEZONES = Arrays.asList(TimeZone.getAvailableIDs()); public DefaultLoginPlugin(final IPluginContext context, final IPluginConfig config) { super(context, config); @@ -102,26 +102,31 @@ public class DefaultLoginPlugin extends SimpleLoginPlugin { @Override protected void loginSuccess() { - if (selectedTimeZone != null && availableTimeZones != null && - availableTimeZones.contains(selectedTimeZone)) { - setCookieValue(TIMEZONE_COOKIE, selectedTimeZone, TIMEZONE_COOKIE_MAX_AGE); + if (isSelectedTimeZoneValid()) { final TimeZone timeZone = TimeZone.getTimeZone(selectedTimeZone); + // Store selected timezone in session and cookie UserSession.get().getClientInfo().getProperties().setTimeZone(timeZone); + setCookieValue(TIMEZONE_COOKIE, selectedTimeZone, TIMEZONE_COOKIE_MAX_AGE); } super.loginSuccess(); } - } - protected List<String> getSelectableTimezones(String[] configuredSelectableTimezones) { - List<String> allJavaTimezones = Arrays.asList(TimeZone.getAvailableIDs()); - List<String> selectableTimezones = new ArrayList<>(); + private boolean isSelectedTimeZoneValid() { + return selectedTimeZone != null && availableTimeZones != null + && availableTimeZones.contains(selectedTimeZone); + } + + private List<String> getSelectableTimezones(final String[] configuredSelectableTimezones) { + List<String> selectableTimezones = new ArrayList<>(); + + if (configuredSelectableTimezones != null) { + selectableTimezones = Arrays.asList(configuredSelectableTimezones).stream() + .filter(StringUtils::isNotBlank) + .filter(ALL_JAVA_TIMEZONES::contains) + .collect(Collectors.toList()); + } - if (configuredSelectableTimezones != null) { - selectableTimezones = Arrays.asList(configuredSelectableTimezones).stream() - .filter(StringUtils::isNotBlank) - .filter(allJavaTimezones::contains) - .collect(Collectors.toList()); + return selectableTimezones.isEmpty() ? ALL_JAVA_TIMEZONES : selectableTimezones; } - return selectableTimezones.isEmpty() ? allJavaTimezones : selectableTimezones; } } View it on GitLab: https://code.onehippo.org/cms-community/hippo-cms/commit/3ed1663e6a3e4e1a9774ff6aa5a6a08f7e232b70
_______________________________________________ Hippocms-svn mailing list Hippocms-svn@lists.onehippo.org https://lists.onehippo.org/mailman/listinfo/hippocms-svn