Skip to content

Commit d73d95a

Browse files
author
Olivier Cailloux
committed
Workaround eclipse-ee4j/yasson#237 by converting record into class
1 parent a476527 commit d73d95a

File tree

1 file changed

+51
-3
lines changed

1 file changed

+51
-3
lines changed

Diff for: src/main/java/io/github/oliviercailloux/grade/format/json/JsonSimpleGrade.java

+51-3
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,62 @@ public GradeStructure adaptFromJson(GSR structure) {
4040
checkArgument(structure.absolutes.isEmpty(), "Not yet supported.");
4141
return GradeStructure.givenWeights(structure.weights.orElse(ImmutableMap.of()), structure.subs);
4242
}
43-
checkArgument(structure.weights.isEmpty());
43+
checkArgument(Optional.ofNullable(structure.weights).isEmpty());
4444
return GradeStructure.maxWithGivenAbsolutes(structure.absolutes, structure.subs);
4545
}
4646
}
4747

4848
@JsonbPropertyOrder({ "defaultAggregation", "weights", "absolutes", "subs" })
49-
public static record GSR(DefaultAggregation defaultAggregation, Optional<Map<Criterion, Double>> weights,
50-
Set<Criterion> absolutes, Map<Criterion, GradeStructure> subs) {
49+
public static class GSR {
50+
public DefaultAggregation defaultAggregation;
51+
52+
public Optional<Map<Criterion, Double>> weights;
53+
public Set<Criterion> absolutes;
54+
public Map<Criterion, GradeStructure> subs;
55+
56+
public GSR() {
57+
}
58+
59+
public GSR(DefaultAggregation defaultAggregation, Optional<Map<Criterion, Double>> weights,
60+
Set<Criterion> absolutes, Map<Criterion, GradeStructure> subs) {
61+
this.defaultAggregation = defaultAggregation;
62+
this.weights = weights;
63+
this.absolutes = absolutes;
64+
this.subs = subs;
65+
}
66+
67+
public DefaultAggregation getDefaultAggregation() {
68+
return defaultAggregation;
69+
}
70+
71+
public void setDefaultAggregation(DefaultAggregation defaultAggregation) {
72+
this.defaultAggregation = defaultAggregation;
73+
}
74+
75+
public Optional<Map<Criterion, Double>> getWeights() {
76+
return weights;
77+
}
78+
79+
public void setWeights(Optional<Map<Criterion, Double>> weights) {
80+
this.weights = weights;
81+
}
82+
83+
public Set<Criterion> getAbsolutes() {
84+
return absolutes;
85+
}
86+
87+
public void setAbsolutes(Set<Criterion> absolutes) {
88+
this.absolutes = absolutes;
89+
}
90+
91+
public Map<Criterion, GradeStructure> getSubs() {
92+
return subs;
93+
}
94+
95+
public void setSubs(Map<Criterion, GradeStructure> subs) {
96+
this.subs = subs;
97+
}
98+
5199
}
52100

53101
public static String toJson(GradeStructure structure) {

0 commit comments

Comments
 (0)