aboutsummaryrefslogtreecommitdiffstats
path: root/utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2020-04-03 09:44:26 -0400
committerJim Hahn <jrh3@att.com>2020-04-06 09:41:59 -0400
commita56d3929f2387252525577fb36f9e03933064b8f (patch)
tree4b671549b5f1c0513c31d77baa19821e422f41e7 /utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java
parent7da3ddfa40de2f683a2d423d62b78a8d001108eb (diff)
Address sonar issues in common
Addressed the following sonar issues: - missing assertion in junit test case - disable sonars about setAccessible() as it's required for jackson emulation - sleep in junit - don't use wild-cards (e.g., "*") with java.util Pattern - use re2j instead of java.util Pattern - use String methods (e.g., startsWith()) - duplicate method bodies - duplicate code in Coder classes - string concatenation in logger calls - UTF-8 encoding - return primitive instead of boxed primitive - add assertion to tests - renamed support methods from doTestXxx to verifyXxx - cognitive complexity - use AtomicRef instead of volatile - use specific Functionals (e.g., IntConsumer) - function always returns the same value - serializable vs transient Issue-ID: POLICY-2305 Change-Id: I08eb7aa495a80bdc1d26827ba17a7946c83b9828 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java')
-rw-r--r--utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java50
1 files changed, 32 insertions, 18 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 2548dea4..7f5e3b85 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
@@ -40,8 +40,6 @@ import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
-import lombok.AccessLevel;
-import lombok.Getter;
import org.onap.policy.common.gson.DoubleConverter;
import org.onap.policy.common.gson.GsonMessageBodyHandler;
@@ -53,28 +51,44 @@ public class StandardCoder implements Coder {
/**
* Gson object used to encode and decode messages.
*/
- @Getter(AccessLevel.PROTECTED)
- private static final Gson GSON;
+ private static final Gson GSON_STD;
/**
* Gson object used to encode messages in "pretty" format.
*/
- @Getter(AccessLevel.PROTECTED)
- private static final Gson GSON_PRETTY;
+ private static final Gson GSON_STD_PRETTY;
static {
GsonBuilder builder = GsonMessageBodyHandler.configBuilder(
new GsonBuilder().registerTypeAdapter(StandardCoderObject.class, new StandardTypeAdapter()));
- GSON = builder.create();
- GSON_PRETTY = builder.setPrettyPrinting().create();
+ GSON_STD = builder.create();
+ GSON_STD_PRETTY = builder.setPrettyPrinting().create();
}
/**
+ * Gson object used to encode and decode messages.
+ */
+ protected final Gson gson;
+
+ /**
+ * Gson object used to encode messages in "pretty" format.
+ */
+ protected final Gson gsonPretty;
+
+ /**
* Constructs the object.
*/
public StandardCoder() {
- super();
+ this(GSON_STD, GSON_STD_PRETTY);
+ }
+
+ /**
+ * Constructs the object.
+ */
+ protected StandardCoder(Gson gson, Gson gsonPretty) {
+ this.gson = gson;
+ this.gsonPretty = gsonPretty;
}
@Override
@@ -213,13 +227,13 @@ public class StandardCoder implements Coder {
* @return the encoded object
*/
protected String toPrettyJson(Object object) {
- return GSON_PRETTY.toJson(object);
+ return gsonPretty.toJson(object);
}
@Override
public StandardCoderObject toStandard(Object object) throws CoderException {
try {
- return new StandardCoderObject(GSON.toJsonTree(object));
+ return new StandardCoderObject(gson.toJsonTree(object));
} catch (RuntimeException e) {
throw new CoderException(e);
@@ -229,7 +243,7 @@ public class StandardCoder implements Coder {
@Override
public <T> T fromStandard(StandardCoderObject sco, Class<T> clazz) throws CoderException {
try {
- return GSON.fromJson(sco.getData(), clazz);
+ return gson.fromJson(sco.getData(), clazz);
} catch (RuntimeException e) {
throw new CoderException(e);
@@ -287,7 +301,7 @@ public class StandardCoder implements Coder {
* @return a json element representing the object
*/
protected JsonElement toJsonTree(Object object) {
- return GSON.toJsonTree(object);
+ return gson.toJsonTree(object);
}
/**
@@ -297,7 +311,7 @@ public class StandardCoder implements Coder {
* @return a json string representing the object
*/
protected String toJson(Object object) {
- return GSON.toJson(object);
+ return gson.toJson(object);
}
/**
@@ -307,7 +321,7 @@ public class StandardCoder implements Coder {
* @param object object to be encoded
*/
protected void toJson(Writer target, Object object) {
- GSON.toJson(object, object.getClass(), target);
+ gson.toJson(object, object.getClass(), target);
}
/**
@@ -318,7 +332,7 @@ public class StandardCoder implements Coder {
* @return the object represented by the given json element
*/
protected <T> T fromJson(JsonElement json, Class<T> clazz) {
- return convertFromDouble(clazz, GSON.fromJson(json, clazz));
+ return convertFromDouble(clazz, gson.fromJson(json, clazz));
}
/**
@@ -329,7 +343,7 @@ public class StandardCoder implements Coder {
* @return the object represented by the given json string
*/
protected <T> T fromJson(String json, Class<T> clazz) {
- return convertFromDouble(clazz, GSON.fromJson(json, clazz));
+ return convertFromDouble(clazz, gson.fromJson(json, clazz));
}
/**
@@ -340,7 +354,7 @@ public class StandardCoder implements Coder {
* @return the object represented by the given json string
*/
protected <T> T fromJson(Reader source, Class<T> clazz) {
- return convertFromDouble(clazz, GSON.fromJson(source, clazz));
+ return convertFromDouble(clazz, gson.fromJson(source, clazz));
}
/**