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

Reply via email to