[ 
https://issues.apache.org/jira/browse/CXF-7367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Beryozkin resolved CXF-7367.
-----------------------------------
    Resolution: Cannot Reproduce
      Assignee: Sergey Beryozkin

> PostMatching filters not invoked for subresources
> -------------------------------------------------
>
>                 Key: CXF-7367
>                 URL: https://issues.apache.org/jira/browse/CXF-7367
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.1.11
>            Reporter: Rémi Aubel
>            Assignee: Sergey Beryozkin
>
> PreMatching filters are always called, whatever the resource behind.
> But PostMatching are called only for root resources.
> Given the three classes below (resource, subresource and filter), the filter 
> is invoked only for the resource ({{/app}}), but it is not for the 
> subresource ({{/app/nav}}).
> {code:title=ApplicationController.java|borderStyle=solid}
> @Path("app")
> @Produces(MediaType.APPLICATION_JSON)
> @Consumes(MediaType.APPLICATION_JSON)
> public class ApplicationController {
>       @Context
>       private ResourceContext resourceContext;
>       public ApplicationController() {}
>       @GET
>       public Resource getApplicationInfo() {
>               return getResource();
>       }
>       @Path("nav")
>       public NavigationDrawerController getNavigationDrawer() {
>               return resourceContext.initResource(new 
> NavigationDrawerController());
>       }
> }
> {code}
> {code:title=NavigationDrawerController.java|borderStyle=solid}
> @Produces(MediaType.APPLICATION_JSON)
> @Consumes(MediaType.APPLICATION_JSON)
> public class NavigationDrawerController {
>       @GET
>       public Resource getNavigationDrawerInfo() {
>               return getResource();
>       }
> }
> {code}
> {code:title=AuthenticationJaxrsFilter.java|borderStyle=solid}
> @Provider
> @Priority(Priorities.AUTHENTICATION + 1)
> public class AuthenticationJaxrsFilter implements ContainerRequestFilter {
>       @Override
>       public void filter(ContainerRequestContext context) throws IOException {
>               System.out.println("AuthenticationServletFilter triggered");
>       }
> }
> {code}
> If I add the {{@PreMatching}} annotation to the filter, it is called in both 
> cases.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to