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 747cc5fcd184924118c713047a256643f853c5ce..26604fd7639b6153f30ebd2078bbd722ba464dfe 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 7ecc044fa963b9616d2a9f2ae0fe131bb1bd6da9..9eabb56951b00d0e3103cb76f9090812daac747d 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 + - '}'; - } }