Class JobExecution

java.lang.Object
org.ivoa.dm.execution.JobExecution
All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations, org.ivoa.vodml.jpa.JPAManipulationsForObjectType<String>

@Entity @VoDml(id="execution:JobExecution", role=objectType) public class JobExecution extends Object implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<String>
the execution of a job on a computational resource. objectType: JobExecution
  • Field Details

    • id

      @VoDml(id="execution:JobExecution.id", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String id
      Unique job execution identifier. : Attribute id type ivoa:string : multiplicity 1
    • runId

      @VoDml(id="execution:JobExecution.runId", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String runId
      this is a client supplied identifier - the system does nothing other than to return it as part of the description of the job. : Attribute runId type ivoa:string : multiplicity 0..1
    • ownerID

      @VoDml(id="execution:JobExecution.ownerID", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String ownerID
      the identifier of the user who owns the job execution. : Attribute ownerID type ivoa:string : multiplicity 1
    • tool

      @VoDml(id="execution:JobExecution.tool", role=reference, type="tool:Tool", typeRole=objectType) protected Tool tool
      ReferenceObject tool : the tool being executed. ( Multiplicity : 1 )
    • inputs

      @VoDml(id="execution:JobExecution.inputs", role=composition, type="execution:ParameterValue", typeRole=objectType) protected List<ParameterValue> inputs
      the input parameter values for the job execution. composition inputs : ( Multiplicity : 0..* )
    • outputs

      @VoDml(id="execution:JobExecution.outputs", role=composition, type="execution:ParameterValue", typeRole=objectType) protected List<ParameterValue> outputs
      the output parameter values for the job execution. composition outputs : ( Multiplicity : 0..* )
    • status

      @VoDml(id="execution:JobExecution.status", role=attribute, type="execution:ExecutionPhase", typeRole=enumeration) protected ExecutionPhase status
      the current status of the job execution. : Attribute status type execution:ExecutionPhase : multiplicity 1
    • executionNode

      @VoDml(id="execution:JobExecution.executionNode", role=reference, type="execution:ExecutionNode", typeRole=objectType) protected ExecutionNode executionNode
      ReferenceObject executionNode : the node where the job is being executed. ( Multiplicity : 1 )
    • creationTime

      @VoDml(id="execution:JobExecution.creationTime", role=attribute, type="ivoa:datetime", typeRole=primitiveType) protected Date creationTime
      the time when the job execution was created. : Attribute creationTime type ivoa:datetime : multiplicity 1
    • startTime

      @VoDml(id="execution:JobExecution.startTime", role=attribute, type="ivoa:datetime", typeRole=primitiveType) protected Date startTime
      the start time of the job execution. : Attribute startTime type ivoa:datetime : multiplicity 0..1
    • endTime

      @VoDml(id="execution:JobExecution.endTime", role=attribute, type="ivoa:datetime", typeRole=primitiveType) protected Date endTime
      the time at which the job execution finished. : Attribute endTime type ivoa:datetime : multiplicity 0..1
    • destructionTime

      @VoDml(id="execution:JobExecution.destructionTime", role=attribute, type="ivoa:datetime", typeRole=primitiveType) protected Date destructionTime
      the time at which the job execution will be destroyed. : Attribute destructionTime type ivoa:datetime : multiplicity 0..1
    • performanceMetrics

      @VoDml(id="execution:JobExecution.performanceMetrics", role=composition, type="execution:PerformanceMetric", typeRole=objectType) protected List<PerformanceMetric> performanceMetrics
      performance metrics for the job execution. composition performanceMetrics : ( Multiplicity : 0..* )
  • Constructor Details

    • JobExecution

      public JobExecution()
      Creates a new JobExecution
    • JobExecution

      public JobExecution(String id, String runId, String ownerID, Tool tool, List<ParameterValue> inputs, List<ParameterValue> outputs, ExecutionPhase status, ExecutionNode executionNode, Date creationTime, Date startTime, Date endTime, Date destructionTime, List<PerformanceMetric> performanceMetrics)
      full parameter constructor.
      Parameters:
      id - Unique job execution identifier.
      runId - this is a client supplied identifier - the system does nothing other than to return it as part of the description of the job.
      ownerID - the identifier of the user who owns the job execution.
      tool - the tool being executed.
      inputs - the input parameter values for the job execution.
      outputs - the output parameter values for the job execution.
      status - the current status of the job execution.
      executionNode - the node where the job is being executed.
      creationTime - the time when the job execution was created.
      startTime - the start time of the job execution.
      endTime - the time at which the job execution finished.
      destructionTime - the time at which the job execution will be destroyed.
      performanceMetrics - performance metrics for the job execution.
    • JobExecution

      public JobExecution(JobExecution other)
      Copy Constructor. Note that references will remain as is rather than be copied.
      Parameters:
      other - the object to be copied.
  • Method Details

    • updateClonedReferences

      public void updateClonedReferences()
      updates any cloned references that are contained within the hierarchy.
    • updateUsing

      public void updateUsing(JobExecution other)
      Update this object with the content of the given object. Note that references will remain as is rather than be copied.
      Parameters:
      other - the object to be copied.
    • getId

      public String getId()
      Returns id Attribute.
      Specified by:
      getId in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<String>
      Returns:
      id Attribute
    • setId

      public void setId(String pId)
      Set id Attribute.
      Parameters:
      pId - value to set
    • withId

      public JobExecution withId(String pId)
      fluent setter for id Attribute.
      Parameters:
      pId - value to set
      Returns:
      JobExecution
    • getRunId

      public String getRunId()
      Returns runId Attribute.
      Returns:
      runId Attribute
    • setRunId

      public void setRunId(String pRunId)
      Set runId Attribute.
      Parameters:
      pRunId - value to set
    • withRunId

      public JobExecution withRunId(String pRunId)
      fluent setter for runId Attribute.
      Parameters:
      pRunId - value to set
      Returns:
      JobExecution
    • getOwnerID

      public String getOwnerID()
      Returns ownerID Attribute.
      Returns:
      ownerID Attribute
    • setOwnerID

      public void setOwnerID(String pOwnerID)
      Set ownerID Attribute.
      Parameters:
      pOwnerID - value to set
    • withOwnerID

      public JobExecution withOwnerID(String pOwnerID)
      fluent setter for ownerID Attribute.
      Parameters:
      pOwnerID - value to set
      Returns:
      JobExecution
    • getTool

      public Tool getTool()
      Returns tool Reference
      Returns:
      tool Reference
    • setTool

      public void setTool(Tool pTool)
      Defines tool Reference
      Parameters:
      pTool - reference to set
    • getInputs

      public List<ParameterValue> getInputs()
      Returns inputs composition as an immutable list.
      Returns:
      inputs composition.
    • setInputs

      public void setInputs(List<ParameterValue> pInputs)
      Defines whole inputs composition.
      Parameters:
      pInputs - composition to set.
    • addToInputs

      public void addToInputs(ParameterValue p)
      Add a org.ivoa.dm.execution.ParameterValue to the composition.
      Parameters:
      p - org.ivoa.dm.execution.ParameterValue to add
    • removeFromInputs

      public void removeFromInputs(ParameterValue p)
      Remove a org.ivoa.dm.execution.ParameterValue from the composition.
      Parameters:
      p - org.ivoa.dm.execution.ParameterValue to remove
    • replaceInInputs

      public void replaceInInputs(ParameterValue _p)
      update a org.ivoa.dm.execution.ParameterValue in the composition.
      Parameters:
      _p - org.ivoa.dm.execution.ParameterValue to update the match is done via the database key
    • getOutputs

      public List<ParameterValue> getOutputs()
      Returns outputs composition as an immutable list.
      Returns:
      outputs composition.
    • setOutputs

      public void setOutputs(List<ParameterValue> pOutputs)
      Defines whole outputs composition.
      Parameters:
      pOutputs - composition to set.
    • addToOutputs

      public void addToOutputs(ParameterValue p)
      Add a org.ivoa.dm.execution.ParameterValue to the composition.
      Parameters:
      p - org.ivoa.dm.execution.ParameterValue to add
    • removeFromOutputs

      public void removeFromOutputs(ParameterValue p)
      Remove a org.ivoa.dm.execution.ParameterValue from the composition.
      Parameters:
      p - org.ivoa.dm.execution.ParameterValue to remove
    • replaceInOutputs

      public void replaceInOutputs(ParameterValue _p)
      update a org.ivoa.dm.execution.ParameterValue in the composition.
      Parameters:
      _p - org.ivoa.dm.execution.ParameterValue to update the match is done via the database key
    • getStatus

      public ExecutionPhase getStatus()
      Returns status Attribute.
      Returns:
      status Attribute
    • setStatus

      public void setStatus(ExecutionPhase pStatus)
      Set status Attribute.
      Parameters:
      pStatus - value to set
    • withStatus

      public JobExecution withStatus(ExecutionPhase pStatus)
      fluent setter for status Attribute.
      Parameters:
      pStatus - value to set
      Returns:
      JobExecution
    • getExecutionNode

      public ExecutionNode getExecutionNode()
      Returns executionNode Reference
      Returns:
      executionNode Reference
    • setExecutionNode

      public void setExecutionNode(ExecutionNode pExecutionNode)
      Defines executionNode Reference
      Parameters:
      pExecutionNode - reference to set
    • getCreationTime

      public Date getCreationTime()
      Returns creationTime Attribute.
      Returns:
      creationTime Attribute
    • setCreationTime

      public void setCreationTime(Date pCreationTime)
      Set creationTime Attribute.
      Parameters:
      pCreationTime - value to set
    • withCreationTime

      public JobExecution withCreationTime(Date pCreationTime)
      fluent setter for creationTime Attribute.
      Parameters:
      pCreationTime - value to set
      Returns:
      JobExecution
    • getStartTime

      public Date getStartTime()
      Returns startTime Attribute.
      Returns:
      startTime Attribute
    • setStartTime

      public void setStartTime(Date pStartTime)
      Set startTime Attribute.
      Parameters:
      pStartTime - value to set
    • withStartTime

      public JobExecution withStartTime(Date pStartTime)
      fluent setter for startTime Attribute.
      Parameters:
      pStartTime - value to set
      Returns:
      JobExecution
    • getEndTime

      public Date getEndTime()
      Returns endTime Attribute.
      Returns:
      endTime Attribute
    • setEndTime

      public void setEndTime(Date pEndTime)
      Set endTime Attribute.
      Parameters:
      pEndTime - value to set
    • withEndTime

      public JobExecution withEndTime(Date pEndTime)
      fluent setter for endTime Attribute.
      Parameters:
      pEndTime - value to set
      Returns:
      JobExecution
    • getDestructionTime

      public Date getDestructionTime()
      Returns destructionTime Attribute.
      Returns:
      destructionTime Attribute
    • setDestructionTime

      public void setDestructionTime(Date pDestructionTime)
      Set destructionTime Attribute.
      Parameters:
      pDestructionTime - value to set
    • withDestructionTime

      public JobExecution withDestructionTime(Date pDestructionTime)
      fluent setter for destructionTime Attribute.
      Parameters:
      pDestructionTime - value to set
      Returns:
      JobExecution
    • getPerformanceMetrics

      public List<PerformanceMetric> getPerformanceMetrics()
      Returns performanceMetrics composition as an immutable list.
      Returns:
      performanceMetrics composition.
    • setPerformanceMetrics

      public void setPerformanceMetrics(List<PerformanceMetric> pPerformanceMetrics)
      Defines whole performanceMetrics composition.
      Parameters:
      pPerformanceMetrics - composition to set.
    • addToPerformanceMetrics

      public void addToPerformanceMetrics(PerformanceMetric p)
      Add a org.ivoa.dm.execution.PerformanceMetric to the composition.
      Parameters:
      p - org.ivoa.dm.execution.PerformanceMetric to add
    • removeFromPerformanceMetrics

      public void removeFromPerformanceMetrics(PerformanceMetric p)
      Remove a org.ivoa.dm.execution.PerformanceMetric from the composition.
      Parameters:
      p - org.ivoa.dm.execution.PerformanceMetric to remove
    • replaceInPerformanceMetrics

      public void replaceInPerformanceMetrics(PerformanceMetric _p)
      update a org.ivoa.dm.execution.PerformanceMetric in the composition.
      Parameters:
      _p - org.ivoa.dm.execution.PerformanceMetric to update the match is done via the database key
    • createJobExecution

      public static JobExecution createJobExecution(Consumer<JobExecution.JobExecutionBuilder> f)
      create a JobExecution in functional builder style.
      Parameters:
      f - the functional builder.
      Returns:
      an object initialized from the builder.
    • forceLoad

      public void forceLoad()
      Specified by:
      forceLoad in interface org.ivoa.vodml.jpa.JPAManipulations
    • delete

      public void delete(jakarta.persistence.EntityManager em)
      Specified by:
      delete in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<String>