- if (!JsonToken.START_OBJECT.equals(token))
- {
- LOG.error("{} must contain an object as root-element", templateName);
- throw new RuntimeException(
- "The root-element of " +
- templateName +
- " has to be an object, that contains the variable-definitions!"
- );
- }
-
- token = parser.nextToken();
- if (token == null)
- fail(parser, "unexpected EOF");
- if (JsonToken.END_OBJECT.equals(token))
- {
- LOG.warn("found empty object for {}", templateName);
- break;
- }
-
- do
- {
- if (!JsonToken.FIELD_NAME.equals(token))
- fail(parser, "expected a field-name");
-
- String var_name = parser.getText();
- parser.nextToken();
- Object var_value = convert(parser);
-
- LOG.debug(
- "defining variable {} of type {}",
- var_name,
- var_value == null ? "NULL" : var_value.getClass().getSimpleName()
- );
- element.setNodeLocalVariable(var_name, var_value);
-
- token = parser.nextToken();
- if (token == null)
- fail(parser, "unexpected EOF");
- }
- while (!JsonToken.END_OBJECT.equals(token));