From 76bb7d6bf099638f768e3b057e1ef3e68fcb45fc Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 4 Mar 2021 18:25:34 +0100 Subject: [Json] Explicitly pass Object[] to Method.invoke() Fixes these kinds of errors: WARN [ClientTransferPool-3] Json$JsonThriftHandler - Could not call setAllowLoginByDefault on SatelliteConfig java.lang.ClassCastException: java.lang.Boolean cannot be cast to [Ljava.lang.Object; at org.openslx.util.Json$JsonThriftHandler.deserialize(Json.java:140) at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) --- src/main/java/org/openslx/util/Json.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/openslx/util/Json.java b/src/main/java/org/openslx/util/Json.java index f92bb58..ab0087e 100644 --- a/src/main/java/org/openslx/util/Json.java +++ b/src/main/java/org/openslx/util/Json.java @@ -137,7 +137,7 @@ public class Json { if (element == null || element.isJsonNull()) continue; try { - field.setter.invoke(inst, context.deserialize(element, field.field.getType())); + field.setter.invoke(inst, new Object[] { context.deserialize(element, field.field.getType()) }); } catch (Exception e) { LOGGER.warn("Could not call " + field.setter.getName() + " on " + clazz.getSimpleName(), e); } -- cgit v1.2.3-55-g7522