Closed samo4b closed 2 years ago
This falls into: don't call an overridable method in your constructor.
Instead of calling getDataProvider()
they should call internalGetDataProvider()
Sorry I did not find the time to answer sooner I think this is resolved by the other Pull Request.
We tried to move from Vaadin 8.8.5 to 8.13.3 and encountered the following issue: The method internalSetDataProvider of the class com.vaadin.ui.Grid has changed and does not work with our custom DataProvider anymore.
Method internalSetDataProvider from the specific Vaadin 8 Versions: Vaadin 8.8.5 (method is still the same up to 8.12.4)
Vaadin 8.13.0 and newer (up to 8.13.3)
Explanation why I think this is a bug: The method internalSetDataProvider does allow us to set a custom data provider of the interface type DataProvider. But when I provide a DataProvider which does not implement CallbackDataProvider or AbstractBackEndDataProvider I get an exception:
I assume this is because the check does try to compare the new DataProvider with the default one and fails the cast of the data types.
Our DataProvider class looks like the following: As you can see it does implement DataProvider over AbstractDataProvider but cannot be cast to CallbackDataProvider