diff options
Diffstat (limited to 'cps-service/src/main/java/org/onap/cps/utils/YangUtils.java')
-rw-r--r-- | cps-service/src/main/java/org/onap/cps/utils/YangUtils.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java b/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java index 1244d54af..1ba94328d 100644 --- a/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java +++ b/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; +import org.onap.cps.spi.exceptions.DataValidationException; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; @@ -52,17 +53,21 @@ public class YangUtils { * @param schemaContext the SchemaContext for the given data * @return the NormalizedNode representing the json data */ - public static NormalizedNode parseJsonData(final String jsonData, final SchemaContext schemaContext) - throws IOException { + public static NormalizedNode parseJsonData(final String jsonData, final SchemaContext schemaContext) { final JSONCodecFactory jsonCodecFactory = JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02 .getShared(schemaContext); final NormalizedNodeResult normalizedNodeResult = new NormalizedNodeResult(); final NormalizedNodeStreamWriter normalizedNodeStreamWriter = ImmutableNormalizedNodeStreamWriter .from(normalizedNodeResult); - try (final JsonParserStream jsonParserStream = JsonParserStream - .create(normalizedNodeStreamWriter, jsonCodecFactory)) { - final JsonReader jsonReader = new JsonReader(new StringReader(jsonData)); - jsonParserStream.parse(jsonReader); + try { + try (final JsonParserStream jsonParserStream = JsonParserStream + .create(normalizedNodeStreamWriter, jsonCodecFactory)) { + final JsonReader jsonReader = new JsonReader(new StringReader(jsonData)); + jsonParserStream.parse(jsonReader); + } + } catch (final IOException e) { + throw new DataValidationException("Failed to parse json data.", String + .format("Exception occurred on parsing string %s.", jsonData), e); } return normalizedNodeResult.getResult(); } |