Skip to content

Commit 962c1bd

Browse files
committed
update to Kotlin M9
1 parent 04c958b commit 962c1bd

File tree

6 files changed

+26
-25
lines changed

6 files changed

+26
-25
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ target
2323
/target
2424
/.gradle/
2525
/gradle/
26+
/out/

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<version.jackson.annotations>2.4.0</version.jackson.annotations>
3535
<version.jackson.joda>2.4.2</version.jackson.joda>
3636
<version.junit>4.11</version.junit>
37-
<version.kotlin>0.8.11</version.kotlin>
37+
<version.kotlin>0.9.66</version.kotlin>
3838

3939
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4040

src/main/kotlin/com/fasterxml/jackson/module/kotlin/Extensions.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ package com.fasterxml.jackson.module.kotlin
22

33
import com.fasterxml.jackson.databind.ObjectMapper
44

5-
public fun ObjectMapper.registerKotlinModule(): ObjectMapper = this.registerModule(KotlinModule())!!
6-
public fun jacksonObjectMapper(): ObjectMapper = ObjectMapper().registerKotlinModule()
5+
public fun jacksonObjectMapper(): ObjectMapper = ObjectMapper().registerKotlinModule()
6+
public fun ObjectMapper.registerKotlinModule(): ObjectMapper = this.registerModule(KotlinModule())

src/main/kotlin/com/fasterxml/jackson/module/kotlin/KotlinModule.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ public class KotlinModule() : SimpleModule(PackageVersion.VERSION) {
2323
))
2424

2525
override public fun setupModule(context: SetupContext?) {
26-
super.setupModule(context!!)
26+
super.setupModule(context)
2727

2828
fun addMixin(clazz: Class<*>, mixin: Class<*>) {
2929
impliedClasses.add(clazz)
30-
context.setMixInAnnotations(clazz, mixin)
30+
context?.setMixInAnnotations(clazz, mixin)
3131
}
3232

33-
context.appendAnnotationIntrospector(KotlinNamesAnnotationIntrospector(this))
33+
context?.appendAnnotationIntrospector(KotlinNamesAnnotationIntrospector(this))
3434

3535
// ranges
3636
addMixin(javaClass<IntRange>(), javaClass<RangeMixin<*>>())
@@ -61,15 +61,15 @@ internal class KotlinNamesAnnotationIntrospector(val module: KotlinModule) : Nop
6161
override public fun hasCreatorAnnotation(member: Annotated?): Boolean {
6262
if (member is AnnotatedParameter) {
6363
// pretend some built-in Kotlin classes have the JsonCreator annotation
64-
// return module.impliedClasses.contains(member.getDeclaringClass()!!)
64+
// return module.impliedClasses.contains(member.getDeclaringClass())
6565
return false
6666
} else {
6767
return false
6868
}
6969
}
7070

7171
protected fun findKotlinParameterName(param: AnnotatedParameter): String? {
72-
if (param.getDeclaringClass()!!.getAnnotation(javaClass<KotlinClass>()) != null) {
72+
if (param.getDeclaringClass().getAnnotation(javaClass<KotlinClass>()) != null) {
7373
// TODO: this will change in the near future to full runtime type information
7474
return param.getAnnotation(javaClass<JetValueParameter>())?.name()
7575
}

src/test/kotlin/com/fasterxml/jackson/module/kotlin/KotlinBuiltinsTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import com.fasterxml.jackson.databind.SerializationFeature
88
import com.fasterxml.jackson.annotation.JsonCreator
99

1010
class TestJacksonWithKotlinBuiltins {
11-
private val mapper = jacksonObjectMapper().configure(SerializationFeature.INDENT_OUTPUT, false)!!
11+
private val mapper: ObjectMapper = jacksonObjectMapper().configure(SerializationFeature.INDENT_OUTPUT, false)
1212

1313
private data class ClassWithPair(val name: Pair<String, String>, val age: Int)
1414
Test fun testPair() {

src/test/kotlin/com/fasterxml/jackson/module/kotlin/ParameterNameTests.kt

+16-16
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,16 @@ public class TestJacksonWithKotlin {
4141
private val pascalCasedJson = """{"Name":"Frank","Age":30,"PrimaryAddress":"something here","Renamed":true,"CreatedDt":"2014-08-01T12:11:30.000Z"}"""
4242

4343
private val normalCasedMapper = jacksonObjectMapper()
44-
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)!!
45-
.configure(SerializationFeature.INDENT_OUTPUT, false)!!
46-
.registerModule(JodaModule())!!
44+
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
45+
.configure(SerializationFeature.INDENT_OUTPUT, false)
46+
.registerModule(JodaModule())
4747

4848

4949
private val pascalCasedMapper = jacksonObjectMapper()
50-
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)!!
51-
.configure(SerializationFeature.INDENT_OUTPUT, false)!!
52-
.registerModule(JodaModule())!!
53-
.setPropertyNamingStrategy(PropertyNamingStrategy.PASCAL_CASE_TO_CAMEL_CASE)!!
50+
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
51+
.configure(SerializationFeature.INDENT_OUTPUT, false)
52+
.registerModule(JodaModule())
53+
.setPropertyNamingStrategy(PropertyNamingStrategy.PASCAL_CASE_TO_CAMEL_CASE)
5454

5555
// ==================
5656

@@ -63,7 +63,7 @@ public class TestJacksonWithKotlin {
6363
}
6464

6565
Test fun NoFailWithDefaultAndSpecificConstructor() {
66-
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<DefaultAndSpecificConstructor>())!!
66+
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<DefaultAndSpecificConstructor>())
6767
validate(stateObj)
6868
}
6969

@@ -75,7 +75,7 @@ public class TestJacksonWithKotlin {
7575
}
7676

7777
Test fun doNotFailWithoutJsonCreator() {
78-
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<NoFailWithoutJsonCreator>())!!
78+
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<NoFailWithoutJsonCreator>())
7979
validate(stateObj)
8080
}
8181

