Class RunAsUserCommand

java.lang.Object
com.atlassian.confluence.core.service.RunAsUserCommand
All Implemented Interfaces:
ServiceCommand

public class RunAsUserCommand extends Object implements ServiceCommand
TODO : confluence-7.0 do we even want to keep this around ? currently not used An experimental command for running services as another user. NOT CURRENTLY UNIT-TESTED
  • Constructor Details

  • Method Details

    • isValid

      public boolean isValid()
      Description copied from interface: ServiceCommand
      Determine if the command is in a valid state to be executed. If this method returns true, then ServiceCommand.execute() is be expected to perform successfully (unless prevented by some system error). If this method returns false, execute will fail with a NotValidException.

      This method should be called after checking ServiceCommand.isAuthorized(). If the current user is not authorized to execute this command, this method must throw a NotAuthorizedException.

      If this method returns false, then ServiceCommand.getValidationErrors() must return a non-empty list of errors explaining why the command was not valid. If this method returns true, the collection returned by getValidationErrors() must be empty.

      Specified by:
      isValid in interface ServiceCommand
      Returns:
      true if the command is in a valid state to be executed, false otherwise
    • getValidationErrors

      public Collection getValidationErrors()
      Description copied from interface: ServiceCommand
      Gets the list of errors that are preventing the command from being executed. Calling this method before calling ServiceCommand.isValid() will always return an empty collection.
      Specified by:
      getValidationErrors in interface ServiceCommand
      Returns:
      a collection of ValidationError objects describing why command validation failed
    • isAuthorized

      public boolean isAuthorized()
      Description copied from interface: ServiceCommand
      Determine if the current user is authorized to execute this command. The "current user" for a command is the user returned by AuthenticatedUserThreadLocal.get().
      Specified by:
      isAuthorized in interface ServiceCommand
      Returns:
      true if the current user is authorized to execute this command, false otherwise.
    • execute

      public void execute()
      Description copied from interface: ServiceCommand
      Execute the command. After execution, the command should offer any indication of the results or products of the command as implementation-specific getter methods.
      Specified by:
      execute in interface ServiceCommand