Class AbstractCommand

java.lang.Object
org.nuxeo.connect.update.task.standalone.commands.AbstractCommand
All Implemented Interfaces:
org.nuxeo.connect.update.task.Command
Direct Known Subclasses:
CompositeCommand, Config, Copy, Delete, DeployConfigPlaceholder, DeployPlaceholder, InstallPlaceholder, LoadJarPlaceholder, PostInstallCommand, Rollback, UnAppend, UndeployConfigPlaceholder, UndeployPlaceholder, UninstallPlaceholder, UnloadJarPlaceholder, Update

public abstract class AbstractCommand extends Object implements org.nuxeo.connect.update.task.Command
All commands have 2 attributes: fail and ignore which are EL expressions.

If ignore is defined and evaluated to true then the command will be ignored (null is returned as the inverse command) If fail is defined and evaluated to true then the validation fails.

Commands extending this class must implement the doRun(org.nuxeo.connect.update.task.Task, java.util.Map<java.lang.String, java.lang.String>) and doValidate(org.nuxeo.connect.update.task.Task, org.nuxeo.connect.update.ValidationStatus) methods instead of the one in the interface. These methods are first testing for ignore and fail guards and then if needed delegated to the doXXX method versions.

Author:
Bogdan Stefanescu
  • Field Details

    • id

      protected final String id
      List of files which must never be deleted at runtime.
      Since:
      5.5
    • guardVars

      protected final Map<String,Object> guardVars
    • fail

      protected String fail
    • ignore

      protected String ignore
  • Constructor Details

    • AbstractCommand

      protected AbstractCommand(String id)
    • AbstractCommand

      public AbstractCommand(AbstractCommand command)
  • Method Details

    • setPackageUpdateService

      public void setPackageUpdateService(org.nuxeo.connect.update.PackageUpdateService packageUpdateService)
      Specified by:
      setPackageUpdateService in interface org.nuxeo.connect.update.task.Command
    • isPostInstall

      public boolean isPostInstall()
      Specified by:
      isPostInstall in interface org.nuxeo.connect.update.task.Command
    • doRun

      protected abstract org.nuxeo.connect.update.task.Command doRun(org.nuxeo.connect.update.task.Task task, Map<String,String> prefs) throws org.nuxeo.connect.update.PackageException
      Override to implement command actions
      Returns:
      Rollback command
      Throws:
      org.nuxeo.connect.update.PackageException
    • doValidate

      protected abstract void doValidate(org.nuxeo.connect.update.task.Task task, org.nuxeo.connect.update.ValidationStatus status) throws org.nuxeo.connect.update.PackageException
      Override to implement validation.
      Parameters:
      task - The task being validated
      status - Use ValidationStatus.addError(String) or ValidationStatus.addWarning(String) to provide validation error/warning messages
      Throws:
      org.nuxeo.connect.update.PackageException
    • validate

      public void validate(org.nuxeo.connect.update.task.Task task, org.nuxeo.connect.update.ValidationStatus status) throws org.nuxeo.connect.update.PackageException
      Specified by:
      validate in interface org.nuxeo.connect.update.task.Command
      Throws:
      org.nuxeo.connect.update.PackageException
    • run

      public org.nuxeo.connect.update.task.Command run(org.nuxeo.connect.update.task.Task task, Map<String,String> prefs) throws org.nuxeo.connect.update.PackageException
      Specified by:
      run in interface org.nuxeo.connect.update.task.Command
      Throws:
      org.nuxeo.connect.update.PackageException
    • getId

      public String getId()
      Specified by:
      getId in interface org.nuxeo.connect.update.task.Command
    • setFail

      public void setFail(String fail)
    • setIgnore

      public void setIgnore(String ignore)
    • ignore

      public boolean ignore() throws org.nuxeo.connect.update.PackageException
      Throws:
      org.nuxeo.connect.update.PackageException
    • initialize

      public void initialize(Element element) throws org.nuxeo.connect.update.PackageException
      Specified by:
      initialize in interface org.nuxeo.connect.update.task.Command
      Throws:
      org.nuxeo.connect.update.PackageException
    • readFrom

      public abstract void readFrom(Element element) throws org.nuxeo.connect.update.PackageException
      Must be implemented to initialize the command arguments from an XML fragment.
      Throws:
      org.nuxeo.connect.update.PackageException