瀏覽代碼

SEC-2682: DelegatingSecurityContextRunnable/Callable delegate toString()

Rob Winch 10 年之前
父節點
當前提交
b6ab9c85e9

+ 4 - 0
core/src/main/java/org/springframework/security/concurrent/DelegatingSecurityContextCallable.java

@@ -64,6 +64,10 @@ public final class DelegatingSecurityContextCallable<V> implements Callable<V> {
         }
     }
 
+    public String toString() {
+        return delegate.toString();
+    }
+
     /**
      * Creates a {@link DelegatingSecurityContextCallable} and with the given {@link Callable} and
      * {@link SecurityContext}, but if the securityContext is null will defaults to the current {@link SecurityContext}

+ 4 - 0
core/src/main/java/org/springframework/security/concurrent/DelegatingSecurityContextRunnable.java

@@ -61,6 +61,10 @@ public final class DelegatingSecurityContextRunnable implements Runnable {
         }
     }
 
+    public String toString() {
+        return delegate.toString();
+    }
+
     /**
      * Factory method for creating a {@link DelegatingSecurityContextRunnable}.
      *

+ 9 - 0
core/src/test/java/org/springframework/security/concurrent/DelegatingSecurityContextCallableTests.java

@@ -126,6 +126,15 @@ public class DelegatingSecurityContextCallableTests {
         assertWrapped(callable.call());
     }
 
+    // --- toString
+
+    // SEC-2682
+    @Test
+    public void toStringDelegates() {
+        callable = new DelegatingSecurityContextCallable<Object>(delegate, securityContext);
+        assertThat(callable.toString()).isEqualTo(delegate.toString());
+    }
+
     private void assertWrapped(Object actualResult) throws Exception {
         assertThat(actualResult).isEqualTo(callableResult);
         verify(delegate).call();

+ 9 - 0
core/src/test/java/org/springframework/security/concurrent/DelegatingSecurityContextRunnableTests.java

@@ -127,6 +127,15 @@ public class DelegatingSecurityContextRunnableTests {
         assertWrapped();
     }
 
+    // --- toString
+
+    // SEC-2682
+    @Test
+    public void toStringDelegates() {
+        runnable = new DelegatingSecurityContextRunnable(delegate, securityContext);
+        assertThat(runnable.toString()).isEqualTo(delegate.toString());
+    }
+
     private void assertWrapped() {
         verify(delegate).run();
         assertThat(SecurityContextHolder.getContext()).isEqualTo(SecurityContextHolder.createEmptyContext());