com.atlassian.bamboo.applinks
Class ImpersonationServiceImpl

java.lang.Object
  extended by com.atlassian.bamboo.applinks.ImpersonationServiceImpl
All Implemented Interfaces:
ImpersonationService

public class ImpersonationServiceImpl
extends java.lang.Object
implements ImpersonationService


Field Summary
static java.lang.String USER_TOKEN_KEY
           
 
Constructor Summary
ImpersonationServiceImpl(BambooUserManager bambooUserManager)
           
 
Method Summary
<V> java.util.concurrent.Callable<V>
runAsUser(java.lang.String username, java.util.concurrent.Callable<V> callable)
          Delegates the given callable so that it can run in the context of the given user.
 void runWith(org.acegisecurity.Authentication authentication, BambooRunnables.NotThrowing notThrowing)
          Runs a given Bamboo runnable with supplied Authentication.
<V> java.util.concurrent.Callable<V>
runWithAuthenticationImpersonation(org.acegisecurity.Authentication authentication, java.util.concurrent.Callable<V> delegate)
          Delegates the given runnable so that it can run in the context of a given authentication.
<V> java.util.concurrent.Callable<V>
runWithOptionalUserImpersonation(java.lang.String username, java.util.concurrent.Callable<V> callable)
          Delegates the given runnable so that it can run in the context of the given user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USER_TOKEN_KEY

public static final java.lang.String USER_TOKEN_KEY
See Also:
Constant Field Values
Constructor Detail

ImpersonationServiceImpl

public ImpersonationServiceImpl(BambooUserManager bambooUserManager)
Method Detail

runAsUser

@NotNull
public <V> java.util.concurrent.Callable<V> runAsUser(@NotNull
                                                              java.lang.String username,
                                                              @NotNull
                                                              java.util.concurrent.Callable<V> callable)
Description copied from interface: ImpersonationService
Delegates the given callable so that it can run in the context of the given user. If the context can not be set to the given user it will fail.

Specified by:
runAsUser in interface ImpersonationService
Parameters:
username - username to set the authentication context to.
callable - callable to execute in the new context
Returns:
callable

runWithOptionalUserImpersonation

@NotNull
public <V> java.util.concurrent.Callable<V> runWithOptionalUserImpersonation(@Nullable
                                                                                     java.lang.String username,
                                                                                     @NotNull
                                                                                     java.util.concurrent.Callable<V> callable)
Description copied from interface: ImpersonationService
Delegates the given runnable so that it can run in the context of the given user. If use context can not be set it will execute the callable regardless.

Specified by:
runWithOptionalUserImpersonation in interface ImpersonationService
Parameters:
username - (optional) to set the authentication context to
callable - callable to execute in the new context
Returns:
callable

runWithAuthenticationImpersonation

@NotNull
public <V> java.util.concurrent.Callable<V> runWithAuthenticationImpersonation(@NotNull
                                                                                       org.acegisecurity.Authentication authentication,
                                                                                       @NotNull
                                                                                       java.util.concurrent.Callable<V> delegate)
Description copied from interface: ImpersonationService
Delegates the given runnable so that it can run in the context of a given authentication.

Specified by:
runWithAuthenticationImpersonation in interface ImpersonationService
Parameters:
authentication - to set the authentication context to
delegate - callable to execute in the new context
Returns:
callable

runWith

public void runWith(@NotNull
                    org.acegisecurity.Authentication authentication,
                    @NotNull
                    BambooRunnables.NotThrowing notThrowing)
Description copied from interface: ImpersonationService
Runs a given Bamboo runnable with supplied Authentication.

Specified by:
runWith in interface ImpersonationService


Copyright © 2014 Atlassian Software Systems Pty Ltd. All Rights Reserved.