diff options
author | Jim Hahn <jrh3@att.com> | 2020-04-03 09:44:26 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2020-04-06 09:41:59 -0400 |
commit | a56d3929f2387252525577fb36f9e03933064b8f (patch) | |
tree | 4b671549b5f1c0513c31d77baa19821e422f41e7 /utils/src/main/java/org/onap/policy/common/utils/coder/StandardCoder.java | |
parent | 7da3ddfa40de2f683a2d423d62b78a8d001108eb (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.java | 50 |
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)); } /** |