* ColorTextField, helper methods, and regex for validating and handling text input
* Refactored structure to avoid creating new component for validation
* Style to adapt to error indicator
* Tests for validating input in ColorPickerPreview component's TextField
* Merge branch 'master' into colorpicker_validation
* Fix path to server class
* Fix test: Submit the new value
* Fix test: ignore Phantom JS
* Fix hsl+hsla validation patterns to accept '%', test value tweaking
* Merge branch 'master' of github.com:vaadin/framework into colorpicker_validation
* Fix: remove warning when color is updated from elsewhere
* Revisions: input validation only once, Logging level WARN
* Revisions: unit tests for color pattern matching
* Revisions: moved parsing to utility class, tests for parsing all accepted input formats
* Fixed import in tests, comments
* Revisions: Logger as constant, ignore utility class in serialization test
* Corner case tests
* Revisions: protected method for parsing error text, fix to test
* Revisions: NPE fix
Refactor common methods in in-memory data providers (#9308)
* Refactor common methods of InMemoryHierarchicalDataProvider and ListDataProvider to a single interface
* Rename HierarchyData and InMemoryHierarchicalDataProvider, introduce HasHierarchicalDataProvider
* Additionally adds a helper method for recursive constructing
TreeData with a child item provider.
* Fix java packaging order (#106)
Closes vaadin/archetypes#113
* Use proper UTF-8 encoding for Content-Disposition filenames (#19527) (#6607)
* Enable changing the backing bean for BeanItem (#4302) (#77)
When storing a bean to the database, you typically get a new and updated
bean instance back. By allowing to change the bean instance, we make it
possible to just update the single BeanItem instance which can be used
in many places.
* Make AtmospherePushConnection methods public (#7973)
There is no sensible way to use a custom version of APC, so protected
access does not help in any way to access the underlying resource and/or
connected UI.
* Use correct indexes in multiselect checkboxes after removing rows (#8072)
Fixes #8011
* Fix removal of hidden Grid columns (#8071)
Fixes #8018
* Call error handler for exceptions in UI.init() (#8055)
Fixes #4995
* Render font icon correctly on the 'more' menu item (#8126)
* Render font icon correctly on the 'more' menu item
Fixes #8125
* Reopen Grid details on attach, fixes #8015 (#8074)
Fixes #8015
* Fix broken Grid tests after picking changes from 7.7.7
Removed duplicate setDetailsVisible calls from onDetach
* Correctly detach components in merged cells when a static row is removed (#8142)
Fixes #8140
* Initialize Atmosphere in a context listener as JSR-356 requires
* Do not run JSR-356 or websocket tests on servers without support
* Adds /run-jsr356/ for testing JSR-356 websockets with uitest.war
* Change push path to /PUSH (from /PUSH/) to be compatible with JSR 356
endpoint mappings in Atmosphere (#14381)
Change-Id: Iec43f26df8c7b2bd347a713623a5298cc9e7b2cd
Revert to old capitalization to avoid git issues (#8942)
Git on OS X seems to have problems with changing between branches with
the old and new casing of the two json related files. Changing back to
the old names to avoid issues when changing branches.
Change-Id: I948395a7ce725db4116fe0e7ac1a23628dc659c7
Avoid object creation in getAllChildrenIterable in most cases. (#14142)
API change from:
public static Iterable<ClientConnector> getAllChildrenIterable(final ClientConnector connector)
to
public static Iterable<? extends ClientConnector> getAllChildrenIterable(final ClientConnector connector)
avoids creating wrappers in case the component has either no subcomponents
or no extensions. This covers the vast majority of components.
Change-Id: I48ffd2f26f09c265fae6e1aaabdbaa655d52ffb8
Optimizes memory and CPU usage in JSONCodec (#13545)
The null element and the empty JSONArray are frequently created and used
as temporary objects to be encoded by the json encoder. Because they are
never manipulated it is possible to reuse the same empty element again
and save a significant amount of temp objects.
This also helps jsonEquals, which then can return faster due to:
if (fieldValue == referenceValue) return true
jsonEquals does not need to check the referenceValue for JSONobject.NULL.
The invoking code makes sure this never happens.
Boolean and Integer values are very often and much more efficiently
compared directly instead of using toString.
Change-Id: I5fd736427019406469357cda1115d2683b7a5e2b
Removed CommunicationManager and PortletCommunicationManager
* 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