Author: coheigea
Date: Wed Apr 3 13:49:58 2013
New Revision: 1464010
URL: http://svn.apache.org/r1464010
Log:
Update following WSS4J merge
Removed:
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheManagerHolder.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCacheFactory.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/MemoryReplayCacheFactory.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/ReplayCacheFactory.java
Modified:
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/CacheCleanupListener.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/TokenStoreFactory.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/UsernameTokenInterceptor.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java
Modified:
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/CacheCleanupListener.java
URL:
http://svn.apache.org/viewvc/cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/CacheCleanupListener.java?rev=1464010&r1=1464009&r2=1464010&view=diff
==============================================================================
---
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/CacheCleanupListener.java
(original)
+++
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/CacheCleanupListener.java
Wed Apr 3 13:49:58 2013
@@ -29,7 +29,7 @@ import org.apache.cxf.endpoint.ServerLif
import org.apache.cxf.service.model.EndpointInfo;
import org.apache.cxf.ws.security.SecurityConstants;
import org.apache.cxf.ws.security.tokenstore.TokenStore;
-import org.apache.wss4j.dom.cache.ReplayCache;
+import org.apache.wss4j.common.cache.ReplayCache;
/**
*
Modified:
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java
URL:
http://svn.apache.org/viewvc/cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java?rev=1464010&r1=1464009&r2=1464010&view=diff
==============================================================================
---
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java
(original)
+++
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java
Wed Apr 3 13:49:58 2013
@@ -37,7 +37,7 @@ import org.apache.cxf.Bus;
import org.apache.cxf.buslifecycle.BusLifeCycleListener;
import org.apache.cxf.buslifecycle.BusLifeCycleManager;
import org.apache.cxf.common.util.StringUtils;
-import org.apache.cxf.ws.security.cache.EHCacheManagerHolder;
+import org.apache.wss4j.common.cache.EHCacheManagerHolder;
/**
* An in-memory EHCache implementation of the TokenStore interface. The
default TTL is 60 minutes
@@ -59,7 +59,7 @@ public class EHCacheTokenStore implement
b.getExtension(BusLifeCycleManager.class).registerLifeCycleListener(this);
}
- cacheManager = EHCacheManagerHolder.getCacheManager(bus,
configFileURL);
+ cacheManager = EHCacheManagerHolder.getCacheManager(configFileURL);
// Cannot overflow to disk as SecurityToken Elements can't be
serialized
CacheConfiguration cc =
EHCacheManagerHolder.getCacheConfiguration(key, cacheManager);
cc.overflowToDisk(false); //tokens not writable
Modified:
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/TokenStoreFactory.java
URL:
http://svn.apache.org/viewvc/cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/TokenStoreFactory.java?rev=1464010&r1=1464009&r2=1464010&view=diff
==============================================================================
---
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/TokenStoreFactory.java
(original)
+++
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/TokenStoreFactory.java
Wed Apr 3 13:49:58 2013
@@ -26,7 +26,6 @@ import org.apache.cxf.common.classloader
import org.apache.cxf.message.Message;
import org.apache.cxf.resource.ResourceManager;
import org.apache.cxf.ws.security.SecurityConstants;
-import org.apache.cxf.ws.security.cache.ReplayCacheFactory;
/**
* An abstract factory to return a TokenStore instance. It returns an
EHCacheTokenStoreFactory
@@ -70,7 +69,7 @@ public abstract class TokenStoreFactory
url = rm.resolveResource((String)o, URL.class);
try {
if (url == null) {
- url = ClassLoaderUtils.getResource((String)o,
ReplayCacheFactory.class);
+ url = ClassLoaderUtils.getResource((String)o,
TokenStoreFactory.class);
}
if (url == null) {
url = new URL((String)o);
Modified:
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/UsernameTokenInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/UsernameTokenInterceptor.java?rev=1464010&r1=1464009&r2=1464010&view=diff
==============================================================================
---
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/UsernameTokenInterceptor.java
(original)
+++
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/UsernameTokenInterceptor.java
Wed Apr 3 13:49:58 2013
@@ -42,6 +42,7 @@ import org.apache.cxf.security.SecurityC
import org.apache.cxf.ws.policy.AssertionInfo;
import org.apache.cxf.ws.policy.AssertionInfoMap;
import org.apache.cxf.ws.security.SecurityConstants;
+import org.apache.wss4j.common.cache.ReplayCache;
import org.apache.wss4j.common.ext.WSPasswordCallback;
import org.apache.wss4j.common.ext.WSSecurityException;
import org.apache.wss4j.common.principal.UsernameTokenPrincipal;
@@ -51,7 +52,6 @@ import org.apache.wss4j.dom.WSDocInfo;
import org.apache.wss4j.dom.WSSConfig;
import org.apache.wss4j.dom.WSSecurityEngineResult;
import org.apache.wss4j.dom.bsp.BSPEnforcer;
-import org.apache.wss4j.dom.cache.ReplayCache;
import org.apache.wss4j.dom.handler.RequestData;
import org.apache.wss4j.dom.handler.WSHandlerConstants;
import org.apache.wss4j.dom.handler.WSHandlerResult;
Modified:
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java?rev=1464010&r1=1464009&r2=1464010&view=diff
==============================================================================
---
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
(original)
+++
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
Wed Apr 3 13:49:58 2013
@@ -69,6 +69,7 @@ import org.apache.cxf.staxutils.StaxUtil
import org.apache.cxf.ws.security.SecurityConstants;
import org.apache.cxf.ws.security.tokenstore.SecurityToken;
import org.apache.cxf.ws.security.tokenstore.TokenStore;
+import org.apache.wss4j.common.cache.ReplayCache;
import org.apache.wss4j.common.crypto.Crypto;
import org.apache.wss4j.common.ext.WSPasswordCallback;
import org.apache.wss4j.common.ext.WSSecurityException;
@@ -78,7 +79,6 @@ import org.apache.wss4j.dom.WSConstants;
import org.apache.wss4j.dom.WSSConfig;
import org.apache.wss4j.dom.WSSecurityEngine;
import org.apache.wss4j.dom.WSSecurityEngineResult;
-import org.apache.wss4j.dom.cache.ReplayCache;
import org.apache.wss4j.dom.handler.RequestData;
import org.apache.wss4j.dom.handler.WSHandlerConstants;
import org.apache.wss4j.dom.handler.WSHandlerResult;
Modified:
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java
URL:
http://svn.apache.org/viewvc/cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java?rev=1464010&r1=1464009&r2=1464010&view=diff
==============================================================================
---
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java
(original)
+++
cxf/branches/wss4j2.0-port/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java
Wed Apr 3 13:49:58 2013
@@ -18,12 +18,20 @@
*/
package org.apache.cxf.ws.security.wss4j;
+import java.io.IOException;
+import java.net.URL;
+
+import org.apache.cxf.Bus;
import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.common.classloader.ClassLoaderUtils;
import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageUtils;
+import org.apache.cxf.resource.ResourceManager;
import org.apache.cxf.service.model.EndpointInfo;
-import org.apache.cxf.ws.security.cache.ReplayCacheFactory;
-import org.apache.wss4j.dom.cache.ReplayCache;
+import org.apache.cxf.ws.security.SecurityConstants;
+import org.apache.wss4j.common.cache.ReplayCache;
+import org.apache.wss4j.common.cache.ReplayCacheFactory;
/**
* Some common functionality that can be shared between the WSS4JInInterceptor
and the
@@ -76,7 +84,8 @@ public final class WSS4JUtils {
if (info.getName() != null) {
cacheKey += "-" + info.getName().toString().hashCode();
}
- replayCache = replayCacheFactory.newReplayCache(cacheKey,
message);
+ URL configFile = getConfigFileURL(message);
+ replayCache = replayCacheFactory.newReplayCache(cacheKey,
configFile);
info.setProperty(instanceKey, replayCache);
}
return replayCache;
@@ -84,5 +93,32 @@ public final class WSS4JUtils {
}
return null;
}
+
+ private static URL getConfigFileURL(Message message) {
+ Object o =
message.getContextualProperty(SecurityConstants.CACHE_CONFIG_FILE);
+ if (o == null) {
+ o = "cxf-ehcache.xml";
+ }
+
+ if (o instanceof String) {
+ URL url = null;
+ ResourceManager rm =
message.getExchange().get(Bus.class).getExtension(ResourceManager.class);
+ url = rm.resolveResource((String)o, URL.class);
+ try {
+ if (url == null) {
+ url = ClassLoaderUtils.getResource((String)o,
ReplayCacheFactory.class);
+ }
+ if (url == null) {
+ url = new URL((String)o);
+ }
+ return url;
+ } catch (IOException e) {
+ // Do nothing
+ }
+ } else if (o instanceof URL) {
+ return (URL)o;
+ }
+ return null;
+ }
}