Skip to content

Commit a873eaf

Browse files
mlopezFCLeonardo Scardanzan
authored andcommitted
refactor: extract common logic in a separate class
Extract common semaphore logic into ConcurrentOperationBase for reuse in concurrent handlers. WIP: correct version references and drop removal version WIP: keep CSV download handler unthrottled, consistent with getCsvStreamResource
1 parent 2d3bed8 commit a873eaf

6 files changed

Lines changed: 448 additions & 600 deletions

File tree

MIGRATION_GUIDE.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Overview
44

5-
Starting with version 2.6.0, Grid Exporter Add-on introduces new `DownloadHandler`-based methods to replace the deprecated `StreamResource` methods. This migration is necessary for forward compatibility: as of Vaadin 25, `StreamResource` is deprecated and marked for removal, and it will be removed in a future Vaadin release.
5+
Starting with version 3.1.0, Grid Exporter Add-on introduces new `DownloadHandler`-based methods to replace the deprecated `StreamResource` methods. This migration is necessary for forward compatibility: as of Vaadin 25, `StreamResource` is deprecated and marked for removal, and it will be removed in a future Vaadin release.
66

77
## What's Changing?
88

@@ -138,8 +138,8 @@ All existing features continue to work with the new API:
138138

139139
## Timeline
140140

141-
- **Version 2.6.0**: New `DownloadHandler` methods introduced, old methods deprecated
142-
- **Version 3.0.0**: Old `StreamResource` methods will be removed
141+
- **Version 3.1.0**: New `DownloadHandler` methods introduced, old methods deprecated
142+
- **A future release**: Old `StreamResource` methods will be removed
143143

144144
## Need Help?
145145

@@ -150,7 +150,7 @@ If you encounter any issues during migration, please:
150150

151151
## Example: Complete Migration
152152

153-
**Before (Version 2.5.x):**
153+
**Before (Version 3.0.x):**
154154
```java
155155
Grid<Person> grid = new Grid<>(Person.class);
156156
grid.setItems(people);
@@ -159,7 +159,7 @@ GridExporter<Person> exporter = GridExporter.createFor(grid);
159159
// Auto-attached buttons use StreamResource internally
160160
```
161161

162-
**After (Version 2.6.0+):**
162+
**After (Version 3.1.0+):**
163163
```java
164164
Grid<Person> grid = new Grid<>(Person.class);
165165
grid.setItems(people);

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ To see the demo, navigate to http://localhost:8080/
6161

6262
See [here](https://github.com/FlowingCode/GridExporterAddon/releases)
6363

64-
## Migration to DownloadHandler API (Version 2.6.0+)
64+
## Migration to DownloadHandler API (Version 3.1.0+)
6565

66-
**Important for Vaadin 25 compatibility**: Starting with version 2.6.0, Grid Exporter Add-on introduces new `DownloadHandler`-based methods to replace the deprecated `StreamResource` methods.
66+
**Important for Vaadin 25 compatibility**: Starting with version 3.1.0, Grid Exporter Add-on introduces new `DownloadHandler`-based methods to replace the deprecated `StreamResource` methods.
6767

6868
### Quick Migration
6969

@@ -86,7 +86,7 @@ exporter.getCsvDownloadHandler()
8686
### Requirements
8787

8888
- **Vaadin 24.8.0 or later** is required to use the new `DownloadHandler` methods
89-
- Old `StreamResource` methods will continue to work until version 3.0.0
89+
- Old `StreamResource` methods will continue to work until they are removed in a future release
9090
- See [MIGRATION_GUIDE.md](./MIGRATION_GUIDE.md) for detailed migration instructions
9191

9292
## Issue tracking

0 commit comments

Comments
 (0)