summaryrefslogtreecommitdiffstats
path: root/cps-service/src/main/java/org/onap/cps/utils/YangUtils.java
diff options
context:
space:
mode:
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.java17
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();
}