summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/main/java/com/vaadin/ui/components/grid/GridDragSource.java39
1 files changed, 20 insertions, 19 deletions
diff --git a/server/src/main/java/com/vaadin/ui/components/grid/GridDragSource.java b/server/src/main/java/com/vaadin/ui/components/grid/GridDragSource.java
index e6f8ed2926..3912326a35 100644
--- a/server/src/main/java/com/vaadin/ui/components/grid/GridDragSource.java
+++ b/server/src/main/java/com/vaadin/ui/components/grid/GridDragSource.java
@@ -85,7 +85,26 @@ public class GridDragSource<T> extends DragSourceExtension<Grid<T>> {
super(target);
// Create drag data generator
- dragDataGenerator = this::generateDragData;
+ dragDataGenerator = new DataGenerator<T>() {
+ /**
+ * Drag data generator. Appends drag data to row data json if generator
+ * function(s) are set by the user of this extension.
+ *
+ * @param item
+ * Row item for data generation.
+ * @param jsonObject
+ * Row data in json format.
+ */
+ @Override
+ public void generateData(Object item, JsonObject jsonObject) {
+ JsonObject generatedValues = Json.createObject();
+
+ generatorFunctions.forEach((type, generator) -> generatedValues
+ .put(type, generator.apply((T) item)));
+
+ jsonObject.put(GridDragSourceState.JSONKEY_DRAG_DATA, generatedValues);
+ }
+ };
// Add drag data generator to Grid
target.getDataCommunicator().addDataGenerator(dragDataGenerator);
@@ -149,24 +168,6 @@ public class GridDragSource<T> extends DragSourceExtension<Grid<T>> {
}
/**
- * Drag data generator. Appends drag data to row data json if generator
- * function(s) are set by the user of this extension.
- *
- * @param item
- * Row item for data generation.
- * @param jsonObject
- * Row data in json format.
- */
- private void generateDragData(T item, JsonObject jsonObject) {
- JsonObject generatedValues = Json.createObject();
-
- generatorFunctions.forEach((type, generator) -> generatedValues
- .put(type, generator.apply(item)));
-
- jsonObject.put(GridDragSourceState.JSONKEY_DRAG_DATA, generatedValues);
- }
-
- /**
* Sets a generator function for customizing drag data. The generated value
* will be accessible using the same {@code type} as the generator is set
* here. The function is executed for each item in the Grid during data