@@ -88,7 +88,7 @@ public class TestJacksonWithKotlin {
8888

8989
Test fun testDataClassWithExplicitJsonCreator() {
9090
// data class with explicit JsonCreator and no parameters with JsonProperty
91-
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectAsDataClassExplicitJsonCreator>())!!
91+
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectAsDataClassExplicitJsonCreator>())
9292
validate(stateObj)
9393

9494
val test1out = StringWriter()
@@ -103,7 +103,7 @@ public class TestJacksonWithKotlin {
103103

104104
Test fun testDataClassWithExplicitJsonCreatorAndJsonProperty() {
105105
// data class with JsonCreator and JsonProperty
106-
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectAsDataClassWithJsonCreatorAndJsonProperty>())!!
106+
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectAsDataClassWithJsonCreatorAndJsonProperty>())
107107
validate(stateObj)
108108

109109
val test1out = normalCasedMapper.writeValueAsString(stateObj)
@@ -116,7 +116,7 @@ public class TestJacksonWithKotlin {
116116

117117
Test fun testNormalClassWithJsonCreator() {
118118
// normal class
119-
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectAsNormalClass>())!!
119+
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectAsNormalClass>())
120120
validate(stateObj)
121121
}
122122

@@ -129,7 +129,7 @@ public class TestJacksonWithKotlin {
129129

130130
Test fun testNormalClassWithPartialConstructorJsonCreator() {
131131
// normal class with some fields not in constructor
132-
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectWithPartialFieldsInConstructor>())!!
132+
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectWithPartialFieldsInConstructor>())
133133
validate(stateObj)
134134
}
135135

@@ -142,15 +142,15 @@ public class TestJacksonWithKotlin {
142142
// the unrecognized fields in the constructor. Does not work with default values for parameters, because a null does not get converted to the
143143
// default.
144144

145-
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectAsDataClassConfusingConstructor>())!!
145+
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectAsDataClassConfusingConstructor>())
146146
validate(stateObj)
147147
}
148148

149149
// ==================
150150

151151
Test fun findingConstructorsWithPascalCasedJson() {
152152
// pascal cased strategy for JSON, note that explicit named JsonProperty are not renamed and must be exactly the same
153-
val stateObj = pascalCasedMapper.readValue(pascalCasedJson, javaClass<StateObjectAsDataClassExplicitJsonCreator>())!!
153+
val stateObj = pascalCasedMapper.readValue(pascalCasedJson, javaClass<StateObjectAsDataClassExplicitJsonCreator>())
154154
validate(stateObj)
155155

156156
val test1out = pascalCasedMapper.writeValueAsString(stateObj)
@@ -180,7 +180,7 @@ public class TestJacksonWithKotlin {
180180
work from class objects, maybe a TypeInstantiator would work
181181
StateObjectWithFactory.object$.create method is the actual factory when compiled
182182
*/
183-
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectWithFactory>())!!
183+
val stateObj = normalCasedMapper.readValue(normalCasedJson, javaClass<StateObjectWithFactory>())
184184
validate(stateObj)
185185
}
186186
}

0 commit comments

Comments
 (0)