Refactored internal context holder strategy implementations to be package private and final and refactored getContext() methods to use a single call to ThreadLocal.get().
This commit is contained in:
parent
c770998d92
commit
db9afc36ab
|
@ -27,7 +27,7 @@ import org.springframework.util.Assert;
|
||||||
* @author Ben Alex
|
* @author Ben Alex
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
public class GlobalSecurityContextHolderStrategy implements SecurityContextHolderStrategy {
|
final class GlobalSecurityContextHolderStrategy implements SecurityContextHolderStrategy {
|
||||||
//~ Static fields/initializers =====================================================================================
|
//~ Static fields/initializers =====================================================================================
|
||||||
|
|
||||||
private static SecurityContext contextHolder;
|
private static SecurityContext contextHolder;
|
||||||
|
|
|
@ -28,10 +28,10 @@ import org.springframework.util.Assert;
|
||||||
* @see java.lang.ThreadLocal
|
* @see java.lang.ThreadLocal
|
||||||
* @see org.springframework.security.core.context.web.SecurityContextPersistenceFilter
|
* @see org.springframework.security.core.context.web.SecurityContextPersistenceFilter
|
||||||
*/
|
*/
|
||||||
public class InheritableThreadLocalSecurityContextHolderStrategy implements SecurityContextHolderStrategy {
|
final class InheritableThreadLocalSecurityContextHolderStrategy implements SecurityContextHolderStrategy {
|
||||||
//~ Static fields/initializers =====================================================================================
|
//~ Static fields/initializers =====================================================================================
|
||||||
|
|
||||||
private static ThreadLocal<SecurityContext> contextHolder = new InheritableThreadLocal<SecurityContext>();
|
private static final ThreadLocal<SecurityContext> contextHolder = new InheritableThreadLocal<SecurityContext>();
|
||||||
|
|
||||||
//~ Methods ========================================================================================================
|
//~ Methods ========================================================================================================
|
||||||
|
|
||||||
|
@ -40,11 +40,14 @@ public class InheritableThreadLocalSecurityContextHolderStrategy implements Secu
|
||||||
}
|
}
|
||||||
|
|
||||||
public SecurityContext getContext() {
|
public SecurityContext getContext() {
|
||||||
if (contextHolder.get() == null) {
|
SecurityContext ctx = contextHolder.get();
|
||||||
contextHolder.set(new SecurityContextImpl());
|
|
||||||
|
if (ctx == null) {
|
||||||
|
ctx = createEmptyContext();
|
||||||
|
contextHolder.set(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
return contextHolder.get();
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setContext(SecurityContext context) {
|
public void setContext(SecurityContext context) {
|
||||||
|
|
|
@ -27,10 +27,10 @@ import org.springframework.util.Assert;
|
||||||
* @see java.lang.ThreadLocal
|
* @see java.lang.ThreadLocal
|
||||||
* @see org.springframework.security.core.context.web.SecurityContextPersistenceFilter
|
* @see org.springframework.security.core.context.web.SecurityContextPersistenceFilter
|
||||||
*/
|
*/
|
||||||
public class ThreadLocalSecurityContextHolderStrategy implements SecurityContextHolderStrategy {
|
final class ThreadLocalSecurityContextHolderStrategy implements SecurityContextHolderStrategy {
|
||||||
//~ Static fields/initializers =====================================================================================
|
//~ Static fields/initializers =====================================================================================
|
||||||
|
|
||||||
private static ThreadLocal<SecurityContext> contextHolder = new ThreadLocal<SecurityContext>();
|
private static final ThreadLocal<SecurityContext> contextHolder = new ThreadLocal<SecurityContext>();
|
||||||
|
|
||||||
//~ Methods ========================================================================================================
|
//~ Methods ========================================================================================================
|
||||||
|
|
||||||
|
@ -39,11 +39,14 @@ public class ThreadLocalSecurityContextHolderStrategy implements SecurityContext
|
||||||
}
|
}
|
||||||
|
|
||||||
public SecurityContext getContext() {
|
public SecurityContext getContext() {
|
||||||
if (contextHolder.get() == null) {
|
SecurityContext ctx = contextHolder.get();
|
||||||
contextHolder.set(new SecurityContextImpl());
|
|
||||||
|
if (ctx == null) {
|
||||||
|
ctx = createEmptyContext();
|
||||||
|
contextHolder.set(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
return contextHolder.get();
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setContext(SecurityContext context) {
|
public void setContext(SecurityContext context) {
|
||||||
|
|
Loading…
Reference in New Issue