Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce the MergeOption class #89

Merged
merged 3 commits into from
Jul 22, 2022
Merged

Introduce the MergeOption class #89

merged 3 commits into from
Jul 22, 2022

Conversation

oswaldobapvicjr
Copy link
Owner

@oswaldobapvicjr oswaldobapvicjr commented Jul 21, 2022

This push introduces the following enhancements:

  • New MergeOption marker interface
  • New concrete JsonMergeOption to allow setting the pair of distinct key and path, for advanced merging of arrays
  • Make JSON merge objects thread-safe by moving from holding instance object distinctKeys to accepting a var-args of MergeOption as a method parameter
  • Add a new Configurion.merge(Configurtion, MergeOption[]) method for advanced options

@oswaldobapvicjr oswaldobapvicjr self-assigned this Jul 21, 2022
@oswaldobapvicjr oswaldobapvicjr added enhancement New feature or request 2.x The target Confectory version labels Jul 21, 2022
@codecov
Copy link

codecov bot commented Jul 22, 2022

Codecov Report

Merging #89 (62e03c8) into master (15d76e7) will increase coverage by 0.22%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master      #89      +/-   ##
============================================
+ Coverage     99.02%   99.24%   +0.22%     
- Complexity      489      492       +3     
============================================
  Files            68       69       +1     
  Lines           923      929       +6     
  Branches         70       70              
============================================
+ Hits            914      922       +8     
+ Misses            7        5       -2     
  Partials          2        2              
Impacted Files Coverage Δ
...nfectory/merger/PropertiesConfigurationMerger.java 100.00% <ø> (ø)
...c/main/java/net/obvj/confectory/Configuration.java 100.00% <100.00%> (ø)
...confectory/merger/AbstractConfigurationMerger.java 100.00% <100.00%> (ø)
...fectory/merger/GenericJsonConfigurationMerger.java 98.61% <100.00%> (ø)
...nfectory/merger/JSONObjectConfigurationMerger.java 100.00% <100.00%> (ø)
...va/net/obvj/confectory/merger/JsonMergeOption.java 100.00% <100.00%> (ø)
...ain/java/net/obvj/confectory/util/StringUtils.java 100.00% <100.00%> (ø)
...tory/merger/GsonJsonObjectConfigurationMerger.java 100.00% <100.00%> (ø)
...ory/merger/JacksonJsonNodeConfigurationMerger.java 100.00% <100.00%> (ø)
...y/merger/JsonOrgJSONObjectConfigurationMerger.java 100.00% <100.00%> (ø)

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 15d76e7...62e03c8. Read the comment docs.

@oswaldobapvicjr oswaldobapvicjr merged commit a42d2bf into master Jul 22, 2022
@oswaldobapvicjr oswaldobapvicjr deleted the issue/0089 branch July 22, 2022 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.x The target Confectory version enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant