Class JobData

All Implemented Interfaces:
IdentifiableData, NameableData, OwnableData, RemovableData, ShareableData, SubtypableData

public class JobData
extends CommonData
implements SubtypableData
This class holds information about a job.
Version:
2.0
Author:
Nicklas
See Also:
Job, Developer documentation: Plug-ins, jobs and job agents
Last modified
$Date: 2018-01-17 13:44:16 +0100 (on, 17 jan 2018) $
Hibernate: class
table="`Jobs`" lazy="true"
  • Field Details

    • type

      private int type
    • subtype

      private ItemSubtypeData subtype
    • MAX_EXTERNAL_ID_LENGTH

      public static final int MAX_EXTERNAL_ID_LENGTH
      The maximum allowed length of the external ID.
      Since:
      3.3
      See Also:
      Constant Field Values
    • externalId

      private String externalId
    • pluginDefinition

      private PluginDefinitionData pluginDefinition
    • pluginConfiguration

      private PluginConfigurationData pluginConfiguration
    • experiment

      private ExperimentData experiment
    • MAX_PLUGIN_VERSION_LENGTH

      public static final int MAX_PLUGIN_VERSION_LENGTH
      The maximum allowed length of the plugin version.
      Since:
      2.8
      See Also:
      Constant Field Values
    • pluginVersion

      private String pluginVersion
    • parameterVersion

      private int parameterVersion
    • sendMessage

      private boolean sendMessage
    • removeJobWhenFinished

      private boolean removeJobWhenFinished
    • status

      private int status
    • dryRun

      private boolean dryRun
    • MAX_COMMAND_LENGTH

      public static final int MAX_COMMAND_LENGTH
      The maximum allowed length of the execute command.
      Since:
      2.16
      See Also:
      Constant Field Values
    • executeCommand

      private String executeCommand
    • MAX_STATUS_MESSAGE_LENGTH

      public static final int MAX_STATUS_MESSAGE_LENGTH
      The maximum allowed length of the status message.
      See Also:
      Constant Field Values
    • statusMessage

      private String statusMessage
    • MAX_STACK_TRACE_LENGTH

      public static final int MAX_STACK_TRACE_LENGTH
      The maximum allowed length of the stack trace message.
      See Also:
      Constant Field Values
    • stackTrace

      private String stackTrace
    • estimatedExecutionTime

      private int estimatedExecutionTime
    • percentComplete

      private int percentComplete
    • priority

      private int priority
    • activeProjectId

      private int activeProjectId
    • created

      private Date created
    • scheduled

      private Date scheduled
    • started

      private Date started
    • ended

      private Date ended
    • MAX_SERVER_LENGTH

      public static final int MAX_SERVER_LENGTH
      The maximum allowed length of the server name.
      See Also:
      Constant Field Values
    • server

      private String server
    • node

      private String node
    • contextItem

      private Integer contextItem
    • contextType

      private Integer contextType
    • MAX_SUBCONTEXT_LENGTH

      public static final int MAX_SUBCONTEXT_LENGTH
      The maximum allowed length of the subcontext name.
      Since:
      2.8
      See Also:
      Constant Field Values
    • subContext

      private String subContext
    • MAX_SIGNAL_TRANSPORTER_LENGTH

      public static final int MAX_SIGNAL_TRANSPORTER_LENGTH
      The maximum allowed length of the signal transporter string.
      See Also:
      Constant Field Values
    • signalTransporter

      private String signalTransporter
    • jobAgentId

      private Integer jobAgentId
    • parameters

      private Map<String,​ParameterValueData<?>> parameters
    • messages

      private Set<MessageData> messages
    • derivedBioAssays

      private Set<DerivedBioAssayData> derivedBioAssays
    • rawBioAssays

      private Set<RawBioAssayData> rawBioAssays
    • arrayDesigns

      private Set<ArrayDesignData> arrayDesigns
    • transformations

      private Set<TransformationData> transformations
  • Constructor Details

    • JobData

      public JobData()
  • Method Details

    • getType

      public int getType()
      The type of job: 1 = run plugin, 2 = other
      Hibernate: property
      column="`type`" type="int" not-null="true"
    • setType

      public void setType​(int type)
    • getItemSubtype

      public ItemSubtypeData getItemSubtype()
      Description copied from interface: SubtypableData
      Get the subtype of the item.
      Specified by:
      getItemSubtype in interface SubtypableData
      Since:
      3.10
    • setItemSubtype

      public void setItemSubtype​(ItemSubtypeData subtype)
      Description copied from interface: SubtypableData
      Set the subtype of the item.
      Specified by:
      setItemSubtype in interface SubtypableData
    • getExternalId

      public String getExternalId()
      External ID of a job running on an external system.
      Since:
      3.3
      Hibernate: property
      column="`external_id`" type="string" length="255" not-null="false"
    • setExternalId

      public void setExternalId​(String externalId)
    • getPluginDefinition

      public PluginDefinitionData getPluginDefinition()
      The plugin that executes the job.
      Hibernate: many-to-one
      column="`plugindefinition_id`" not-null="false" outer-join="false" update="false"
    • setPluginDefinition

      public void setPluginDefinition​(PluginDefinitionData pluginDefinition)
    • getPluginConfiguration

      public PluginConfigurationData getPluginConfiguration()
      The plugin configuration for the plugin.
      Hibernate: many-to-one
      column="`pluginconfiguration_id`" not-null="false" outer-join="false" update="false"
    • setPluginConfiguration

      public void setPluginConfiguration​(PluginConfigurationData pluginConfiguration)
    • getExperiment

      public ExperimentData getExperiment()
      The experiment this job is a part of.
      Since:
      2.4
      Hibernate: many-to-one
      column="`experiment_id`" not-null="false" outer-join="false"
    • setExperiment

      public void setExperiment​(ExperimentData experiment)
    • getPluginVersion

      public String getPluginVersion()
      Get the version of the plugin used to execute this job at the time the job was executed or registered.
      Returns:
      A string with the version of the plugin, or null if not known or if the job is not executed by a plug-in
      Since:
      2.8
      Hibernate: property
      column="`version_string`" type="string" length="255" not-null="false"
    • setPluginVersion

      public void setPluginVersion​(String pluginVersion)
      Since:
      2.8
    • getParameterVersion

      public int getParameterVersion()
      Get the parameter version of the configuration used for this job.
      Hibernate: property
      column="`parameter_version`" type="int" not-null="true"
    • setParameterVersion

      public void setParameterVersion​(int parameterVersion)
    • getSendMessage

      public boolean getSendMessage()
      If the core should send a message to the owner when the job is finished or not.
      Hibernate: property
      column="`send_message`" type="boolean" not-null="true"
    • setSendMessage

      public void setSendMessage​(boolean sendMessage)
    • getRemoveJobWhenFinished

      public boolean getRemoveJobWhenFinished()
      If the core should delete the job when it's finished successfully.
      Hibernate: property
      column="`remove_job`" type="boolean" not-null="true"
    • setRemoveJobWhenFinished

      public void setRemoveJobWhenFinished​(boolean removeJobWhenFinished)
    • getStatus

      public int getStatus()
      Get the status of the job. 1 = waiting, 2 = running, 3 = completed ok, 4 = error
      Hibernate: property
      column="`status`" type="int" not-null="true"
    • setStatus

      public void setStatus​(int status)
    • isDryRun

      public boolean isDryRun()
      If the job should be/was executed as a dry-run job.
      Hibernate: property
      column="`dry_run`" type="boolean" not-null="true"
    • setDryRun

      public void setDryRun​(boolean dryRun)
    • getExecuteCommand

      public String getExecuteCommand()
      The command to send to the plug-in when starting to execute it. If null, a default values is used. See Request.COMMAND_EXECUTE. This is usually only used when automatically restarting a failed job.
      Since:
      2.16
      Hibernate: property
      column="`exec_command`" type="string" length="255" not-null="false"
    • setExecuteCommand

      public void setExecuteCommand​(String command)
    • getStatusMessage

      public String getStatusMessage()
      Get a status message.
      Hibernate: property
      column="`status_message`" type="text" not-null="false"
    • setStatusMessage

      public void setStatusMessage​(String statusMessage)
    • getStackTrace

      public String getStackTrace()
      Get the stack trace in case of an error
      Hibernate: property
      column="`stack_trace`" type="text" not-null="false"
    • setStackTrace

      public void setStackTrace​(String stackTrace)
    • getEstimatedExecutionTime

      public int getEstimatedExecutionTime()
      Get the estimated execution time of the job. 0 = <1 minute, 1 = 1 - 10 minutes, 2 = <1 hour, 3 = >1 hour
      Hibernate: property
      column="`execution_time`" type="int" not-null="true"
    • setEstimatedExecutionTime

      public void setEstimatedExecutionTime​(int estimatedExecutionTime)
    • getPercentComplete

      public int getPercentComplete()
      If the job is running, how many percent has been completed.
      Hibernate: property
      column="`percent_complete`" type="int" not-null="true"
    • setPercentComplete

      public void setPercentComplete​(int percentComplete)
    • getPriority

      public int getPriority()
      The jobs priority. A lower value means a higher priority.
      Hibernate: property
      column="`priority`" type="int" not-null="true"
    • setPriority

      public void setPriority​(int priority)
    • getActiveProjectId

      public int getActiveProjectId()
      The ID of the project that should be made active when running this job.
      Hibernate: property
      column="`project_id`" type="int" not-null="true"
    • setActiveProjectId

      public void setActiveProjectId​(int activeProjectId)
    • getCreated

      public Date getCreated()
      Get the date and time the job was created.
      Hibernate: property
      column="`created`" type="timestamp" not-null="true" update="false"
    • setCreated

      public void setCreated​(Date created)
    • getScheduled

      public Date getScheduled()
      Get the date and time the job was scheduled to the job queue, or null if it hasn't been scheduled yet. This timestamp should be updated whenever the status is changed to WAITING.
      Since:
      2.16
      Hibernate: property
      column="`scheduled`" type="timestamp" not-null="false"
    • setScheduled

      public void setScheduled​(Date scheduled)
    • getStarted

      public Date getStarted()
      Get the date and time the job was started or null if the job hasn't been started.
      Hibernate: property
      column="`started`" type="timestamp" not-null="false"
    • setStarted

      public void setStarted​(Date started)
    • getEnded

      public Date getEnded()
      Get the date and time the job was ended or null if the job hasn't ended.
      Hibernate: property
      column="`ended`" type="timestamp" not-null="false"
    • setEnded

      public void setEnded​(Date ended)
    • getServer

      public String getServer()
      The name of the server where the job is executing.
      Hibernate: property
      column="`server`" type="string" length="255" not-null="false"
    • setServer

      public void setServer​(String server)
    • getNode

      public String getNode()
      The name of the node where the job is executing. If this value is used it typically means that the server is some kind of master controller for multiple nodes in a cluster. The max length is the same as for the server.
      Since:
      3.10
      Hibernate: property
      column="`node`" type="string" length="255" not-null="false"
    • setNode

      public void setNode​(String node)
    • getContextItem

      public Integer getContextItem()
      The item type of the context that was active when configuring this job. null = no context was known
      Since:
      2.8
      Hibernate: property
      column="`context_item`" type="int"
    • setContextItem

      public void setContextItem​(Integer contextItem)
      Since:
      2.8
    • getContextType

      public Integer getContextType()
      The context type that was active when configuring this job. 0 = single item, 1 = list
      Since:
      2.8
      Hibernate: property
      column="`context_type`" type="int"
    • setContextType

      public void setContextType​(Integer contextType)
      Since:
      2.8
    • getSubContext

      public String getSubContext()
      The name of the subcontext that was active whjen configuring this job.
      Since:
      2.8
      Hibernate: property
      column="`subcontext`" type="string" length="255" not-null="false"
    • setSubContext

      public void setSubContext​(String subContext)
      Since:
      2.8
    • getSignalTransporter

      public String getSignalTransporter()
      Identifies the signal transporter to use. This is a string with two parts separated by colon (:). The first part is the class name of the signal transporter class, the second part is the initialisation string for the transporter.
      Since:
      2.6
      Hibernate: property
      column="`signal_transporter`" type="text" not-null="false"
    • setSignalTransporter

      public void setSignalTransporter​(String signalTransporter)
    • getJobAgentId

      public Integer getJobAgentId()
      The ID of the job agent this job should run/is running/was running on. We store this as an ID value only and not a reference to JobAgentData since it would then be impossible to delete a job agent without also deleting all jobs that has been running on it.
      Since:
      2.8
      Hibernate: property
      column="`jobagent_id`" type="int" not-null="false"
    • setJobAgentId

      public void setJobAgentId​(Integer jobAgentId)
    • getParameters

      public Map<String,​ParameterValueData<?>> getParameters()
      The parameters for this job.
      Hibernate: map
      table="`JobParameters`" lazy="true" cascade="all"
      Hibernate: collection-key
      column="`job_id`"
      Hibernate: collection-index
      column="`name`" type="string" length="255"
      Hibernate: collection-many-to-many
      column="`value_id`" class="net.sf.basedb.core.data.ParameterValueData"
    • setParameters

      void setParameters​(Map<String,​ParameterValueData<?>> parameters)
    • getMessages

      Set<MessageData> getMessages()
      This is the inverse end.
      See Also:
      MessageData.getJob()
      Hibernate: set
      lazy="true" inverse="true" cascade="delete"
      Hibernate: collection-key
      column="`job_id`"
      Hibernate: collection-one-to-many
      class="net.sf.basedb.core.data.MessageData"
    • setMessages

      void setMessages​(Set<MessageData> messages)
    • getDerivedBioAssays

      Set<DerivedBioAssayData> getDerivedBioAssays()
      This is the inverse end.
      Since:
      3.3
      See Also:
      DerivedBioAssayData.getJob()
      Hibernate: set
      lazy="true" inverse="true"
      Hibernate: collection-key
      column="`job_id`"
      Hibernate: collection-one-to-many
      class="net.sf.basedb.core.data.DerivedBioAssayData"
    • setDerivedBioAssays

      void setDerivedBioAssays​(Set<DerivedBioAssayData> derivedBioAssays)
    • getRawBioAssays

      Set<RawBioAssayData> getRawBioAssays()
      This is the inverse end.
      Since:
      3.3
      See Also:
      RawBioAssayData.getJob()
      Hibernate: set
      lazy="true" inverse="true"
      Hibernate: collection-key
      column="`job_id`"
      Hibernate: collection-one-to-many
      class="net.sf.basedb.core.data.RawBioAssayData"
    • setRawBioAssays

      void setRawBioAssays​(Set<RawBioAssayData> rawBioAssays)
    • getArrayDesigns

      Set<ArrayDesignData> getArrayDesigns()
      This is the inverse end.
      Since:
      3.3
      See Also:
      ArrayDesignData.getJob()
      Hibernate: set
      lazy="true" inverse="true"
      Hibernate: collection-key
      column="`job_id`"
      Hibernate: collection-one-to-many
      class="net.sf.basedb.core.data.ArrayDesignData"
    • setArrayDesigns

      void setArrayDesigns​(Set<ArrayDesignData> arrayDesigns)
    • getTransformations

      Set<TransformationData> getTransformations()
      This is the inverse end.
      Since:
      3.3
      See Also:
      TransformationData.getJob()
      Hibernate: set
      lazy="true" inverse="true"
      Hibernate: collection-key
      column="`job_id`"
      Hibernate: collection-one-to-many
      class="net.sf.basedb.core.data.TransformationData"
    • setTransformations

      void setTransformations​(Set<TransformationData> transformations)