Show a sensible message for missing extensions (#10799)
Also remove ComponentMissingFromDefaultWidgetsetTest since it's
identical to UnknownComponentConnectorTest
Change-Id: I4b4b8f40c8376f4ea26b73d41191a3e7e811df01
Fail during compile if required methods are missing (#18924)
A ComponentConnector must override either getWidget or createWidget for
the framework to know the type of the component's widget. Similarly
either getRenderer och createRenderer must be overridden for
AbstractRendererConnector.
Prior to this patch, the compilation succeeded when critical methods
were missing - the user just got various hard-to-debug issues when the
broken connector was used.
Change-Id: I6ec07e2f1c1b15047802e64208485b1d999c0aee
Handle generated method flags in a unified way (#15373)
Refactor existing functionality without functional changes to make it
easier to add support for the @BackgroundMessage annotation added in a
separate commit.
Change-Id: I27454ba44af4b7b3b7beccf29b12e22bf9f75a86
Fix the license checker after elemental.json #15383
The elemental.json update changed how null values and string
representations of numbers were parsed, which caused a lot of
tests for CvalChecker to fail. Unfortunately the tests were
never run in an automated fashion, which means that they were
never discovered until we stumbled upon it due to the issue
reported in #15383
Change-Id: If2cb9fa96effea7ce55a4ffe6d1666ca7521e1fb
This commit adds support for @NoLayout and updates most framework
components to use the annotation where it makes sense
Change-Id: I99320a6aa6de717da5f2463dd8acfcd412165767
Allow for multiple license keys in a single license file #14408
License files can now contain multiple keys to support different
versions of a product. The keys are identified by the major version
number followed by an equals sign and the key for that version, e.g.
1 = foo-bar-baz
2 = baz-foo-bar
The license file can also contain a "default" license key, which
is used for all versions except for the explicitly defined ones, e.g.
foo-bar-baz
3 = baz-bar-foo
4 = bar-baz-baz
Change-Id: Id07d22e9fdc44189c4298b634006cf0df128bfd9
Generate type data for AbstractRendererConnector.decode (#13334)
The presentation type parameter is stored so that decode works
without implementers having to implement a getType method.
Change-Id: Ia2b9f977f2bf6ed006379cda5eeb61674dd92ee0
Generate type data for AbstractRendererConnector.createRenderer (#13334)
The declared return type of the most-derived getRenderer method is stored
to make the default createRenderer implementation work. This is identical
to the way AbstractComponentConnector getWidget and createWidget work.
Change-Id: I879e9e6739e366bd81773a1e65195336e0cdac6d
Box and unbox long values in state fields (#14176)
We actually want to pass around the primitive long values emulated by
GWT even though JavaScript code can't do anything with the values.
Skipping the unboxing caused long fields to always be 0 since that's how
JavaScript converts an object into a number.
This patch also makes the test assert that the expected state values are
received and updates those values to actually make sense in some
situations.
Change-Id: Id9c3696d699593bd9e59e249c5daf077873b85fc
License Checker for vaadin cval products (#13696 #13474)
- This patch includes four elements:
1.- A class able to validate a licensed product against Vaadin
license server. It can be used in any vaadin product (thought
for non addons like TB) just adding vaadin dependency, or
copying the class.
2.- A class able to inspect all addons in the classpath and figure
out, based on the MANIFEST.MF info, whether we have to check
developer license.
3.- A modification to Vaadin connector generator to use the classes
above and to stop compilation in case.
4.- A modification to ConnectorBundleLoader, so as when a new connector
is instatiated, we check whether it is using an evaluation
license and show a notice. We only show the notice once.
- In addition to validating developer licenses, the checker caches the
server response for using it when there are connection problems.
- This stuff is in Vaadin core, so as we dont maintain license code in
each addon. For checking an addon license we just add the license type
to the manifest when packaging the artefact.
- It checks expiration time, product name and major version.
Fixes: #13696
In some-way related with: #13474
Change-Id: Ib61b1c2e9c3cacd463a1ce5db02c2cfbc06851c2
The fix to #9379 broke the support for long type fields in state classes. This
patch bypasses the unboxing of long values and adds the @UnsafeNativeLong annotation
to the methods which may fetch and return (without modifying) long values.
SerializerTest is extended to test the different data types in States.
Change-Id: I29fd2c6af13cd9a0d29ecb1444ed9eb8a2b013e3