From 14e39fffbe928273c2f6f1cd186da7adff049b53 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Mon, 13 Feb 2023 23:34:42 +0100 Subject: [PATCH] #731 - refactoring: convert CsvColumnSettings to record --- .../TransactionImportService.java | 6 +- .../csvimport/CsvColumnSettings.java | 87 +------------------ 2 files changed, 5 insertions(+), 88 deletions(-) diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportService.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportService.java index 747cc5fcd..26604fd76 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportService.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportService.java @@ -31,17 +31,17 @@ public class TransactionImportService public CsvTransaction createCsvTransactionFromCsvRow(CsvRow csvRow, CsvColumnSettings csvColumnSettings, Integer index) throws CsvTransactionParseException { final String date = csvRow.getColumns().get(csvColumnSettings.columnDate() - 1); - final Optional<LocalDate> parsedDateOptional = DateParser.parse(date, csvColumnSettings.getDatePattern(), settingsService.getSettings().getLanguage().getLocale()); + final Optional<LocalDate> parsedDateOptional = DateParser.parse(date, csvColumnSettings.datePattern(), settingsService.getSettings().getLanguage().getLocale()); if(parsedDateOptional.isEmpty()) { - throw new CsvTransactionParseException(Localization.getString("transactions.import.error.parse.date", index + 1, date, csvColumnSettings.getDatePattern())); + throw new CsvTransactionParseException(Localization.getString("transactions.import.error.parse.date", index + 1, date, csvColumnSettings.datePattern())); } final String name = csvRow.getColumns().get(csvColumnSettings.columnName() - 1); final String description = csvRow.getColumns().get(csvColumnSettings.columnDescription() - 1); final String amount = csvRow.getColumns().get(csvColumnSettings.columnAmount() - 1); - final Optional<Integer> parsedAmountOptional = AmountParser.parse(amount, csvColumnSettings.getDecimalSeparator().charAt(0), csvColumnSettings.getGroupingSeparator().charAt(0)); + final Optional<Integer> parsedAmountOptional = AmountParser.parse(amount, csvColumnSettings.decimalSeparator().charAt(0), csvColumnSettings.groupingSeparator().charAt(0)); if(parsedAmountOptional.isEmpty()) { throw new CsvTransactionParseException(Localization.getString("transactions.import.error.parse.amount", index + 1)); diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/CsvColumnSettings.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/CsvColumnSettings.java index 7ecc044fa..9eabb5695 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/CsvColumnSettings.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/CsvColumnSettings.java @@ -1,89 +1,6 @@ package de.deadlocker8.budgetmaster.transactions.csvimport; -import java.util.Objects; - -public final class CsvColumnSettings +public record CsvColumnSettings(int columnDate, String datePattern, int columnName, int columnAmount, + String decimalSeparator, String groupingSeparator, int columnDescription) { - private final int columnDate; - private final String datePattern; - private final int columnName; - private final int columnAmount; - private final String decimalSeparator; - private final String groupingSeparator; - private final int columnDescription; - - public CsvColumnSettings(int columnDate, String datePattern, int columnName, int columnAmount, String decimalSeparator, String groupingSeparator, int columnDescription) - { - this.columnDate = columnDate; - this.datePattern = datePattern; - this.columnName = columnName; - this.columnAmount = columnAmount; - this.decimalSeparator = decimalSeparator; - this.groupingSeparator = groupingSeparator; - this.columnDescription = columnDescription; - } - - public int columnDate() - { - return columnDate; - } - - public String getDatePattern() - { - return datePattern; - } - - public int columnName() - { - return columnName; - } - - public int columnAmount() - { - return columnAmount; - } - - public String getDecimalSeparator() - { - return decimalSeparator; - } - - public String getGroupingSeparator() - { - return groupingSeparator; - } - - public int columnDescription() - { - return columnDescription; - } - - @Override - public boolean equals(Object o) - { - if(this == o) return true; - if(o == null || getClass() != o.getClass()) return false; - CsvColumnSettings that = (CsvColumnSettings) o; - return columnDate == that.columnDate && columnName == that.columnName && columnAmount == that.columnAmount && columnDescription == that.columnDescription && Objects.equals(datePattern, that.datePattern) && Objects.equals(decimalSeparator, that.decimalSeparator) && Objects.equals(groupingSeparator, that.groupingSeparator); - } - - @Override - public int hashCode() - { - return Objects.hash(columnDate, datePattern, columnName, columnAmount, decimalSeparator, groupingSeparator, columnDescription); - } - - @Override - public String toString() - { - return "CsvColumnSettings{" + - "columnDate=" + columnDate + - ", datePattern='" + datePattern + '\'' + - ", columnName=" + columnName + - ", columnAmount=" + columnAmount + - ", decimalSeparator='" + decimalSeparator + '\'' + - ", groupingSeparator='" + groupingSeparator + '\'' + - ", columnDescription=" + columnDescription + - '}'; - } } -- GitLab