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

ReactiveVaultTemplate for the key-value backend version 2 #576

Closed
amrynsky opened this issue Aug 24, 2020 · 13 comments
Closed

ReactiveVaultTemplate for the key-value backend version 2 #576

amrynsky opened this issue Aug 24, 2020 · 13 comments
Assignees
Labels
status: ideal-for-contribution An issue that a contributor can help us with type: enhancement A general enhancement
Milestone

Comments

@amrynsky
Copy link

It would be great if ReactiveVaultTemplate supports KV backend v2 similar to non-reactive version.

As a workaround, it's possible to use the current client and just add data to the path and wrap all POJO into data element but having built-in support would simplify v1->v2 migration.

@mp911de
Copy link
Member

mp911de commented Aug 31, 2020

Feel free to submit a pull request. We initially didn't provide any higher-level API as we waited for signals how/whether the reactive API will be used.

@cantaylancapraz
Copy link

Any plan on this issue?

@tweiand
Copy link
Contributor

tweiand commented Mar 24, 2023

Working on a PR for the reactive versioned/unversioned key-value operations (I can potentially work on the other operations classes after I am done with this). Seems pretty straight forward.

I am starting to collect some questions. Is this enhancement the right place to ask questions until I get a PR created?

@mp911de
Copy link
Member

mp911de commented Mar 27, 2023

Great news, @tweiand. This is the right place to discuss design and questions.

@tweiand
Copy link
Contributor

tweiand commented Apr 17, 2023

Started putting code in the enhancement-576 branch of my fork. Unit tests are created and working for V1. Have not been able to look into this for a few weeks, but, hopefully will have more time now.

Here is my current plan:

  • Port the imperative code to be reactive
  • Fix my current initialization of ObjectiveMapper in ReactiveVaultKeyValueAccessor
  • Cleanup of code & work on JavaDocs and attribution

@mp911de
Copy link
Member

mp911de commented Apr 19, 2023

Thanks for the update. Please note that we've upgraded Spring Javaformat which might require a rebase on your side to avoid merge conflicts caused by an updated code format.

@tweiand
Copy link
Contributor

tweiand commented May 3, 2023

Update on this: I have integration tests for the new code and they are all passing. All JSON parsing done with WebClient, no extra ObjectMapper needed. I am not ready for a review yet, but, I am good with people starting to look at the code with the assumption that things will be changing.

Left to do before requesting review:

  • Ensure code coverage & static analysis (both unit and integration tests)
  • Reduce/Remove duplicate code
  • Finish reviewing changes for new APIs
  • Update all JavaDocs
  • Rebase for Spring Javaformat

General comments so far about the repo:

  • Thank you for making new tests easy!
  • Some fun gems in here for dynamically creating generic Types

@tweiand
Copy link
Contributor

tweiand commented May 13, 2023

I plan on having a MR ready for review at the end of the week.

@tweiand
Copy link
Contributor

tweiand commented May 25, 2023

Finding time to complete this. Had other priorities pop up😀

@tweiand
Copy link
Contributor

tweiand commented Jun 10, 2023

Still working on this, but, away from my laptop for two weeks.

@tweiand
Copy link
Contributor

tweiand commented Jul 20, 2023

May I please get initial feedback on #807? It still needs work on the java docs and maybe some code deduplication. Wanted to get the conversation started.

@tweiand
Copy link
Contributor

tweiand commented Aug 3, 2023

Hey all! Can I please get an initial review of #807 please? Once I have the initial feedback I can finish this up.

@mp911de
Copy link
Member

mp911de commented Aug 10, 2023

I've been on vacation for the past weeks and I'll have a look in the next days.

@mp911de mp911de self-assigned this Aug 10, 2023
@mp911de mp911de linked a pull request Sep 25, 2023 that will close this issue
mp911de added a commit that referenced this issue Sep 25, 2023
Align Object Mapping with imperative approach. Refactor read methods to improve empty handling without the use of exceptions. Revert code reorganization. Improve encapsulation.

Reformat code. Simplify tests.

See gh-576
Original pull request: gh-807
@mp911de mp911de changed the title ReactiveVaultTemplate for the key-value backend version 2 ReactiveVaultTemplate for the key-value backend version 2 Sep 25, 2023
@mp911de mp911de added this to the 3.1.0-M1 milestone Sep 25, 2023
mp911de added a commit that referenced this issue Sep 25, 2023
Align Object Mapping with imperative approach. Refactor read methods to improve empty handling without the use of exceptions. Revert code reorganization. Improve encapsulation.

Reformat code. Simplify tests.

See gh-576
Original pull request: gh-807
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: ideal-for-contribution An issue that a contributor can help us with type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants