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 2013/05/21 23:55:30 UTC

svn commit: r1484988 - in /cxf/branches/2.6.x-fixes: ./ rt/rs/security/cors/src/main/java/org/apache/cxf/rs/security/cors/CrossOriginResourceSharingFilter.java

Author: sergeyb
Date: Tue May 21 21:55:29 2013
New Revision: 1484988

URL: http://svn.apache.org/r1484988
Log:
Merged revisions 1484982 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes

........
  r1484982 | sergeyb | 2013-05-21 22:50:00 +0100 (Tue, 21 May 2013) | 1 line
  
  Fixing CORS test on 2.7.x
........

Modified:
    cxf/branches/2.6.x-fixes/   (props changed)
    cxf/branches/2.6.x-fixes/rt/rs/security/cors/src/main/java/org/apache/cxf/rs/security/cors/CrossOriginResourceSharingFilter.java

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/branches/2.7.x-fixes:r1484982

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.6.x-fixes/rt/rs/security/cors/src/main/java/org/apache/cxf/rs/security/cors/CrossOriginResourceSharingFilter.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/rs/security/cors/src/main/java/org/apache/cxf/rs/security/cors/CrossOriginResourceSharingFilter.java?rev=1484988&r1=1484987&r2=1484988&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/rs/security/cors/src/main/java/org/apache/cxf/rs/security/cors/CrossOriginResourceSharingFilter.java (original)
+++ cxf/branches/2.6.x-fixes/rt/rs/security/cors/src/main/java/org/apache/cxf/rs/security/cors/CrossOriginResourceSharingFilter.java Tue May 21 21:55:29 2013
@@ -90,19 +90,19 @@ public class CrossOriginResourceSharingF
     private boolean defaultOptionsMethodsHandlePreflight;
     
     
-    private <T extends Annotation> T  getAnnotation(OperationResourceInfo ori,
+    private <T extends Annotation> T  getAnnotation(Method m,
                                                     Class<T> annClass) {
-        if (ori == null) {
+        if (m == null) {
             return null;
         }
         return ReflectionUtil.getAnnotationForMethodOrContainingClass(
-             ori.getAnnotatedMethod(),  annClass);
+             m,  annClass);
     }
 
     public Response handleRequest(Message m, ClassResourceInfo resourceClass) {
         OperationResourceInfo opResInfo = m.getExchange().get(OperationResourceInfo.class);
-        CrossOriginResourceSharing annotation = 
-            getAnnotation(opResInfo, CrossOriginResourceSharing.class);
+        CrossOriginResourceSharing annotation = opResInfo == null ? null 
+            : getAnnotation(opResInfo.getAnnotatedMethod(), CrossOriginResourceSharing.class);
         
         if ("OPTIONS".equals(m.get(Message.HTTP_REQUEST_METHOD))) {
             return preflightRequest(m, annotation, opResInfo, resourceClass);
@@ -196,8 +196,8 @@ public class CrossOriginResourceSharingF
          * has one of our annotations on it (or its parent class) indicating 'localPreflight' --
          * or the defaultOptionsMethodsHandlePreflight flag is true.
          */
-        LocalPreflight preflightAnnotation = 
-            getAnnotation(opResInfo, LocalPreflight.class);
+        LocalPreflight preflightAnnotation = opResInfo == null ? null 
+            : getAnnotation(opResInfo.getAnnotatedMethod(), LocalPreflight.class);
         if (preflightAnnotation != null || defaultOptionsMethodsHandlePreflight) { 
             m.put(LOCAL_PREFLIGHT, "true");
             m.put(LOCAL_PREFLIGHT_ORIGIN, origin);
@@ -205,7 +205,7 @@ public class CrossOriginResourceSharingF
             return null; // let the resource method take all responsibility.
         }
         
-        CrossOriginResourceSharing ann = method.getAnnotation(CrossOriginResourceSharing.class);
+        CrossOriginResourceSharing ann = getAnnotation(method, CrossOriginResourceSharing.class);
         ann = ann == null ? corsAnn : ann;
         
         /* We aren't required to have any annotation at all. If no annotation,