aboutsummaryrefslogtreecommitdiffstats
path: root/utils/src/main/java/org/onap/policy/common
diff options
context:
space:
mode:
Diffstat (limited to 'utils/src/main/java/org/onap/policy/common')
-rw-r--r--utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java27
1 files changed, 22 insertions, 5 deletions
diff --git a/utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java b/utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java
index 7f5e3b85..3b4f3c23 100644
--- a/utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java
+++ b/utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java
@@ -1,8 +1,8 @@
-/*
+/*-
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -40,6 +40,7 @@ import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.onap.policy.common.gson.DoubleConverter;
import org.onap.policy.common.gson.GsonMessageBodyHandler;
@@ -341,8 +342,17 @@ public class StandardCoder implements Coder {
* @param json json string to be decoded
* @param clazz class of object to be decoded
* @return the object represented by the given json string
+ * @throws CoderException if the source is empty
*/
- protected <T> T fromJson(String json, Class<T> clazz) {
+ protected <T> T fromJson(String json, Class<T> clazz) throws CoderException {
+ if (json == null) {
+ return null;
+ }
+
+ if (StringUtils.isBlank(json)) {
+ throw new CoderException("source string is empty");
+ }
+
return convertFromDouble(clazz, gson.fromJson(json, clazz));
}
@@ -352,9 +362,16 @@ public class StandardCoder implements Coder {
* @param source source from which to read the json string to be decoded
* @param clazz class of object to be decoded
* @return the object represented by the given json string
+ * @throws CoderException if the source is empty
*/
- protected <T> T fromJson(Reader source, Class<T> clazz) {
- return convertFromDouble(clazz, gson.fromJson(source, clazz));
+ protected <T> T fromJson(Reader source, Class<T> clazz) throws CoderException {
+ T object = gson.fromJson(source, clazz);
+
+ if (object == null) {
+ throw new CoderException("source is empty");
+ }
+
+ return convertFromDouble(clazz, object);
}
/**