* Asynchronous bidirectional communication
* Use Atmosphere as a backend
* Use websockets if available, fallback to HTTP streaming
* Push mode (disabled, manual, automatic)
* Configurable via servlet parameter pushMode
* Disabled: The default; regular AJAX communication
* Manual: Need explicit UI.push() call
* Automatic: push all UIs in session when lock released
* UI.push()
* Push pending state and RPC to client asynchronously
* Must hold session lock when invoking
Change-Id: Idb5978ac81f7ff1e66665df4e3f96e29e4c419d4
* Allows safe abortion of JSON output and writing a critical notification instead
* Unifies json writing for init request and other UIDL requests
* Ensures headers are written before the response
Change-Id: Idd8acb672aac8716b727701d6c057bbe58f50993
* Fixed potential NPE by using existing helper method
* Pass /APP/ urls also to session handlers as at least GlobalResourceHandler requires it
* Fixed test to test /APP/ instead of /APP
Change-Id: I8d913e6a5509c63f8e47813fce5751f5279ed4fc
* Handling is now based on a list of RequestHandlers in VaadinService
* Request handling logic has been moved to VaadinService
* Users can customize the list by adding own (service level) request handlers
* For users specific request handlers you can still use the request handlers in VaadinSession
* Deprecated RequestType - all handlers are given the opportunity to handle a request until one of them chooses to handle it. RequestType makes no sense as it does not tell which handler will handle the request.
* Removed serveStaticResource which has never been used
Change-Id: Ia7d088535e46430ca8adf631d3f1dd944b9d51e2
Change in CheckBoxConnector led to wrong enabled behaviour and addition
to top coordinate to prevent scrollbars with VPopupCalendar
Change-Id: I381ab7c8a605535280ae58716181ef4c346997f7
* Refactored LoadingIndicator to a separate class on client side to enable customization and to remove clutter from ApplicationConnection
Change-Id: I12e94294beed9c65a5710bdfe2486bc0f1b92bd9
* Added SynchronizedRequestHandler which locks the session for the whole request
* Made request handlers which do not do do heavy IO implement SynchronizedRequestHandler
* Fixed locking for GlobalResourceHandler, ConnectorResourceHandler, PublishedFileHandler
Change-Id: I0e7b442a9392828f1930685f194dc4f898d0f525
* VaadinService.requestStart/requestEnd is called for all requests, including static resource requests
Change-Id: Ic19f33f069d0b4f4127fdafc7b5c3a2fa1a3b5dc
Locking of a VaadinSession is now done in VaadinService using the underlying HTTP session. This enables locking of the VaadinSession even before it has been created.
Change-Id: I815d08d1fb74a1d0905c58b190bb10aa2161a834
* Moved AbstractCommunicationManager abstract methods
getThemeResourceAsStream and createBootstrapHandler to VaadinService
* Made ACM non-abstract and renamed to LegacyCommunicationManager
* Lifted anonymous inner BootstrapHandler subclasses into named public classes
Change-Id: I31739ce8a506d572e75ca8cd5509be215e01693d