Klasse ProcessingOrder

java.lang.Object
de.dlr.proseo.model.PersistentObject
de.dlr.proseo.model.ProcessingOrder

@Entity public class ProcessingOrder extends PersistentObject
A customer order to process a specific set of ProductClasses for a specific period of time using a specific set of ConfiguredProcessors. An order may have properties like a product quality indicator (test vs operational), specific product delivery endpoints, specific (potentially mission-dependent) product generation attributes (e. g. a Copernicus collection number) etc.
Autor:
Dr. Thomas Bassler
  • Konstruktordetails

    • ProcessingOrder

      public ProcessingOrder()
  • Methodendetails

    • getMission

      public Mission getMission()
      Gets the owning mission
      Gibt zurück:
      the mission
    • setMission

      public void setMission(Mission mission)
      Sets the owning mission
      Parameter:
      mission - the mission to set
    • getIdentifier

      public String getIdentifier()
      Gets the user-defined identifier
      Gibt zurück:
      the identifier
    • setIdentifier

      public void setIdentifier(String identifier)
      Sets the user-defined identifier
      Parameter:
      identifier - the identifier to set
    • getUuid

      public UUID getUuid()
      Gets the universally unique identifier (UUID)
      Gibt zurück:
      the UUID
    • setUuid

      public void setUuid(UUID uuid)
      Sets the universally unique identifier (UUID)
      Parameter:
      uuid - the UUID to set
    • getPriority

      public Integer getPriority()
      Gets the priority value for scheduling
      Gibt zurück:
      the priority
    • setPriority

      public void setPriority(Integer priority)
      Sets the priority value for scheduling
      Parameter:
      priority - the priority to set
    • getOrderState

      public OrderState getOrderState()
      Gets the state of the processing order
      Gibt zurück:
      the orderState
    • setOrderState

      @Transactional public void setOrderState(OrderState orderState) throws IllegalStateException
      Sets the state of the processing order
      Parameter:
      orderState - the orderState to set
      Löst aus:
      IllegalStateException - if the intended order state transition is illegal
    • checkStateChange

      @Transactional public void checkStateChange()
      Check whether a processing order state change is required based on the current state of the contained jobs
    • getStateMessage

      public String getStateMessage()
      Gets a message explaining the latest state change
      Gibt zurück:
      the state message
    • setStateMessage

      public void setStateMessage(String stateMessage)
      Sets a message explaining the latest state change
      Parameter:
      stateMessage - the state message to set
    • getOrderSource

      public OrderSource getOrderSource()
      Gets the source application for the order
      Gibt zurück:
      the order source
    • setOrderSource

      public void setOrderSource(OrderSource orderSource)
      Sets the source application for the order
      Parameter:
      orderSource - the order source to set
    • getSubmissionTime

      public Instant getSubmissionTime()
      Gets the date and time the order was received
      Gibt zurück:
      the submission time
    • setSubmissionTime

      public void setSubmissionTime(Instant submissionTime)
      Sets the date and time the order was received
      Parameter:
      submissionTime - the submission time to set
    • getExecutionTime

      public Instant getExecutionTime()
      Gets the scheduled execution time (if any)
      Gibt zurück:
      the executionTime (may be null)
    • setExecutionTime

      public void setExecutionTime(Instant executionTime)
      Sets the scheduled execution time
      Parameter:
      executionTime - the executionTime to set (a null value removes an existing execution time)
    • getReleaseTime

      public Instant getReleaseTime()
      Gets the date and time the order was released for processing
      Gibt zurück:
      the releaseTime
    • setReleaseTime

      public void setReleaseTime(Instant releaseTime)
      Sets the date and time the order was released for processing
      Parameter:
      releaseTime - the releaseTime to set
    • getEstimatedCompletionTime

      public Instant getEstimatedCompletionTime()
      Gets the date and time the order is expected to be completed
      Gibt zurück:
      the estimated completion time
    • setEstimatedCompletionTime

      public void setEstimatedCompletionTime(Instant estimatedCompletionTime)
      Sets the date and time the order is expected to be completed
      Parameter:
      estimatedCompletionTime - the estimated completion time to set
    • getActualCompletionTime

      public Instant getActualCompletionTime()
      Gets the date and time the order was actually completed
      Gibt zurück:
      the actualCompletionTime
    • setActualCompletionTime

      public void setActualCompletionTime(Instant actualCompletionTime)
      Sets the date and time the order was actually completed
      Parameter:
      actualCompletionTime - the actualCompletionTime to set
    • getEvictionTime

      public Instant getEvictionTime()
      Gets the order eviction time (if any)
      Gibt zurück:
      the eviction time
    • setEvictionTime

      public void setEvictionTime(Instant evictionTime)
      Sets the order eviction time
      Parameter:
      evictionTime - the eviction time to set (may be null)
    • getStartTime

      public Instant getStartTime()
      Gets the (earliest) start time of the processing time interval
      Gibt zurück:
      the startTime
    • setStartTime

      public void setStartTime(Instant startTime)
      Sets the (earliest) start time of the processing time interval
      Parameter:
      startTime - the startTime to set
    • getStopTime

      public Instant getStopTime()
      Gets the (latest) stop time of the processing time interval
      Gibt zurück:
      the stopTime
    • setStopTime

      public void setStopTime(Instant stopTime)
      Sets the (latest) stop time of the processing time interval
      Parameter:
      stopTime - the stopTime to set
    • getSlicingType

      public OrderSlicingType getSlicingType()
      Gets the method for partitioning the orbit time interval
      Gibt zurück:
      the slicingType the order slicing type
    • setSlicingType

      public void setSlicingType(OrderSlicingType slicingType)
      Sets the method for partitioning the orbit time interval. If the slicing type is set to TIME_SLICE and the slice duration has not yet been set, then the slice duration will be set to a default value of one day; for other slicing types the current slice duration will be deleted. If the slicing type is set to NONE, the slice overlap will be set to zero.
      Parameter:
      slicingType - the slicing type to set
    • getSliceDuration

      public Duration getSliceDuration()
      Gets the duration for a single slice
      Gibt zurück:
      the slice duration for slicing type TIME_SLICE, null otherwise
    • setSliceDuration

      public void setSliceDuration(Duration sliceDuration) throws IllegalStateException
      Sets the duration for a single slice (for slicing type TIME_SLICE only)
      Parameter:
      sliceDuration - the sliceDuration to set
      Löst aus:
      IllegalStateException - if setting a slice duration for orders with slicing type other than TIME_SLICE is attempted
    • getSliceOverlap

      public Duration getSliceOverlap()
      Gets the overlap time between slices
      Gibt zurück:
      the slice overlap
    • setSliceOverlap

      public void setSliceOverlap(Duration sliceOverlap) throws IllegalStateException
      Sets the overlap time between slices
      Parameter:
      sliceOverlap - the slice overlap to set
      Löst aus:
      IllegalStateException - if setting an overlap other than 0 for orders with slicing type NONE is attempted
    • getInputProductReference

      public InputProductReference getInputProductReference()
      Gibt zurück:
      the inputProductReference
    • setInputProductReference

      public void setInputProductReference(InputProductReference inputProductReference)
      Parameter:
      inputProductReference - the inputProductReference to set
    • getInputFilters

      public Map<ProductClass,InputFilter> getInputFilters()
      Gets the input filters
      Gibt zurück:
      the input filters
    • setInputFilters

      public void setInputFilters(Map<ProductClass,InputFilter> inputFilters)
      Sets the input filters
      Parameter:
      inputFilters - the input filters to set
    • getDynamicProcessingParameters

      public Map<String,Parameter> getDynamicProcessingParameters()
      Gets the dynamic processing parameters to be set for the Job Orders in this order
      Gibt zurück:
      the dynamicProcessingParameters
    • setDynamicProcessingParameters

      public void setDynamicProcessingParameters(Map<String,Parameter> dynamicProcessingParameters)
      Sets the dynamic processing parameters to be set for the Job Orders in this order
      Parameter:
      dynamicProcessingParameters - the dynamicProcessingParameters to set
    • getClassOutputParameters

      public Map<ProductClass,ClassOutputParameter> getClassOutputParameters()
      Gets the class-specific output parameters
      Gibt zurück:
      the class-specific output parameters
    • setClassOutputParameters

      public void setClassOutputParameters(Map<ProductClass,ClassOutputParameter> classOutputParameters)
      Sets the class-specific output parameters
      Parameter:
      classOutputParameters - the class-specific output parameters to set
    • getOutputParameters

      public Map<String,Parameter> getOutputParameters()
      Gets the output parameters
      Gibt zurück:
      the outputParameters
    • getOutputParameters

      public Map<String,Parameter> getOutputParameters(ProductClass productClass)
      Gets the output parameters for a specific product class (class-specific, if available, general otherwise)
      Parameter:
      productClass - the product class to get the parameters for
      Gibt zurück:
      the output parameters
    • setOutputParameters

      public void setOutputParameters(Map<String,Parameter> outputParameters)
      Sets the output parameters
      Parameter:
      outputParameters - the output parameters to set
    • getRequestedProductClasses

      public Set<ProductClass> getRequestedProductClasses()
      Gets the requested product classes
      Gibt zurück:
      the requestedProductClasses
    • setRequestedProductClasses

      public void setRequestedProductClasses(Set<ProductClass> requestedProductClasses)
      Sets the requested product classes
      Parameter:
      requestedProductClasses - the requestedProductClasses to set
    • getInputProductClasses

      public Set<ProductClass> getInputProductClasses()
      Gets the input product classes provided to the order
      Gibt zurück:
      the input product classes
    • setInputProductClasses

      public void setInputProductClasses(Set<ProductClass> inputProductClasses)
      Sets the input product classes provided to the order
      Parameter:
      inputProductClasses - the input product classes to set
    • getOutputFileClass

      public String getOutputFileClass()
      Gets the file class of the output products
      Gibt zurück:
      the outputFileClass
    • setOutputFileClass

      public void setOutputFileClass(String outputFileClass)
      Sets the file class for the output products
      Parameter:
      outputFileClass - the outputFileClass to set
    • getProcessingMode

      public String getProcessingMode()
      Gets the processing mode for the processors
      Gibt zurück:
      the processingMode
    • setProcessingMode

      public void setProcessingMode(String processingMode)
      Sets the processing mode for the processors
      Parameter:
      processingMode - the processingMode to set
    • getProductionType

      public ProductionType getProductionType()
      Gets the production type context
      Gibt zurück:
      the production type
    • setProductionType

      public void setProductionType(ProductionType productionType)
      Sets the production type context
      Parameter:
      productionType - the production type to set
    • getNotificationEndpoint

      public NotificationEndpoint getNotificationEndpoint()
      Gibt zurück:
      the notificationEndpoint
    • setNotificationEndpoint

      public void setNotificationEndpoint(NotificationEndpoint notificationEndpoint)
      Parameter:
      notificationEndpoint - the notificationEndpoint to set
    • getProductRetentionPeriod

      public Duration getProductRetentionPeriod()
      Gets the retention period for products generated by this processing order
      Gibt zurück:
      the product retention period
    • setProductRetentionPeriod

      public void setProductRetentionPeriod(Duration productRetentionPeriod)
      Sets the retention period for products generated by this processing order
      Parameter:
      productRetentionPeriod - the product retention period to set
    • getHasFailedJobSteps

      public Boolean getHasFailedJobSteps()
      Checks whether the order has failed job steps
      Gibt zurück:
      true, if at least one job step is in FAILED state, false otherwise
    • hasFailedJobSteps

      public Boolean hasFailedJobSteps()
      Checks whether the order has failed job steps (convenience method for getHasFailedJobSteps())
      Gibt zurück:
      true, if at least one job step is in FAILED state, false otherwise
    • setHasFailedJobSteps

      public void setHasFailedJobSteps(Boolean hasFailedJobSteps)
      Sets whether the order has failed job steps
      Parameter:
      hasFailedJobSteps - set to true, when a job step for this order fails
    • getWorkflow

      public Workflow getWorkflow()
      Get the workflow
      Gibt zurück:
      the workflow
    • setWorkflow

      public void setWorkflow(Workflow workflow)
      Set the workflow
      Parameter:
      workflow - the workflow to set
    • getRequestedConfiguredProcessors

      public Set<ConfiguredProcessor> getRequestedConfiguredProcessors()
      Gets the requested configured processors
      Gibt zurück:
      the requestedConfiguredProcessors
    • setRequestedConfiguredProcessors

      public void setRequestedConfiguredProcessors(Set<ConfiguredProcessor> requestedConfiguredProcessors)
      Sets the requested configured processors
      Parameter:
      requestedConfiguredProcessors - the requestedConfiguredProcessors to set
    • getRequestedOrbits

      public List<Orbit> getRequestedOrbits()
      Gets the requested orbits
      Gibt zurück:
      the requestedOrbits
    • setRequestedOrbits

      public void setRequestedOrbits(List<Orbit> requestedOrbits)
      Sets the requested orbits
      Parameter:
      requestedOrbits - the requestedOrbits to set
    • getJobs

      public Set<Job> getJobs()
      Gets the processing jobs
      Gibt zurück:
      the jobs
    • setJobs

      public void setJobs(Set<Job> jobs)
      Sets the processing jobs
      Parameter:
      jobs - the jobs to set
    • getMonOrderProgress

      public Set<MonOrderProgress> getMonOrderProgress()
      Gets the order progress monitoring data
      Gibt zurück:
      the order progress monitoring data
    • setMonOrderProgress

      public void setMonOrderProgress(Set<MonOrderProgress> monOrderProgress)
      Sets the order progress monitoring data
      Parameter:
      monOrderProgress - the order progress monitoring data to set
    • hashCode

      public int hashCode()
      Setzt außer Kraft:
      hashCode in Klasse PersistentObject
    • equals

      public boolean equals(Object obj)
      Beschreibung aus Klasse kopiert: PersistentObject
      Test equality of persistent objects based on their unique ID.
      Setzt außer Kraft:
      equals in Klasse PersistentObject
      Parameter:
      obj - the object to compare this object to
      Gibt zurück:
      true, if obj is a persistent object and has the same ID, false otherwise
      Siehe auch:
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object