Skip to content

Commit 7ec780a

Browse files
author
Philipp Karlsson
committed
Fixing java 17 LocalDate InaccessibleObjectException
1 parent b12927e commit 7ec780a

File tree

3 files changed

+27
-18
lines changed
  • kotlin-insight-client/kotlin-insight-client-api/src/main/kotlin/com/linkedplanet/kotlininsightclient/api/impl
  • kotlin-jira-client

3 files changed

+27
-18
lines changed

kotlin-insight-client/kotlin-insight-client-api/src/main/kotlin/com/linkedplanet/kotlininsightclient/api/impl/GsonUtil.kt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,42 @@ import com.google.gson.stream.JsonReader
2525
import com.google.gson.stream.JsonWriter
2626
import com.linkedplanet.kotlininsightclient.api.model.InsightAttribute
2727
import com.linkedplanet.kotlininsightclient.api.model.ObjectTypeSchemaAttribute
28+
import java.time.LocalDate
29+
import java.time.LocalTime
2830
import java.time.ZonedDateTime
2931

3032

3133
class GsonUtil {
3234
companion object {
3335
fun gsonBuilder(): GsonBuilder = GsonBuilder()
36+
.registerTypeAdapter(LocalDate::class.java, localDateAdapter)
37+
.registerTypeAdapter(LocalTime::class.java, localTimeAdapter)
3438
.registerTypeAdapter(ZonedDateTime::class.java, zonedDateTimeAdapter)
3539
.registerTypeAdapterFactory(SealedTypeAdapterFactory.of(InsightAttribute::class))
3640
.registerTypeAdapterFactory(SealedTypeAdapterFactory.of(ObjectTypeSchemaAttribute::class,
3741
typeFieldName = "type",
3842
jsonNameForType = { it.simpleName!!.removeSuffix("Schema") to it }
3943
))
4044

45+
private val localDateAdapter = object : TypeAdapter<LocalDate>() {
46+
override fun write(out: JsonWriter, value: LocalDate?) {
47+
out.value(value.toString())
48+
}
49+
50+
override fun read(`in`: JsonReader): LocalDate {
51+
return LocalDate.parse(`in`.nextString())
52+
}
53+
}
54+
55+
private val localTimeAdapter = object : TypeAdapter<LocalTime>() {
56+
override fun write(out: JsonWriter, value: LocalTime?) {
57+
out.value(value.toString())
58+
}
59+
60+
override fun read(`in`: JsonReader): LocalTime {
61+
return LocalTime.parse(`in`.nextString())
62+
}
63+
}
4164

4265
private val zonedDateTimeAdapter = object : TypeAdapter<ZonedDateTime>() {
4366
override fun write(out: JsonWriter, value: ZonedDateTime?) {

kotlin-jira-client/kotlin-jira-client-http/src/main/kotlin/com/linkedplanet/kotlinjiraclient/http/HttpJiraIssueOperator.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -306,16 +306,16 @@ class HttpJiraIssueOperator(private val context: HttpJiraClientContext) : JiraIs
306306
jsonBody
307307
}
308308

309-
private class HttpJiraIssuePage(
309+
private data class HttpJiraIssuePage(
310310
private val maxResults: Number,
311311
private val startAt: Number,
312312
private val total: Number,
313-
private val issues: List<JsonElement>,
314-
val names: JsonElement
313+
private val issues: JsonArray,
314+
val names: JsonObject
315315
) : HttpPage<JsonElement> {
316316
override fun getMaxResults() = maxResults
317317
override fun getStartAt() = startAt
318318
override fun getTotal() = total
319-
override fun getValues(): List<JsonElement> = issues
319+
override fun getValues(): List<JsonElement> = issues.asList()
320320
}
321321
}

kotlin-jira-client/kotlin-jira-client-test-applink/src/test/kotlin/it/JiraApplinkClientTest.kt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -82,18 +82,4 @@ class JiraApplinkClientTest constructor(
8282
fun initTest() {
8383
loginAsUser("admin")
8484
}
85-
86-
// @Test
87-
// fun arghTest() {
88-
// val issues: List<Story>? = runBlocking {
89-
// issueOperator.getIssuesByJQL("summary ~ \"Test-*\"", parser = ::issueParser).getOrNull()
90-
// }
91-
// assertThat(issues?.size, equalTo(10))
92-
// val keys = 1..10
93-
// keys.forEach { searchedKeyIndex ->
94-
// val issue = issues?.first { "Test-$searchedKeyIndex" == it.summary }
95-
// assertThat(issue?.insightObjectKey, equalTo("IT-1"))
96-
// assertThat(issue?.status?.name, equalTo("To Do"))
97-
// }
98-
// }
9985
}

0 commit comments

Comments
 (0)