diff --git a/src/main/kotlin/com/flo/nem12/config/DatabaseConfig.kt b/src/main/kotlin/com/flo/nem12/config/DatabaseConfig.kt index a842885..93f0803 100644 --- a/src/main/kotlin/com/flo/nem12/config/DatabaseConfig.kt +++ b/src/main/kotlin/com/flo/nem12/config/DatabaseConfig.kt @@ -9,9 +9,6 @@ object DatabaseConfig { */ const val DEFAULT_BATCH_SIZE = 50 - /** - * SQLite meter_readings table schema - */ const val CREATE_TABLE_SQL = """ CREATE TABLE IF NOT EXISTS meter_readings ( id TEXT PRIMARY KEY, @@ -22,22 +19,13 @@ object DatabaseConfig { ) """ - /** - * Insert statement with conflict handling (IGNORE duplicates) - */ const val INSERT_SQL = """ INSERT OR IGNORE INTO meter_readings (id, nmi, timestamp, consumption) VALUES (?, ?, ?, ?) """ - /** - * Timestamp format used in database - */ const val TIMESTAMP_FORMAT = "yyyy-MM-dd HH:mm:ss" - /** - * SQLite failed_readings table schema - */ const val CREATE_FAILED_READINGS_TABLE_SQL = """ CREATE TABLE IF NOT EXISTS failed_readings ( id TEXT PRIMARY KEY, @@ -50,9 +38,6 @@ object DatabaseConfig { ) """ - /** - * Insert statement for failed readings - */ const val INSERT_FAILED_READING_SQL = """ INSERT INTO failed_readings (id, line_number, nmi, interval_index, raw_value, failure_reason, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?) diff --git a/src/main/kotlin/com/flo/nem12/util/DateTimeValidator.kt b/src/main/kotlin/com/flo/nem12/util/DateTimeValidator.kt index 5f93b26..fc44820 100644 --- a/src/main/kotlin/com/flo/nem12/util/DateTimeValidator.kt +++ b/src/main/kotlin/com/flo/nem12/util/DateTimeValidator.kt @@ -14,12 +14,6 @@ object DateTimeValidator { */ private val ISO8601_DATETIME_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMddHHmm") - /** - * ISO8601 Date format: YYYYMMDD (8 characters) - * Example: 20050301 = 2005-03-01 - */ - private val ISO8601_DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd") - /** * Validates ISO8601 DateTime format (12 characters: YYYYMMDDHHmm) * @@ -37,47 +31,4 @@ object DateTimeValidator { false } } - - /** - * Validates ISO8601 Date format (8 characters: YYYYMMDD) - * - * @param dateStr Date string to validate - * @return true if valid, false otherwise - */ - fun isValidISO8601Date(dateStr: String): Boolean { - if (dateStr.length != 8) return false - if (!dateStr.all { it.isDigit() }) return false - - return try { - ISO8601_DATE_FORMATTER.parse(dateStr) - true - } catch (e: DateTimeParseException) { - false - } - } - - /** - * Parses ISO8601 DateTime string to LocalDateTime - * - * @param dateTimeStr DateTime string in YYYYMMDDHHmm format - * @return LocalDateTime object - * @throws DateTimeParseException if format is invalid - */ - fun parseISO8601DateTime(dateTimeStr: String): LocalDateTime { - require(dateTimeStr.length == 12) { "DateTime must be 12 characters (YYYYMMDDHHmm)" } - return LocalDateTime.parse(dateTimeStr, ISO8601_DATETIME_FORMATTER) - } - - /** - * Parses ISO8601 Date string - * - * @param dateStr Date string in YYYYMMDD format - * @return Formatted date string - * @throws DateTimeParseException if format is invalid - */ - fun parseISO8601Date(dateStr: String): String { - require(dateStr.length == 8) { "Date must be 8 characters (YYYYMMDD)" } - ISO8601_DATE_FORMATTER.parse(dateStr) - return dateStr - } }