-
Notifications
You must be signed in to change notification settings - Fork 579
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
Refactor protocol-jackson to use the new immutable protocol #8973
Conversation
80e2287
to
e0b2df0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @npepinpe LGTM 🍸
As I had already reviewed this, I haven't got much new to say. Please have a look at my suggestions.
protocol-jackson/src/main/java/io/camunda/zeebe/protocol/jackson/RecordMixin.java
Show resolved
Hide resolved
protocol-jackson/src/main/java/io/camunda/zeebe/protocol/jackson/ZeebeProtocolModule.java
Outdated
Show resolved
Hide resolved
protocol-jackson/src/main/java/io/camunda/zeebe/protocol/jackson/ZeebeProtocolModule.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👏 LGTM
protocol-jackson/src/main/java/io/camunda/zeebe/protocol/jackson/AnnotationIntrospector.java
Show resolved
Hide resolved
d8b0176
to
8078a32
Compare
fdc7ce1
to
c1d8ac5
Compare
Removes the old immutable `protocol-jackson`, and use the new one found directly in the `protocol` module. This completely changes how the module is used. The API is now to create a new `ObjectMapper` and register an instance of `ZeebeProtocolModule`, which knows how to serialize and deserialize records using the new immutable protocol. This is achieved by reusing the mapping utilities found in `protocol-util`.
c1d8ac5
to
854127d
Compare
bors merge |
8973: Refactor protocol-jackson to use the new immutable protocol r=npepinpe a=npepinpe ## Description This PR updates the `protocol-jackson` module to make use of the new immutable protocol classes in `protocol`, using the `protocol-util` module to discover and map the abstract and concrete types together. As mentioned in the issue, the tests are somewhat minimal, but will be fleshed out as soon as the record factory is added in the next step. ## Related issues related to #8837 Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Build failed: |
Description
This PR updates the
protocol-jackson
module to make use of the new immutable protocol classes inprotocol
, using theprotocol-util
module to discover and map the abstract and concrete types together. As mentioned in the issue, the tests are somewhat minimal, but will be fleshed out as soon as the record factory is added in the next step.Related issues
related to #8837
Definition of Done
Not all items need to be done depending on the issue and the pull request.
Code changes:
backport stable/1.3
) to the PR, in case that fails you need to create backports manually.Testing:
Documentation: