Skip to content

Commit 82d58a2

Browse files
authored
Merge pull request #290 from bogovicj/gson-2.14
chore: bump gson to 2.14
2 parents 30cff48 + ba4afc1 commit 82d58a2

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

scijava-ops-flim/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@
106106
<scijava-taglets.version>1.0.1-SNAPSHOT</scijava-taglets.version>
107107
<scijava-types.version>1.0.1-SNAPSHOT</scijava-types.version>
108108

109+
<gson.version>2.14.0</gson.version>
110+
109111
<scijava.ops.parse>true</scijava.ops.parse>
110112

111113
<flimlib.version>2.1.1</flimlib.version>

scijava-ops-flim/src/main/java/org/scijava/ops/flim/FitParams.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131

3232
import com.google.gson.*;
3333
import com.google.gson.annotations.Expose;
34-
import com.google.gson.reflect.TypeToken;
3534
import flimlib.FitFunc;
3635
import flimlib.NoiseType;
3736
import flimlib.RestrainType;
@@ -309,8 +308,12 @@ public static <I extends RealType<I>> FitParams<I> fromJSON(
309308
};
310309
var gson = new GsonBuilder().registerTypeAdapter(FitFunc.class,
311310
fitfuncDeserializer).create();
312-
return gson.fromJson(jsonString, new TypeToken<FitParams<I>>() {}
313-
.getType());
311+
// Deserialize to the raw FitParams type: the only field using the type
312+
// variable I ({@link #transMap}) is not serialized (no @Expose), and
313+
// recent Gson versions reject a TypeToken that contains a type variable.
314+
@SuppressWarnings("unchecked")
315+
FitParams<I> params = gson.fromJson(jsonString, FitParams.class);
316+
return params;
314317
}
315318

316319
@Override

0 commit comments

Comments
 (0)