summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/annotations
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2013-06-07 14:12:41 +0300
committerLeif Åstrand <leif@vaadin.com>2013-06-07 14:12:41 +0300
commit808b65581554dad8b670538b1830a8f90b3db5db (patch)
treef2323317e420e7c76b17994660cdbbd0f78145b4 /server/src/com/vaadin/annotations
parentfe8d330c3c9f2ae2c0ace28fa5c34e5b2b131112 (diff)
parentb0574f7b33c4d3d437c8c11cd53389e5522f6999 (diff)
downloadvaadin-framework-808b65581554dad8b670538b1830a8f90b3db5db.tar.gz
vaadin-framework-808b65581554dad8b670538b1830a8f90b3db5db.zip
Merge changes from origin/7.1
2772641 OSGi support for vaadin-push (#11691) 42c4b20 Use "\0" instead of "|" as a push message delimiter (#11692) 778de06 Derive current servlet/portlet from the current service (#11779) f8fb8b7 Upgrade to Atmosphere 1.0.13 (#11861) fea4c5e Don't build and publish sources for package without source files 6a7683b Disable Atmosphere version number check (#11890) ebb92e6 Improve error message if vaadinPush.js failed to load (#11673) 70131cd Extracted common code for number conveters to abstract super class (#11900) 0b63506 Fixed order of parameters in javadoc (#11158) 6bf83a4 Modified the logic in setPropertyDatasource which determines if a new converter is needed (#11863) 53a9c11 Fix TestingPushConnection.init signature (#11673) 05ef43f Updated client-compiler to depend on client-compiler-deps 1.0.2 #11879 9686323 Added isInitialStateChange to StateChangeEvent (#10477) 7cced5e Fixed test which had never passed ada3311 Avoid creating an instance of every view while searching for the correct view (#11722) 5b35dd9 Added text file encoding and line delimiter info (#11907) f8c4f99 Prevent spurious "Could not determine ApplicationConnection" error when using the debug window 8a42394 Fixed locators in test (aria div conflict) 6de01ac Fix text / javascript mismatch issue in Chrome (#11275) f7f1e3e Added Java Date to Sql Date converter to better support sql dates (#11224) 2882cf9 Added Serializable where missing and ignore classes which do not need Serializable 4d7f190 Make access() enqueue the runnable if the session is locked (#11897) 4c2b86d Stop using PlaceHolder widgets in VTabsheet (#11026) 87018cd Add missing license header cb1f63b Send window mode changes to the server immediately (#11737) e52df7c Added ComponentConnector.isAttached (#11928) 2b5ba96 Define how CurrentInstance works with access() (#11897) d345838 Remove ThreadLocal references from CurrentInstance (#11914) bb7b404 Remove outdated testing (#11897) f64d944 Merge "event not reported as target when context clicking in month view" to Vaadin 7.1 (#10217) 51c9fb5 Fix debug window SEVERE style, add styles for FINE, FINER and FINEST (#11891) 3b888fe Support nested SASS imports (#11909) b2137f5 Ensure calendar panel is updated when range changes (#11940) f8319eb Avoid deadlock checking in runPendingAccessTasks() (#11897) 51a98a3 Moved enums to avoid running them as tests 7c613d1 Exclude parsers from checkstyle as they are generated 35f3532 Fixes current text being overwritten in server update on RTA #11741 a744d21 Remove UI.runSafely and VaadinSession.runSafely (#11901) 84edd19 Make test independent of browser language (#11940) a3ad62d Updated to custom build of Smartsprites 0.2.10 which includes a fix for SMARTSPRITES-36 (#9959) a9afca6 Moved Locale data handling to LocaleService (#11378) 5e548ae Fixed javadoc compilation error 91182e2 Extract ProgressBar and deprecate ProgressIndicator (#11925) a5b8209 Add primary style name support for ProgressBar/Indicator (#9913) 86b3689 Make ProgressInidcatorConnector use VProgressIndicator (#11925) 29fcadc Flush the output writer in case of SSE transport as well (#11955) 5e26b0b Fix streaming issue with iOS6 (#11934) 1b274c4 Limit sub window minimum size (#11510) 46cc08b Remove workarounds for broken Timer.cancel in IE (#11872) d850db6 Add XML formatting instructions (#11956) 9a3dc4e Formatted XML files using defined rules (#11956) 57b7335 Fixed spelling mistake in API #11741 587e10b Fix stale info in javadoc for accessSynchronously (#11897) 36fd94a Remove IE6/IE7 permutation (#11954) cccff37 Do not log legacy warnings in JUnit tests (#11963) 0f9b689 Throw exception if VaadinService has not been initialized (#11961) 1ed0980 Move ApplicationConnection.setOverlayContainerLabel to VOverlay (#11965) 0014563 Extracted dialog style to a separate block (#11734) b82e60b Add missing dialog maximize/restore icons for Runo (#11734) 0d046d6 Add a separate debug window section for profiler output (#11950) 03830ae Ignore style resource that has already been added (#11667) 84bf5a7 Enabled drag & drop to Calendar #11048 6c36784 Merge commit '34e6c60a5a746c0306c3a84ae8d6c21dfd84d878' into 7.1 a82d57e Merge changes from origin/7.0 666dbb5 Use window.console instead of just console in vaadinPush to appease IE (#11980) 93751c1 Use correct day names when formatting dates (#6207) 19d0082 Fixed javadoc references e6e752d Correctly decode summaries containing quotes (#11769) 54ed269 Log stack trace using fine when logging toString warnings 8d655f6 Move VaadinSession.runPendingAccessTasks to VaadinService (#11964) b1ab27a Update broadcaster tutorial code e63edcc Update deprecation javadoc for VaadinSession.getBrowser() 132eee5 Add @VaadinServletConfiguration (#11970) aa99259 Send connector debug (highlight) using RPC (#11536) 6d4582e Change analyze layouts to use RPC (#11536) 6f912b1 Rename tests so they are run during build (Abstract* is ignored) ebd4a5c Added missing rpc interface (#11536) edca409 Allow customizing client-side push config on server side (#11867) b0574f7 Add transport parameter to @Push (#11966) Change-Id: I4670c783fec829f81890e2d645d93dd40860b909
Diffstat (limited to 'server/src/com/vaadin/annotations')
-rw-r--r--server/src/com/vaadin/annotations/Push.java10
-rw-r--r--server/src/com/vaadin/annotations/VaadinServletConfiguration.java143
2 files changed, 153 insertions, 0 deletions
diff --git a/server/src/com/vaadin/annotations/Push.java b/server/src/com/vaadin/annotations/Push.java
index 58e70acf21..d5e42d6f60 100644
--- a/server/src/com/vaadin/annotations/Push.java
+++ b/server/src/com/vaadin/annotations/Push.java
@@ -22,6 +22,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.vaadin.shared.communication.PushMode;
+import com.vaadin.shared.ui.ui.Transport;
import com.vaadin.ui.UI;
/**
@@ -46,4 +47,13 @@ public @interface Push {
*/
public PushMode value() default PushMode.AUTOMATIC;
+ /**
+ * Returns the transport type used for the push for the annotated UI. The
+ * default transport type when this annotation is present is
+ * {@link Transport#WEBSOCKET}.
+ *
+ * @return the transport type to use
+ */
+ public Transport transport() default Transport.DEFAULT;
+
}
diff --git a/server/src/com/vaadin/annotations/VaadinServletConfiguration.java b/server/src/com/vaadin/annotations/VaadinServletConfiguration.java
new file mode 100644
index 0000000000..38e3ff2ef0
--- /dev/null
+++ b/server/src/com/vaadin/annotations/VaadinServletConfiguration.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.vaadin.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import com.vaadin.server.Constants;
+import com.vaadin.server.DefaultDeploymentConfiguration;
+import com.vaadin.server.DeploymentConfiguration;
+import com.vaadin.server.DeploymentConfiguration.LegacyProperyToStringMode;
+import com.vaadin.server.VaadinServlet;
+import com.vaadin.server.VaadinSession;
+import com.vaadin.ui.UI;
+
+/**
+ * Annotation for configuring subclasses of {@link VaadinServlet}. For a
+ * {@link VaadinServlet} class that has this annotation, the defined values are
+ * read during initialization and will be available using
+ * {@link DeploymentConfiguration#getApplicationOrSystemProperty(String, String)}
+ * as well as from specific methods in {@link DeploymentConfiguration}. Init
+ * params defined in <code>web.xml</code> or the <code>@WebServlet</code>
+ * annotation take precedence over values defined in this annotation.
+ *
+ * @since 7.1
+ * @author Vaadin Ltd
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface VaadinServletConfiguration {
+ /**
+ * Defines the init parameter name for methods in
+ * {@link VaadinServletConfiguration}.
+ *
+ * @since 7.1
+ * @author Vaadin Ltd
+ */
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ @Documented
+ public @interface InitParameterName {
+ /**
+ * The name of the init parameter that the annotated method controls.
+ *
+ * @return the parameter name
+ */
+ public String value();
+ }
+
+ /**
+ * Whether Vaadin is in production mode.
+ *
+ * @return true if in production mode, false otherwise.
+ *
+ * @see DeploymentConfiguration#isProductionMode()
+ */
+ @InitParameterName(Constants.SERVLET_PARAMETER_PRODUCTION_MODE)
+ public boolean productionMode();
+
+ /**
+ * Gets the default UI class to use for the servlet.
+ *
+ * @return the default UI class
+ */
+ @InitParameterName(VaadinSession.UI_PARAMETER)
+ public Class<? extends UI> ui();
+
+ /**
+ * The time resources can be cached in the browser, in seconds. The default
+ * value is
+ * {@value DefaultDeploymentConfiguration#DEFAULT_RESOURCE_CACHE_TIME}.
+ *
+ * @return the resource cache time
+ *
+ * @see DeploymentConfiguration#getResourceCacheTime()
+ */
+ @InitParameterName(Constants.SERVLET_PARAMETER_RESOURCE_CACHE_TIME)
+ public int resourceCacheTime() default DefaultDeploymentConfiguration.DEFAULT_RESOURCE_CACHE_TIME;
+
+ /**
+ * The number of seconds between heartbeat requests of a UI, or a
+ * non-positive number if heartbeat is disabled. The default value is
+ * {@value DefaultDeploymentConfiguration#DEFAULT_HEARTBEAT_INTERVAL}.
+ *
+ * @return the time between heartbeats
+ *
+ * @see DeploymentConfiguration#getHeartbeatInterval()
+ */
+ @InitParameterName(Constants.SERVLET_PARAMETER_HEARTBEAT_INTERVAL)
+ public int heartbeatInterval() default DefaultDeploymentConfiguration.DEFAULT_HEARTBEAT_INTERVAL;
+
+ /**
+ * Whether a session should be closed when all its open UIs have been idle
+ * for longer than its configured maximum inactivity time. The default value
+ * is {@value DefaultDeploymentConfiguration#DEFAULT_CLOSE_IDLE_SESSIONS}.
+ *
+ * @return true if UIs and sessions receiving only heartbeat requests are
+ * eventually closed; false if heartbeat requests extend UI and
+ * session lifetime indefinitely
+ *
+ * @see DeploymentConfiguration#isCloseIdleSessions()
+ */
+ @InitParameterName(Constants.SERVLET_PARAMETER_CLOSE_IDLE_SESSIONS)
+ public boolean closeIdleSessions() default DefaultDeploymentConfiguration.DEFAULT_CLOSE_IDLE_SESSIONS;
+
+ /**
+ * The default widgetset to use for the servlet. The default value is
+ * {@value VaadinServlet#DEFAULT_WIDGETSET}.
+ *
+ * @return the default widgetset name
+ */
+ @InitParameterName(VaadinServlet.PARAMETER_WIDGETSET)
+ public String widgetset() default VaadinServlet.DEFAULT_WIDGETSET;
+
+ /**
+ * The legacy Property.toString() mode used. The default value is
+ * {@link LegacyProperyToStringMode#DISABLED}
+ *
+ * @return The Property.toString() mode in use.
+ *
+ * @deprecated as of 7.1, should only be used to ease migration
+ */
+ @Deprecated
+ @InitParameterName(Constants.SERVLET_PARAMETER_LEGACY_PROPERTY_TOSTRING)
+ public LegacyProperyToStringMode legacyPropertyToStringMode() default LegacyProperyToStringMode.DISABLED;
+}