[2.x] Fix CORS annotation handling error in certain cases #5102
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #5094
Previously the CORS extension used a
ProcessAnnotatedType
observer tuned to@CrossOrigin
to record theAnnotatedType
instances with that annotation.Then, later, a
ProcessManagedBean
observer would check to see if theAnnotatedType
associated with the bean had been recorded earlier. If not, that observer would skip processing the bean.But, if some extension had altered the
AnnotatedType
then the specificAnnotatedType
instance passed to the PMB observer would not match the instance passed to the PAT observer (and recorded in the CORS extension's data structure). So the PMB logic would incorrectly skip the altered bean.This PR removes the data structure and the PAT observer entirely. The extension now simply traverses each method of each managed bean, checking for the
@CrossOrigin
annotation and, if present, processing it.Signed-off-by: tim.quinn@oracle.com tim.quinn@oracle.com