From f2ecb0c7fb24ad22039d6ecdbdc9e086b41577c0 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sun, 17 Apr 2022 17:02:53 +0200
Subject: [PATCH] #663 - migrator: use LocalDate instead of String for dates
 for settings too

---
 .../destination/settings/DestinationSettings.java              | 3 ++-
 .../databasemigrator/steps/reader/SettingsReader.java          | 2 +-
 .../budgetmaster/databasemigrator/MigrateSettingsTest.java     | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettings.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettings.java
index 5409feb01..c0850b41a 100644
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettings.java
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/destination/settings/DestinationSettings.java
@@ -8,6 +8,7 @@ import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.Table;
+import java.time.LocalDate;
 
 @Entity
 @Table(name = TableNames.SETTINGS)
@@ -42,7 +43,7 @@ public class DestinationSettings
 	private boolean backupReminderActivated;
 
 	@Column(name = "last_backup_reminder_date")
-	private String lastBackupReminderDate;
+	private LocalDate lastBackupReminderDate;
 
 	@Column(name = "search_items_per_page")
 	private Integer searchItemsPerPage;
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/steps/reader/SettingsReader.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/steps/reader/SettingsReader.java
index 79d4468af..485b30ba9 100644
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/steps/reader/SettingsReader.java
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/steps/reader/SettingsReader.java
@@ -60,7 +60,7 @@ public class SettingsReader extends BaseReader<DestinationSettings>
 			settings.setShowCategoriesAsCircles(rs.getBoolean(DatabaseColumns.SHOW_CATEGORIES_AS_CIRCLES));
 			settings.setAutoUpdateCheckEnabled(rs.getBoolean(DatabaseColumns.AUTO_UPDATE_CHECK_ENABLED));
 			settings.setBackupReminderActivated(rs.getBoolean(DatabaseColumns.BACKUP_REMINDER_ACTIVATED));
-			settings.setLastBackupReminderDate(rs.getString(DatabaseColumns.LAST_BACKUP_REMINDER_DATE));
+			settings.setLastBackupReminderDate(rs.getDate(DatabaseColumns.LAST_BACKUP_REMINDER_DATE).toLocalDate());
 			settings.setSearchItemsPerPage(rs.getInt(DatabaseColumns.SEARCH_ITEMS_PER_PAGE));
 
 			settings.setAutoBackupStrategy(rs.getInt(DatabaseColumns.AUTO_BACKUP_STRATEGY));
diff --git a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateSettingsTest.java b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateSettingsTest.java
index ed58feb0e..d05846364 100644
--- a/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateSettingsTest.java
+++ b/BudgetMasterDatabaseMigrator/src/test/java/de/deadlocker8/budgetmaster/databasemigrator/MigrateSettingsTest.java
@@ -19,6 +19,7 @@ import org.springframework.core.io.Resource;
 
 import javax.sql.DataSource;
 import java.io.IOException;
+import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -62,7 +63,7 @@ class MigrateSettingsTest extends MigratorTestBase
 		assertThat(stepExecution.getReadCount()).isEqualTo(1);
 		assertThat(stepExecution.getCommitCount()).isEqualTo(2);
 
-		final DestinationSettings settings = new DestinationSettings(1, "€", false, 1, false, true, true, true, "2022-03-15", 10, 0, 1, 0, 3, "", "", "", "", 35, false);
+		final DestinationSettings settings = new DestinationSettings(1, "€", false, 1, false, true, true, true, LocalDate.of(2022, 3, 15), 10, 0, 1, 0, 3, "", "", "", "", 35, false);
 
 		final List<DestinationSettings> settingsItems = settingsRepository.findAll();
 		assertThat(settingsItems)
-- 
GitLab