jedis icon indicating copy to clipboard operation
jedis copied to clipboard

Made GSON dependency optional

Open sebdehne opened this issue 2 years ago • 3 comments

As suggested in https://github.com/redis/jedis/issues/2961

sebdehne avatar Mar 30 '22 06:03 sebdehne

Codecov Report

Merging #2962 (d3a4988) into master (69c751d) will increase coverage by 0.11%. The diff coverage is 0.00%.

:exclamation: Current head d3a4988 differs from pull request most recent head c8eb2ac. Consider uploading reports for the commit c8eb2ac to get more accurate results

@@             Coverage Diff              @@
##             master    #2962      +/-   ##
============================================
+ Coverage     52.30%   52.42%   +0.11%     
+ Complexity     3344     3342       -2     
============================================
  Files           218      220       +2     
  Lines         13608    13593      -15     
  Branches        781      783       +2     
============================================
+ Hits           7118     7126       +8     
+ Misses         6245     6220      -25     
- Partials        245      247       +2     
Impacted Files Coverage Δ
.../main/java/redis/clients/jedis/CommandObjects.java 64.24% <0.00%> (+0.76%) :arrow_up:
.../java/redis/clients/jedis/json/util/JsonUtils.java 0.00% <0.00%> (ø)
...a/redis/clients/jedis/json/util/JsonUtilsGson.java 0.00% <0.00%> (ø)
src/main/java/redis/clients/jedis/Protocol.java 88.12% <0.00%> (-1.25%) :arrow_down:
...in/java/redis/clients/jedis/json/JsonProtocol.java 0.00% <0.00%> (ø)
.../java/redis/clients/jedis/graph/GraphProtocol.java 0.00% <0.00%> (ø)
src/main/java/redis/clients/jedis/Pipeline.java 7.81% <0.00%> (+<0.01%) :arrow_up:
...main/java/redis/clients/jedis/TransactionBase.java 11.33% <0.00%> (+0.01%) :arrow_up:
...ava/redis/clients/jedis/MultiNodePipelineBase.java 21.70% <0.00%> (+0.02%) :arrow_up:
.../main/java/redis/clients/jedis/BuilderFactory.java 67.04% <0.00%> (+0.71%) :arrow_up:
... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 69c751d...c8eb2ac. Read the comment docs.

codecov-commenter avatar Mar 31 '22 06:03 codecov-commenter

It make sense to expose the interface for setting the JSON serialization method. Allows users to customize the serialization implementation. Not just only Gson/Jackson

Added public getter/setter.

I am not a huge fan of this static stuff (JsonTools should preferably be configured as part of JedisConfiguration), but that would require a larger change. As the PR is now, it is more aligned with the current way of doing it.

sebdehne avatar Mar 31 '22 06:03 sebdehne

@sazzad16 I moved the code to the package you suggested and remove Jackson. I have not spent the time to setup a complete test environment (yet). Maybe if you need further changes with regards to tests, you could supplement those? Thanks Would be nice to get this through, as I am currently unable to upgrade to 4.x

sebdehne avatar Apr 06 '22 16:04 sebdehne

Closing in favor of #3223

sazzad16 avatar Feb 27 '23 16:02 sazzad16