Skip to content

Commit eb9b0cd

Browse files
committed
Remove duplicate code.
1 parent cd30db3 commit eb9b0cd

File tree

1 file changed

+22
-26
lines changed
  • org.thepalaceproject.opds2.core/src/main/kotlin/org/thepalaceproject/opds2/core

1 file changed

+22
-26
lines changed

org.thepalaceproject.opds2.core/src/main/kotlin/org/thepalaceproject/opds2/core/O2LinkSerializer.kt

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package org.thepalaceproject.opds2.core
33
import com.fasterxml.jackson.core.JsonGenerator
44
import com.fasterxml.jackson.databind.SerializerProvider
55
import com.fasterxml.jackson.databind.ser.std.StdSerializer
6+
import one.irradia.mime.api.MIMEType
67

78
class O2LinkSerializer : StdSerializer<O2Link>(O2Link::class.java) {
89
override fun serialize(
@@ -22,19 +23,7 @@ class O2LinkSerializer : StdSerializer<O2Link>(O2Link::class.java) {
2223
generator.writeString(text)
2324
}
2425
value.type?.let { type ->
25-
val text = StringBuilder()
26-
text.append(type.toString())
27-
if (type.parameters.isNotEmpty()) {
28-
text.append(';')
29-
for ((k, v) in type.parameters) {
30-
text.append(k)
31-
text.append('=')
32-
text.append(v)
33-
text.append(';')
34-
}
35-
}
36-
generator.writeFieldName("type")
37-
generator.writeString(text.toString())
26+
this.writeType(type, generator)
3827
}
3928
value.relation?.let { text ->
4029
generator.writeFieldName("rel")
@@ -61,19 +50,7 @@ class O2LinkSerializer : StdSerializer<O2Link>(O2Link::class.java) {
6150
generator.writeString(text)
6251
}
6352
value.type?.let { type ->
64-
val text = StringBuilder()
65-
text.append(type.toString())
66-
if (type.parameters.isNotEmpty()) {
67-
text.append(';')
68-
for ((k, v) in type.parameters) {
69-
text.append(k)
70-
text.append('=')
71-
text.append(v)
72-
text.append(';')
73-
}
74-
}
75-
generator.writeFieldName("type")
76-
generator.writeString(text.toString())
53+
this.writeType(type, generator)
7754
}
7855
value.relation?.let { text ->
7956
generator.writeFieldName("rel")
@@ -88,4 +65,23 @@ class O2LinkSerializer : StdSerializer<O2Link>(O2Link::class.java) {
8865
}
8966
}
9067
}
68+
69+
private fun writeType(
70+
type : MIMEType,
71+
generator : JsonGenerator
72+
) {
73+
val text = StringBuilder()
74+
text.append(type.toString())
75+
if (type.parameters.isNotEmpty()) {
76+
text.append(';')
77+
for ((k, v) in type.parameters) {
78+
text.append(k)
79+
text.append('=')
80+
text.append(v)
81+
text.append(';')
82+
}
83+
}
84+
generator.writeFieldName("type")
85+
generator.writeString(text.toString())
86+
}
9187
}

0 commit comments

Comments
 (0)