]> uap-core.de Git - rssreader.git/commitdiff
change item pubDate type to java.time.LocalDateTime
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 28 Aug 2025 17:45:25 +0000 (19:45 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 28 Aug 2025 17:45:25 +0000 (19:45 +0200)
rss-application/src/main/kotlin/de/unixwork/rssreader/Database.kt
rss-application/src/main/kotlin/de/unixwork/rssreader/Item.kt
rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt
rss-application/src/main/kotlin/de/unixwork/rssreader/SyncJob.kt

index ecb9b8d4f0ee9d7dc1a8c039d6b1ed5fb6021820..eea5562f548482346b465b95bae7351980e05a54 100644 (file)
@@ -212,7 +212,7 @@ object Database {
                     item.link = rs.getString("link")
                     item.description = rs.getString("description")
                     item.author = rs.getString("author")
-                    item.pubDate = rs.getTimestamp("pub_date")
+                    item.pubDate = rs.getObject("pub_date", java.time.LocalDateTime::class.java)
                     item.guid = rs.getString("guid")
                     item.contentText = rs.getString("contentText")
                     item.contentHtml = rs.getString("contentHTML")
@@ -261,7 +261,7 @@ object Database {
                     stmt.setString(3, item.link)
                     stmt.setString(4, item.description)
                     stmt.setString(5, item.author)
-                    stmt.setTimestamp(6, item.pubDate?.let { java.sql.Timestamp.from(it.toInstant()) })
+                    stmt.setTimestamp(6, item.pubDate?.let { java.sql.Timestamp.valueOf(it) })
                     stmt.setString(7, item.guid)
                     stmt.setString(8, item.contentText)
                     stmt.setString(9, item.contentHtml)
index 64c1e18b85ad53585634d9745090bb8ab56d69ac..efd50eea01e12bb1e5e4c77e19e376caace29175 100644 (file)
@@ -1,6 +1,7 @@
 package de.unixwork.rssreader
 
-import java.util.Date
+import java.time.LocalDateTime
+
 
 class Item(id: Int) {
     val id = id
@@ -9,7 +10,7 @@ class Item(id: Int) {
     var link: String? = null
     var description: String? = null
     var author: String? = null
-    var pubDate: Date? = null
+    var pubDate: LocalDateTime? = null
     var guid: String? = null
     var contentText: String? = null
     var contentHtml: String? = null
index fc7726faf9945b715a058e397dd449bd6d47aaa2..7795fb85ce05245592761336d58deefc26cdb809 100644 (file)
@@ -10,12 +10,16 @@ import de.unixwork.ui.kotlin.Toplevel
 import de.unixwork.ui.kotlin.sidebarWindow
 import de.unixwork.ui.kotlin.dialogWindow
 import de.unixwork.ui.kotlin.openFileDialog
+import java.time.format.DateTimeFormatter
 
 class MainWindow {
     val window : Toplevel
     val sourceList = FeedSourceList()
     val feedList = FeedList()
 
+    // TODO: date format config
+    val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
+
     init {
         window = sidebarWindow("RSS Reader") {
             sidebar {
@@ -71,7 +75,9 @@ class MainWindow {
                         var result: String? = null
                         when(col) {
                             0 -> result = elm.title
-                            1 -> result = elm.pubDate.toString()
+                            1 -> {
+                                result = elm.pubDate?.format(formatter)
+                            }
                         }
                         result
                     }
index dee94c9919990e4d39f7a5dee20f988b040904b3..91febb701cd5693d8a08d2e77f608e46ffd175f7 100644 (file)
@@ -48,7 +48,9 @@ class SyncJob {
                                 item.link = entry.link
                                 item.description = entry.description?.value
                                 item.author = entry.author
-                                item.pubDate = entry.publishedDate
+                                entry.publishedDate?.let {
+                                    item.pubDate = it.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDateTime()
+                                }
                                 item.guid = entry.uri
                                 val contents = entry.contents
                                 contents.forEach { content ->