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")
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)
package de.unixwork.rssreader
-import java.util.Date
+import java.time.LocalDateTime
+
class Item(id: Int) {
val id = id
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
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 {
var result: String? = null
when(col) {
0 -> result = elm.title
- 1 -> result = elm.pubDate.toString()
+ 1 -> {
+ result = elm.pubDate?.format(formatter)
+ }
}
result
}
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 ->