Update dependencies and Gradle wrapper; bump JavaFX to 25 and Groovy to 5.0.2

This commit is contained in:
2025-10-20 21:16:21 +02:00
parent 4e216b4792
commit 18335b9280
4 changed files with 54 additions and 36 deletions

View File

@@ -26,7 +26,8 @@
package ninja.javafx.smartcsv.csv;
import de.siegmar.fastcsv.reader.NamedCsvReader;
import de.siegmar.fastcsv.reader.CsvReader;
import de.siegmar.fastcsv.reader.NamedCsvRecord;
import ninja.javafx.smartcsv.FileReader;
import ninja.javafx.smartcsv.fx.table.model.CSVModel;
@@ -49,7 +50,13 @@ public class CSVFileReader extends CSVConfigurable implements FileReader<CSVMode
model = new CSVModel();
// the header columns are used as the keys to the Map
var header = csv.getHeader().toArray(new String[csv.getHeader().size()]);
var firstRow = csv.stream().findFirst();
if (firstRow.isEmpty()) {
return;
}
var header = firstRow.get().getHeader().toArray(String[]::new);
model.setHeader(header);
csv.forEach(csvRow -> {
@@ -66,14 +73,14 @@ public class CSVFileReader extends CSVConfigurable implements FileReader<CSVMode
}
}
private NamedCsvReader getNamedCsvReader(File file) throws IOException {
var builder = NamedCsvReader.builder()
private CsvReader<NamedCsvRecord> getNamedCsvReader(File file) throws IOException {
var builder = CsvReader.builder()
.fieldSeparator(csvPreference.delimiterChar());
if (csvPreference.quoteChar() != null) {
builder.quoteCharacter(csvPreference.quoteChar());
}
return builder.build(file.toPath(), Charset.forName(fileEncoding));
return builder.ofNamedCsvRecord(file.toPath(), Charset.forName(fileEncoding));
}
public CSVModel getContent() {

View File

@@ -27,7 +27,7 @@
package ninja.javafx.smartcsv.csv;
import de.siegmar.fastcsv.writer.CsvWriter;
import de.siegmar.fastcsv.writer.QuoteStrategy;
import de.siegmar.fastcsv.writer.QuoteStrategies;
import ninja.javafx.smartcsv.fx.table.model.CSVModel;
import ninja.javafx.smartcsv.fx.table.model.CSVRow;
@@ -52,9 +52,9 @@ public class CSVFileWriter extends CSVConfigurable implements ninja.javafx.smart
@Override
public void write(File filename) throws IOException {
try (var writer = getCsvWriter(filename)){
writer.writeRow(model.getHeader());
writer.writeRecord(model.getHeader());
for(CSVRow row: model.getRows()) {
writer.writeRow(convertMapFromModel(row));
writer.writeRecord(convertMapFromModel(row));
}
}
}
@@ -63,7 +63,7 @@ public class CSVFileWriter extends CSVConfigurable implements ninja.javafx.smart
var writer = CsvWriter.builder().fieldSeparator(csvPreference.delimiterChar());
if (csvPreference.quoteChar() != null) {
writer.quoteCharacter(csvPreference.quoteChar());
writer.quoteStrategy(QuoteStrategy.ALWAYS);
writer.quoteStrategy(QuoteStrategies.ALWAYS);
}
return writer.build(filename.toPath(), Charset.forName(fileEncoding));