java.lang.Object
com.inductiveautomation.ignition.client.launch.steps.AbstractLaunchStep
com.inductiveautomation.ignition.client.launch.steps.BaseStep
All Implemented Interfaces:
LaunchStep
Direct Known Subclasses:
CacheStep, CheckJpmsRequirementsStep, CheckManifestStep, ConnectStep, DownloadJarsStep, DownloadPyLibStep, DownloadRuntimeStep, DownloadTranslationsStep, StartupStep, TestStep

public abstract class BaseStep extends AbstractLaunchStep
  • Field Details

  • Constructor Details

  • Method Details

    • runLockedAction

      protected <T> T runLockedAction(AbstractLaunchStep.LockedAction<T> action) throws Exception
      Throws:
      Exception
    • getDescription

      public String getDescription()
      Description copied from interface: LaunchStep
      Describe this step's purpose
    • getString

      protected String getString(String key)
      Description copied from class: AbstractLaunchStep
      Abstraction to accommodate different methods of looking up bundle strings
      Specified by:
      getString in class AbstractLaunchStep
    • log

      public void log(String message, Object... args)
      Description copied from class: AbstractLaunchStep
      Abstraction to accommodate different logging methods
      Specified by:
      log in interface LaunchStep
      Specified by:
      log in class AbstractLaunchStep
    • getDescriptionKey

      public abstract String getDescriptionKey()
    • waitFor

      protected void waitFor(int secs) throws Exception
      Waits for a number of seconds, updating the progress bar appropriately
      Throws:
      Exception
    • maybeWaitFor503

      protected void maybeWaitFor503(Exception ex) throws Exception
      Checks to see if the exception happens to be an HttpResponseException with responseCode==503. If so, waits for 10 seconds while setting the message to the "ServiceUnavailable" message.
      Throws:
      Exception
    • restartClient

      protected void restartClient() throws LaunchException
      Triggers a restart of the client. This should only be done in situations when the existing client cannot have whatever change applied and a new JVM must be created in order to apply whatever requirement is needed.
      Throws:
      LaunchException