From 1374fd19caf4a5779a9152d21c1784ed0ec09087 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Thu, 18 Dec 2025 14:52:44 -0300 Subject: [PATCH 1/4] test: make tests compatible with Vaadin 25 --- .../it/HeaderFooterStylesView.java | 10 +++--- .../gridhelpers/it/HeightByRowsITView.java | 10 +++--- .../gridhelpers/it/IntegrationView.java | 10 +++--- .../gridhelpers/it/ResponsiveGridITView.java | 10 +++--- .../gridhelpers/it/ViewInitializerImpl.java | 36 +++++++++++++++++++ ...adin.flow.server.VaadinServiceInitListener | 1 + 6 files changed, 57 insertions(+), 20 deletions(-) create mode 100644 src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ViewInitializerImpl.java create mode 100644 src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesView.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesView.java index 6058f47..7737b91 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesView.java @@ -2,7 +2,7 @@ * #%L * Grid Helpers Add-on * %% - * Copyright (C) 2022 - 2025 Flowing Code + * Copyright (C) 2022 - 2026 Flowing Code * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,13 +21,13 @@ import com.flowingcode.vaadin.addons.gridhelpers.GridHelper; import com.flowingcode.vaadin.addons.gridhelpers.GridStylesHelper; -import com.vaadin.flow.component.ClientCallable; +import com.flowingcode.vaadin.jsonmigration.InstrumentedRoute; +import com.flowingcode.vaadin.jsonmigration.LegacyClientCallable; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.Grid.Column; import com.vaadin.flow.component.grid.HeaderRow; import com.vaadin.flow.component.grid.HeaderRow.HeaderCell; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.router.Route; import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.List; @@ -38,7 +38,7 @@ import lombok.experimental.ExtensionMethod; @SuppressWarnings("serial") -@Route(HeaderFooterStylesView.ROUTE) +@InstrumentedRoute(HeaderFooterStylesView.ROUTE) @ExtensionMethod(GridHelper.class) public class HeaderFooterStylesView extends Div implements HeaderFooterStylesCallables { @@ -59,7 +59,7 @@ public HeaderFooterStylesView() { } @Override - @ClientCallable + @LegacyClientCallable public JsonValue $call(JsonObject invocation) { return HeaderFooterStylesCallables.super.$call(invocation); } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeightByRowsITView.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeightByRowsITView.java index 0ce1287..d857f64 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeightByRowsITView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeightByRowsITView.java @@ -2,7 +2,7 @@ * #%L * Grid Helpers Add-on * %% - * Copyright (C) 2022 - 2024 Flowing Code + * Copyright (C) 2022 - 2026 Flowing Code * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,13 +21,13 @@ import com.flowingcode.vaadin.addons.gridhelpers.GridHelper; import com.flowingcode.vaadin.addons.gridhelpers.HeightMode; -import com.vaadin.flow.component.ClientCallable; +import com.flowingcode.vaadin.jsonmigration.InstrumentedRoute; +import com.flowingcode.vaadin.jsonmigration.LegacyClientCallable; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.router.BeforeEvent; import com.vaadin.flow.router.HasUrlParameter; import com.vaadin.flow.router.OptionalParameter; -import com.vaadin.flow.router.Route; import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.Arrays; @@ -36,7 +36,7 @@ import lombok.experimental.ExtensionMethod; @ExtensionMethod(GridHelper.class) -@Route(HeightByRowsITView.ROUTE) +@InstrumentedRoute(HeightByRowsITView.ROUTE) public class HeightByRowsITView extends VerticalLayout implements HeightByRowsITViewCallables, HasUrlParameter { @@ -86,7 +86,7 @@ public void setParameter(BeforeEvent event, @OptionalParameter String parameter) } @Override - @ClientCallable + @LegacyClientCallable public JsonValue $call(JsonObject invocation) { return HeightByRowsITViewCallables.super.$call(invocation); } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/IntegrationView.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/IntegrationView.java index e677455..885094d 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/IntegrationView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/IntegrationView.java @@ -2,7 +2,7 @@ * #%L * Grid Helpers Add-on * %% - * Copyright (C) 2022 - 2024 Flowing Code + * Copyright (C) 2022 - 2026 Flowing Code * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,15 +23,15 @@ import com.flowingcode.vaadin.addons.gridhelpers.GridRadioSelectionColumn; import com.flowingcode.vaadin.addons.gridhelpers.Person; import com.flowingcode.vaadin.addons.gridhelpers.TestData; +import com.flowingcode.vaadin.jsonmigration.InstrumentedRoute; +import com.flowingcode.vaadin.jsonmigration.LegacyClientCallable; import com.flowingcode.vaadin.testbench.rpc.JsonArrayList; -import com.vaadin.flow.component.ClientCallable; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.Grid.Column; import com.vaadin.flow.component.grid.Grid.SelectionMode; import com.vaadin.flow.component.html.Div; import com.vaadin.flow.component.html.Span; import com.vaadin.flow.data.provider.ListDataProvider; -import com.vaadin.flow.router.Route; import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.List; @@ -40,7 +40,7 @@ import lombok.experimental.ExtensionMethod; @SuppressWarnings("serial") -@Route("it") +@InstrumentedRoute("it") @ExtensionMethod(GridHelper.class) public class IntegrationView extends Div implements IntegrationViewCallables { @@ -77,7 +77,7 @@ public IntegrationView() { } @Override - @ClientCallable + @LegacyClientCallable public JsonValue $call(JsonObject invocation) { return IntegrationViewCallables.super.$call(invocation); } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ResponsiveGridITView.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ResponsiveGridITView.java index 7c79d14..689db76 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ResponsiveGridITView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ResponsiveGridITView.java @@ -2,7 +2,7 @@ * #%L * Grid Helpers Add-on * %% - * Copyright (C) 2022 - 2024 Flowing Code + * Copyright (C) 2022 - 2026 Flowing Code * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,10 +22,10 @@ import com.flowingcode.vaadin.addons.gridhelpers.GridHelper; import com.flowingcode.vaadin.addons.gridhelpers.GridResponsiveStep; import com.flowingcode.vaadin.addons.gridhelpers.GridResponsiveStep.GridResponsiveStepListenerRegistration; -import com.vaadin.flow.component.ClientCallable; +import com.flowingcode.vaadin.jsonmigration.InstrumentedRoute; +import com.flowingcode.vaadin.jsonmigration.LegacyClientCallable; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.orderedlayout.VerticalLayout; -import com.vaadin.flow.router.Route; import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.List; @@ -36,7 +36,7 @@ import lombok.experimental.ExtensionMethod; @ExtensionMethod(GridHelper.class) -@Route(ResponsiveGridITView.ROUTE) +@InstrumentedRoute(ResponsiveGridITView.ROUTE) public class ResponsiveGridITView extends VerticalLayout implements ResponsiveGridITViewCallables { public static final String ROUTE = "it/responsive"; @@ -60,7 +60,7 @@ public ResponsiveGridITView() { } @Override - @ClientCallable + @LegacyClientCallable public JsonValue $call(JsonObject invocation) { return ResponsiveGridITViewCallables.super.$call(invocation); } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ViewInitializerImpl.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ViewInitializerImpl.java new file mode 100644 index 0000000..1aa4358 --- /dev/null +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ViewInitializerImpl.java @@ -0,0 +1,36 @@ +/*- + * #%L + * Grid Helpers Add-on + * %% + * Copyright (C) 2021 - 2026 Flowing Code + * %% + * 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. + * #L% + */ +package com.flowingcode.vaadin.addons.gridhelpers.it; + +import com.flowingcode.vaadin.jsonmigration.InstrumentationViewInitializer; +import com.vaadin.flow.server.ServiceInitEvent; + +@SuppressWarnings("serial") +public class ViewInitializerImpl extends InstrumentationViewInitializer { + + @Override + public void serviceInit(ServiceInitEvent event) { + registerInstrumentedRoute(IntegrationView.class); + registerInstrumentedRoute(HeightByRowsITView.class); + registerInstrumentedRoute(HeaderFooterStylesView.class); + registerInstrumentedRoute(ResponsiveGridITView.class); + } + +} diff --git a/src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener b/src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener new file mode 100644 index 0000000..4ab64be --- /dev/null +++ b/src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener @@ -0,0 +1 @@ +com.flowingcode.vaadin.addons.gridhelpers.it.ViewInitializerImpl From e8a3408b9dd29f73f63d7d797c8119932430efbf Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Tue, 30 Dec 2025 16:19:33 -0300 Subject: [PATCH 2/4] test: fix HeaderFooterStyles for Vaadin 25 Close #158 --- .../gridhelpers/it/HeaderFooterStylesIT.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesIT.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesIT.java index c62b534..e237c87 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesIT.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesIT.java @@ -2,7 +2,7 @@ * #%L * Grid Helpers Add-on * %% - * Copyright (C) 2022 - 2025 Flowing Code + * Copyright (C) 2022 - 2026 Flowing Code * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,8 @@ */ package com.flowingcode.vaadin.addons.gridhelpers.it; -import static org.junit.Assert.assertEquals; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; import com.flowingcode.vaadin.addons.gridhelpers.it.HeaderFooterStylesCallables.HeaderCellWrapper; import com.flowingcode.vaadin.addons.gridhelpers.it.HeaderFooterStylesCallables.HeaderRowWrapper; import com.flowingcode.vaadin.testbench.rpc.HasRpcSupport; @@ -54,11 +55,11 @@ public void testHeaderClassesApplied() { row1.getCell(i).setClassName("row1-cell" + i); } - assertEquals("row0-cell0", grid.getHeaderCellAt(0, 0).getAttribute("class")); - assertEquals("row0-cell1", grid.getHeaderCellAt(0, 1).getAttribute("class")); + assertThat(grid.getHeaderCellAt(0, 0).getAttribute("class"), containsString("row0-cell0")); + assertThat(grid.getHeaderCellAt(0, 1).getAttribute("class"), containsString("row0-cell1")); for (int i = 0; i < 5; i++) { - assertEquals("row1-cell" + i, grid.getHeaderCellAt(1, i).getAttribute("class")); + assertThat(grid.getHeaderCellAt(1, i).getAttribute("class"), containsString("row1-cell" + i)); } } @@ -72,8 +73,8 @@ public void testHeaderCellMutability() { $server.setColumnOrder(2, 3, 0, 1, 4); header0.setClassName("row0-cell0"); header1.setClassName("row0-cell1"); - assertEquals("row0-cell1", grid.getHeaderCellAt(0, 0).getAttribute("class")); - assertEquals("row0-cell0", grid.getHeaderCellAt(0, 1).getAttribute("class")); + assertThat(grid.getHeaderCellAt(0, 0).getAttribute("class"), containsString("row0-cell1")); + assertThat(grid.getHeaderCellAt(0, 1).getAttribute("class"), containsString("row0-cell0")); } } From f512c67bd883fb698576b3d31740802a9f78a8a6 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Tue, 30 Dec 2025 16:35:32 -0300 Subject: [PATCH 3/4] test: upgrade testbench-rpc to 1.4.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4066270..1e1f880 100644 --- a/pom.xml +++ b/pom.xml @@ -128,7 +128,7 @@ com.flowingcode.vaadin.test testbench-rpc - 1.3.0 + 1.4.0 test From 5e455728dac5526fcc7f32a404934681e2173ef2 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Fri, 2 Jan 2026 09:39:59 -0300 Subject: [PATCH 4/4] ci: add license plugin exclusions --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 1e1f880..81e9c72 100644 --- a/pom.xml +++ b/pom.xml @@ -218,6 +218,11 @@ apache_v2 false + + **/main/dev-bundle/** + **/main/bundles/** + **/main/frontend/** +