From 5cdc9e8dc72720db4f2e86b3e4e434e3640bf82e Mon Sep 17 00:00:00 2001 From: Adam <897017+asemy@users.noreply.github.com> Date: Sat, 30 Oct 2021 07:26:03 +0200 Subject: [PATCH] trying json polymorphism stuff... --- .../processor/model/FactorioServerLogRecord.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/factorio-events-processor/src/main/kotlin/dev/adamko/factorioevents/processor/model/FactorioServerLogRecord.kt b/modules/factorio-events-processor/src/main/kotlin/dev/adamko/factorioevents/processor/model/FactorioServerLogRecord.kt index c8a8182..7ec2a35 100644 --- a/modules/factorio-events-processor/src/main/kotlin/dev/adamko/factorioevents/processor/model/FactorioServerLogRecord.kt +++ b/modules/factorio-events-processor/src/main/kotlin/dev/adamko/factorioevents/processor/model/FactorioServerLogRecord.kt @@ -9,8 +9,6 @@ import java.math.BigInteger import kotlin.reflect.KClass - - data class FactorioServerLogRecord( @JsonProperty("mod_version") val modVersion: String, @@ -22,12 +20,11 @@ data class FactorioServerLogRecord( val data: DataType, ) - @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, + include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "object_name", - defaultImpl = Void::class, // equivalent to null + defaultImpl = UnknownFactorioObject::class, visible = true, ) sealed class FactorioObjectData( @@ -35,6 +32,8 @@ sealed class FactorioObjectData( val objectName: String ) +object UnknownFactorioObject : FactorioObjectData("unknown") + @JsonTypeName("LuaSurface") class LuaSurfaceData( @JsonProperty("name")