]> source.dussan.org Git - vaadin-framework.git/commitdiff
Define LegacyPropertyToStringMode parameter strings in the enum (#11970)
authorLeif Åstrand <leif@vaadin.com>
Fri, 14 Jun 2013 06:58:20 +0000 (09:58 +0300)
committerLeif Åstrand <leif@vaadin.com>
Fri, 14 Jun 2013 06:58:20 +0000 (09:58 +0300)
Change-Id: Ia6a0b5f63ef1290a2054307e5dd2d34f6628fa64

server/src/com/vaadin/server/DefaultDeploymentConfiguration.java
server/src/com/vaadin/server/DeploymentConfiguration.java
server/tests/src/com/vaadin/server/VaadinServletConfigurationTest.java

index 993d60133b708b22ca389988f92bb4479bd87f38..519d81eb6de3a8768fad49eaed828f150859e19e 100644 (file)
@@ -86,27 +86,24 @@ public class DefaultDeploymentConfiguration implements DeploymentConfiguration {
     }
 
     private void checkLegacyPropertyToString() {
-        // Verify that the default value has not changed without also
-        // updating logic here
-        assert DEFAULT_LEGACY_PROPERTY_TO_STRING == LegacyProperyToStringMode.WARNING;
-
         String param = getApplicationOrSystemProperty(
-                Constants.SERVLET_PARAMETER_LEGACY_PROPERTY_TOSTRING, "warning");
-
-        if ("true".equals(param)) {
-            legacyPropertyToStringMode = LegacyProperyToStringMode.ENABLED;
-        } else if ("false".equals(param)) {
-            legacyPropertyToStringMode = LegacyProperyToStringMode.DISABLED;
-        } else {
-            if (!"warning".equals(param)) {
-                getLogger()
-                        .log(Level.WARNING,
-                                Constants.WARNING_UNKNOWN_LEGACY_PROPERTY_TOSTRING_VALUE,
-                                param);
-
+                Constants.SERVLET_PARAMETER_LEGACY_PROPERTY_TOSTRING,
+                DEFAULT_LEGACY_PROPERTY_TO_STRING.getPropertyString());
+
+        for (LegacyProperyToStringMode mode : LegacyProperyToStringMode
+                .values()) {
+            if (mode.getPropertyString().equals(param)) {
+                legacyPropertyToStringMode = mode;
+                return;
             }
-            legacyPropertyToStringMode = DEFAULT_LEGACY_PROPERTY_TO_STRING;
         }
+
+        getLogger()
+                .log(Level.WARNING,
+                        Constants.WARNING_UNKNOWN_LEGACY_PROPERTY_TOSTRING_VALUE,
+                        param);
+
+        legacyPropertyToStringMode = DEFAULT_LEGACY_PROPERTY_TO_STRING;
     }
 
     @Override
index bf9c019b6d0f15a0f002859ec587e19482901d04..8c24379db3b7697da4f0054a9bfcaa2b354e5d80 100644 (file)
@@ -40,7 +40,29 @@ public interface DeploymentConfiguration extends Serializable {
      */
     @Deprecated
     public enum LegacyProperyToStringMode {
-        DISABLED, WARNING, ENABLED;
+        DISABLED("false"), WARNING("warning"), ENABLED("true");
+
+        private final String propertyString;
+
+        private LegacyProperyToStringMode(String propertyString) {
+            this.propertyString = propertyString;
+        }
+
+        /**
+         * Gets the string that should be used in e.g. web.xml for selecting
+         * this mode.
+         * 
+         * @return the property value
+         */
+        public String getPropertyString() {
+            return propertyString;
+        }
+
+        @Override
+        public String toString() {
+            // Used by VaadinServlet.readConfigurationAnnotation()
+            return getPropertyString();
+        }
 
         public boolean useLegacyMode() {
             return this == WARNING || this == ENABLED;
index 3098970e6adec4599b46bb54598b27cd71947f5e..58b44dc3db34eca8c00524b49e082b0b3eacb453 100644 (file)
@@ -69,6 +69,28 @@ public class VaadinServletConfigurationTest {
         Assert.assertEquals(MockUIContainingServlet.class, uiClass);
     }
 
+    @Test
+    public void testLegacyEnabledAnnotation() throws ServletException {
+        VaadinServlet servlet = new LegacyPropertyEnabledTestServlet();
+        servlet.init(new MockServletConfig());
+        DeploymentConfiguration configuration = servlet.getService()
+                .getDeploymentConfiguration();
+
+        Assert.assertEquals(LegacyProperyToStringMode.ENABLED,
+                configuration.getLegacyPropertyToStringMode());
+    }
+
+    @Test
+    public void testLegacyWarningAnnotation() throws ServletException {
+        VaadinServlet servlet = new LegacyPropertyWarningTestServlet();
+        servlet.init(new MockServletConfig());
+        DeploymentConfiguration configuration = servlet.getService()
+                .getDeploymentConfiguration();
+
+        Assert.assertEquals(LegacyProperyToStringMode.WARNING,
+                configuration.getLegacyPropertyToStringMode());
+    }
+
     @Test
     public void testValuesOverriddenForServlet() throws ServletException {
         Properties servletInitParams = new Properties();
@@ -102,3 +124,13 @@ public class VaadinServletConfigurationTest {
 class TestServlet extends VaadinServlet {
 
 }
+
+@VaadinServletConfiguration(productionMode = true, ui = MockUIContainingServlet.class, legacyPropertyToStringMode = LegacyProperyToStringMode.WARNING)
+class LegacyPropertyWarningTestServlet extends VaadinServlet {
+
+}
+
+@VaadinServletConfiguration(productionMode = true, ui = MockUIContainingServlet.class, legacyPropertyToStringMode = LegacyProperyToStringMode.ENABLED)
+class LegacyPropertyEnabledTestServlet extends VaadinServlet {
+
+}