Skip to content

Commit

Permalink
Merge pull request #417 from litvinovg/json_converter_fix
Browse files Browse the repository at this point in the history
Fix for container conversions in JsonConverter
  • Loading branch information
chenejac authored Aug 30, 2023
2 parents 0784e2f + df6edf6 commit c9879cc
Showing 1 changed file with 13 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,7 @@ private static DocumentContext getOutputTemplate(Procedure procedure) {
public static void readParam(DataStore dataStore, ReadContext ctx, String name, Parameter param, Procedure procedure) throws ConversionException {
String paramPath = getReadPath(name, param, procedure);
JsonNode node = ctx.read(paramPath, JsonNode.class);
Data data = new Data(param);
data.setRawString(node.asText());
data.earlyInitialization();
dataStore.addData(name, data);
readParam(dataStore, name, param, node);
}

public static void readOptionalParam(DataStore dataStore, ReadContext ctx, String name, Parameter param,
Expand All @@ -169,16 +166,24 @@ public static void readOptionalParam(DataStore dataStore, ReadContext ctx, Strin
try {
JsonNode node = ctx.read(paramPath, JsonNode.class);
if (node != null && !node.isMissingNode() && !node.isNull()) {
Data data = new Data(param);
data.setRawString(node.asText());
data.earlyInitialization();
dataStore.addData(name, data);
readParam(dataStore, name, param, node);
}
} catch (Exception e) {
log.debug(e,e);
}
}

private static void readParam(DataStore dataStore, String name, Parameter param, JsonNode node) {
Data data = new Data(param);
if (node.isContainerNode()) {
data.setRawString(node.toString());
} else {
data.setRawString(node.asText());
}
data.earlyInitialization();
dataStore.addData(name, data);
}

private static JsonNode injectResourceId(String jsonString, DataStore dataStore, Procedure procedure)
throws ConversionException {
final String resourceId = dataStore.getResourceId();
Expand Down

0 comments on commit c9879cc

Please sign in to comment.