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

Arc - implement support for transitive interceptor bindings. #2583

Merged
merged 1 commit into from
May 29, 2019

Conversation

manovotn
Copy link
Contributor

Provide tests for one/two levels deep bindings on both, methods and classes.

Resolves #2560

@manovotn
Copy link
Contributor Author

@mkouba what about now?
I've move the magical constant to io.quarkus.arc.processor.Annotations since that seems to be helper class already and it was now used in two places.

I've altered how we look for transitive bindings - it is now aligned with CDI and only takes into consideration annotations that are bindings themselves. And I've of course added tests for that.

@manovotn manovotn force-pushed the issue2560 branch 5 times, most recently from 8b543c2 to 8e69f27 Compare May 28, 2019 12:41
@manovotn
Copy link
Contributor Author

manovotn commented May 28, 2019

  • Reworked whole transitive binding map caching, we now use Map<DotName, Set<AnnotationInstance>>
  • Interceptors themselves now allow for transitive bindings (see TransitiveCounterInterceptor in tests)
  • We now use AnnotationStore while building up the map and when creating new interceptors to have up-to-date information on annotations which could have been changed via transformers (see TransitiveInterceptionWithTransformerApplicationTest which should verify that transformer changes are applied)

@manovotn manovotn requested a review from mkouba May 28, 2019 12:53
Copy link
Contributor

@mkouba mkouba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added one minor comment but otherwise looks really good!

@manovotn manovotn marked this pull request as ready for review May 28, 2019 13:17
Provide tests for one/two levels deep bindings on both, methods and classes.
@manovotn
Copy link
Contributor Author

@mkouba addressed your comment

@mkouba mkouba added the triage/waiting-for-ci Ready to merge when CI successfully finishes label May 28, 2019
@stuartwdouglas stuartwdouglas merged commit a1272b3 into quarkusio:master May 29, 2019
@stuartwdouglas stuartwdouglas added this to the 0.16.0 milestone May 29, 2019
@manovotn manovotn deleted the issue2560 branch January 10, 2024 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage/waiting-for-ci Ready to merge when CI successfully finishes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MP rest client interfaces do not support MP FT annotations
3 participants