Skip to content

Commit 01b0adb

Browse files
committed
Added @JsonIgnore to prevent infinitive loops
See also #174
1 parent d45d8f8 commit 01b0adb

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 1.4.2
2+
* Added ``JsonIgnore`` to certain fields to help prevent infinite loops #174
3+
14
## 1.4.1
25
* Use ``Number`` instead of ``BigDecimal`` in some additional places #159 (@aripddev)
36

chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.io.UncheckedIOException;
1919

2020
import com.fasterxml.jackson.annotation.JsonAutoDetect;
21+
import com.fasterxml.jackson.annotation.JsonIgnore;
2122
import com.fasterxml.jackson.annotation.JsonInclude;
2223
import com.fasterxml.jackson.annotation.PropertyAccessor;
2324
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -34,7 +35,8 @@ public abstract class AbstractChart<T, O extends Options<?, ?>, D extends Abstra
3435
protected D data;
3536
protected O options;
3637

37-
protected final ObjectWriter objectWriter = new ObjectMapper()
38+
@JsonIgnore
39+
protected ObjectWriter defaultObjectWriter = new ObjectMapper()
3840
.setDefaultPropertyInclusion(JsonInclude.Include.NON_EMPTY)
3941
.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY)
4042
.setVisibility(PropertyAccessor.GETTER, JsonAutoDetect.Visibility.NONE)
@@ -84,12 +86,25 @@ public T setOptions(final O options)
8486
return this.self();
8587
}
8688

89+
@JsonIgnore
90+
public ObjectWriter getDefaultObjectWriter()
91+
{
92+
return this.defaultObjectWriter;
93+
}
94+
95+
@JsonIgnore
96+
public T setDefaultObjectWriter(final ObjectWriter defaultObjectWriter)
97+
{
98+
this.defaultObjectWriter = defaultObjectWriter;
99+
return this.self();
100+
}
101+
87102
@Override
88103
public String toJsonNative()
89104
{
90105
try
91106
{
92-
return this.objectWriter.writeValueAsString(this);
107+
return this.defaultObjectWriter.writeValueAsString(this);
93108
}
94109
catch(final JsonProcessingException e)
95110
{

0 commit comments

Comments
 (0)