diff --git a/pom.xml b/pom.xml
index 4066270..926c7d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -128,7 +128,7 @@
com.flowingcode.vaadin.test
testbench-rpc
- 1.3.0
+ 1.4.0
test
@@ -544,6 +544,10 @@
com.vaadin
vaadin-dev
+
+ com.vaadin
+ vaadin-dev
+
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..0b944d2 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
@@ -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"));
}
}
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..3fe9968 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
@@ -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..20a5b1a 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 - 2025 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..9ac3da1 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 - 2025 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..35a8e9b 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 - 2025 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..cb83abb
--- /dev/null
+++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ViewInitializerImpl.java
@@ -0,0 +1,36 @@
+/*-
+ * #%L
+ * RPC for Vaadin TestBench
+ * %%
+ * Copyright (C) 2021 - 2025 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