You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2015/04/02 12:36:51 UTC

cxf git commit: [CXF-6321] Post-match request filters can only be applied once to the final resource methods

Repository: cxf
Updated Branches:
  refs/heads/master 12d070f43 -> 553f1a8c7


[CXF-6321] Post-match request filters can only be applied once to the final resource methods


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/553f1a8c
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/553f1a8c
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/553f1a8c

Branch: refs/heads/master
Commit: 553f1a8c7f90090991d696ea6679fce53705b2fc
Parents: 12d070f
Author: Sergey Beryozkin <sb...@talend.com>
Authored: Thu Apr 2 11:36:32 2015 +0100
Committer: Sergey Beryozkin <sb...@talend.com>
Committed: Thu Apr 2 11:36:32 2015 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java    | 10 +++++-----
 .../cxf/jaxrs/interceptor/JAXRSInInterceptor.java       | 12 ++++++------
 .../java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java     |  3 +--
 3 files changed, 12 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/553f1a8c/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java
index 9cba371..086300d 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSInvoker.java
@@ -255,11 +255,11 @@ public class JAXRSInvoker extends AbstractInvoker {
                 exchange.put(OperationResourceInfo.class, subOri);
                 inMessage.put(URITemplate.TEMPLATE_PARAMETERS, values);
             
-                if (JAXRSUtils.runContainerRequestFilters(providerFactory,
-                                                      inMessage,
-                                                      false, 
-                                                      subOri.getNameBindings(),
-                                                      true)) {
+                if (!subOri.isSubResourceLocator()
+                    && JAXRSUtils.runContainerRequestFilters(providerFactory,
+                                                             inMessage,
+                                                             false, 
+                                                             subOri.getNameBindings())) {
                     return new MessageContentsList(exchange.get(Response.class));
                 }
                 

http://git-wip-us.apache.org/repos/asf/cxf/blob/553f1a8c/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java
index 921c44c..e32f05c 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java
@@ -103,7 +103,7 @@ public class JAXRSInInterceptor extends AbstractPhaseInterceptor<Message> {
         }
         
         // Global pre-match request filters
-        if (JAXRSUtils.runContainerRequestFilters(providerFactory, message, true, null, false)) {
+        if (JAXRSUtils.runContainerRequestFilters(providerFactory, message, true, null)) {
             return;
         }
         // HTTP method
@@ -198,11 +198,11 @@ public class JAXRSInInterceptor extends AbstractPhaseInterceptor<Message> {
         }
         
         // Global and name-bound post-match request filters
-        if (JAXRSUtils.runContainerRequestFilters(providerFactory,
-                                                  message,
-                                                  false, 
-                                                  ori.getNameBindings(),
-                                                  false)) {
+        if (!ori.isSubResourceLocator()
+            && JAXRSUtils.runContainerRequestFilters(providerFactory,
+                                                      message,
+                                                      false, 
+                                                      ori.getNameBindings())) {
             return;
         }
         

http://git-wip-us.apache.org/repos/asf/cxf/blob/553f1a8c/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
index c3dec62..3aac1a0 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
@@ -1635,8 +1635,7 @@ public final class JAXRSUtils {
     public static boolean runContainerRequestFilters(ServerProviderFactory pf, 
                                                      Message m, 
                                                      boolean preMatch, 
-                                                     Set<String> names,
-                                                     boolean sub) {
+                                                     Set<String> names) {
         List<ProviderInfo<ContainerRequestFilter>> containerFilters = preMatch 
             ? pf.getPreMatchContainerRequestFilters() : pf.getPostMatchContainerRequestFilters(names);
         if (!containerFilters.isEmpty()) {