You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2011/11/21 20:43:33 UTC

svn commit: r1204665 - /cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/IssuedTokenInterceptorProvider.java

Author: dkulp
Date: Mon Nov 21 19:43:33 2011
New Revision: 1204665

URL: http://svn.apache.org/viewvc?rev=1204665&view=rev
Log:
Check a message property for the token if caching on the endpoint is
turned off.  Avoid a synchronized block if the TokenStore is available.

Modified:
    cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/IssuedTokenInterceptorProvider.java

Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/IssuedTokenInterceptorProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/IssuedTokenInterceptorProvider.java?rev=1204665&r1=1204664&r2=1204665&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/IssuedTokenInterceptorProvider.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/IssuedTokenInterceptorProvider.java Mon Nov 21 19:43:33 2011
@@ -89,8 +89,7 @@ public class IssuedTokenInterceptorProvi
         this.getInFaultInterceptors().add(new IssuedTokenInInterceptor());
     }
     
-    
-    static final TokenStore getTokenStore(Message message) {
+    static final TokenStore createTokenStore(Message message) {
         EndpointInfo info = message.getExchange().get(Endpoint.class).getEndpointInfo();
         synchronized (info) {
             TokenStore tokenStore = (TokenStore)message.getContextualProperty(TokenStore.class.getName());
@@ -101,8 +100,15 @@ public class IssuedTokenInterceptorProvi
                 tokenStore = new MemoryTokenStore();
                 info.setProperty(TokenStore.class.getName(), tokenStore);
             }
-            return tokenStore;
+            return tokenStore; 
+        }
+    }
+    static final TokenStore getTokenStore(Message message) {
+        TokenStore tokenStore = (TokenStore)message.getContextualProperty(TokenStore.class.getName());
+        if (tokenStore == null) {
+            tokenStore = createTokenStore(message);
         }
+        return tokenStore;
     }
 
     static class IssuedTokenOutInterceptor extends AbstractPhaseInterceptor<Message> {
@@ -247,6 +253,14 @@ public class IssuedTokenInterceptorProvi
                         tok = getTokenStore(message).getToken(tokId);
                     }
                 }
+            } else {
+                tok = (SecurityToken)message.get(SecurityConstants.TOKEN);
+                if (tok == null) {
+                    String tokId = (String)message.get(SecurityConstants.TOKEN_ID);
+                    if (tokId != null) {
+                        tok = getTokenStore(message).getToken(tokId);
+                    }
+                }
             }
             return tok;
         }