Fix infinite recursion bug leading to a StackOverflowError.

Renamed the convertObjectToJson(:Object) method in the JSONFormatterPdxToJsonConverter class to convertPojoToJson(:Object).

Resolves gh-67.
This commit is contained in:
John Blum
2020-05-12 22:01:22 -07:00
parent 854a233b04
commit fa9b2e1ae6
2 changed files with 10 additions and 10 deletions

View File

@@ -62,7 +62,7 @@ public class JSONFormatterPdxToJsonConverter extends JacksonObjectToJsonConverte
.filter(PdxInstance.class::isInstance)
.map(PdxInstance.class::cast)
.map(this::convertPdxToJson)
.orElseGet(() -> convertObjectToJson(source));
.orElseGet(() -> convertPojoToJson(source));
}
/**
@@ -72,7 +72,7 @@ public class JSONFormatterPdxToJsonConverter extends JacksonObjectToJsonConverte
* @return the JSON generated from the given {@link Object}.
* @see JacksonObjectToJsonConverter#convert(Object)
*/
protected @Nullable String convertObjectToJson(Object source) {
protected @Nullable String convertPojoToJson(Object source) {
return super.convert(source);
}
@@ -86,8 +86,8 @@ public class JSONFormatterPdxToJsonConverter extends JacksonObjectToJsonConverte
* @see #jsonFormatterToJson(PdxInstance)
*/
protected @NonNull String convertPdxToJson(@NonNull PdxInstance pdxInstance) {
//return JSONFormatter.toJSON(pdxInstance);
//return JSONFormatter.toJSON(decorate(pdxInstance));
//return jsonFormatterToJson(pdxInstance);
//return jsonFormatterToJson(decorate(pdxInstance));
return decorate(pdxInstance, jsonFormatterToJson(pdxInstance));
}
@@ -192,7 +192,7 @@ public class JSONFormatterPdxToJsonConverter extends JacksonObjectToJsonConverte
catch (JsonProcessingException cause) {
if (hasValidClassName(pdxInstance)) {
return convertObjectToJson(pdxInstance.getObject());
return convertPojoToJson(pdxInstance.getObject());
}
String message = String.format("Failed to parse JSON [%s]", json);