Package de.dlr.proseo.model
Class Product
java.lang.Object
de.dlr.proseo.model.PersistentObject
de.dlr.proseo.model.Product
Representation of a data product
- Author:
- Dr. Thomas Bassler
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanTests equality of products based on their attribute values.Generates a product filename according to the file name template given for the enclosing missionGet a named Boolean parameterGets the sub-products of this productGets the configured processor that generated this productgetDoubleParameter(String key) Get a named Double parameterGets the product download historyGets the enclosing product of this productGets the product eviction timeGets the product file classGets the product generation timeGet a named Instant parameterGet a named Integer parameterGets the job step that created this productgetMode()Gets the processing modegetOrbit()Gets the orbit for this productGets the product parametersGets the product classGets the set of product files (at most one per existing processing facility)Gets the production type of the productGets the product quality indicatorGets the product publication (= ingestion) timeGets the time of the availability of the satellite raw dataGets the requested start timeGets the requested stop timeGets the set of satisfied product queriesGets the sensing start timeGets the sensing stop timegetStringParameter(String key) Get a named String parametergetUuid()Gets the universally unique product identifierinthashCode()voidsetBooleanParameter(String key, Boolean value) Set the named Boolean parameter to the given valuevoidsetComponentProducts(Set<Product> componentProducts) Sets the sub-products of this productvoidsetConfiguredProcessor(ConfiguredProcessor configuredProcessor) Sets the configured processor that generated this productvoidsetDoubleParameter(String key, Double value) Set the named Double parameter to the given valuevoidsetDownloadHistory(Set<DownloadHistory> downloadHistory) Sets the product download historyvoidsetEnclosingProduct(Product enclosingProduct) Sets the enclosing product of this productvoidsetEvictionTime(Instant evictionTime) Sets the product eviction timevoidsetFileClass(String fileClass) Sets the product file classvoidsetGenerationTime(Instant generationTime) Sets the product generation timevoidsetInstantParameter(String key, TemporalAccessor value) Set the named Instant parameter to the given valuevoidsetIntegerParameter(String key, Integer value) Set the named Integer parameter to the given valuevoidsetJobStep(JobStep jobStep) Sets the job step that created this productvoidSets the processing modevoidSets the orbit for this productvoidsetParameters(Map<String, Parameter> parameters) Sets the product parametersvoidsetProductClass(ProductClass productClass) Sets the product classvoidsetProductFile(Set<ProductFile> productFile) Sets the set of product files (at most one per existing processing facility)voidsetProductionType(ProductionType productionType) Sets the production type of the productvoidsetProductQuality(ProductQuality productQuality) Sets the product quality indicatorvoidsetPublicationTime(Instant publicationTime) Sets the product publication (= ingestion) timevoidsetRawDataAvailabilityTime(Instant rawDataAvailabilityTime) Sets the time of the availability of the satellite raw datavoidsetRequestedStartTime(Instant requestedStartTime) Sets the requested start timevoidsetRequestedStopTime(Instant requestedStopTime) Sets the requested stop timevoidsetSatisfiedProductQueries(Set<ProductQuery> satisfiedProductQueries) Sets the set of satisfied product queriesvoidsetSensingStartTime(Instant sensingStartTime) Sets the sensing start timevoidsetSensingStopTime(Instant sensingStopTime) Sets the sensing stop timevoidsetStringParameter(String key, String value) Set the named String parameter to the given valuevoidSets the universally unique product identifiertoString()Methods inherited from class de.dlr.proseo.model.PersistentObject
getId, getVersion, incrementVersion, setId
-
Constructor Details
-
Product
public Product()
-
-
Method Details
-
getUuid
Gets the universally unique product identifier- Returns:
- the UUID
-
setUuid
Sets the universally unique product identifier- Parameters:
uuid- the UUID to set
-
getProductClass
Gets the product class- Returns:
- the productClass
-
setProductClass
Sets the product class- Parameters:
productClass- the productClass to set
-
getFileClass
Gets the product file class- Returns:
- the file class
-
setFileClass
Sets the product file class- Parameters:
fileClass- the file class to set
-
getMode
Gets the processing mode- Returns:
- the mode
-
setMode
Sets the processing mode- Parameters:
mode- the mode to set
-
getProductQuality
Gets the product quality indicator- Returns:
- the product quality
-
setProductQuality
Sets the product quality indicator- Parameters:
productQuality- the product quality to set
-
getRequestedStartTime
Gets the requested start time- Returns:
- the requested start time
-
setRequestedStartTime
Sets the requested start time- Parameters:
requestedStartTime- the requested start time to set
-
getRequestedStopTime
Gets the requested stop time- Returns:
- the requested stop time
-
setRequestedStopTime
Sets the requested stop time- Parameters:
requestedStopTime- the requested stop time to set
-
getSensingStartTime
Gets the sensing start time- Returns:
- the sensing start time
-
setSensingStartTime
Sets the sensing start time- Parameters:
sensingStartTime- the sensing start time to set
-
getSensingStopTime
Gets the sensing stop time- Returns:
- the sensing stop time
-
setSensingStopTime
Sets the sensing stop time- Parameters:
sensingStopTime- the sensing stop time to set
-
getRawDataAvailabilityTime
Gets the time of the availability of the satellite raw data- Returns:
- the raw data availability time
-
setRawDataAvailabilityTime
Sets the time of the availability of the satellite raw data- Parameters:
rawDataAvailabilityTime- the raw data availability time to set
-
getGenerationTime
Gets the product generation time- Returns:
- the generationTime
-
setGenerationTime
Sets the product generation time- Parameters:
generationTime- the generationTime to set
-
getPublicationTime
Gets the product publication (= ingestion) time- Returns:
- the publication time
-
setPublicationTime
Sets the product publication (= ingestion) time- Parameters:
publicationTime- the publication time to set
-
getEvictionTime
Gets the product eviction time- Returns:
- the eviction time
-
setEvictionTime
Sets the product eviction time- Parameters:
evictionTime- the eviction time to set
-
getDownloadHistory
Gets the product download history- Returns:
- the download history
-
setDownloadHistory
Sets the product download history- Parameters:
downloadHistory- the download history to set
-
getProductionType
Gets the production type of the product- Returns:
- the production type
-
setProductionType
Sets the production type of the product- Parameters:
productionType- the production type to set
-
getComponentProducts
Gets the sub-products of this product- Returns:
- the componentProducts
-
setComponentProducts
Sets the sub-products of this product- Parameters:
componentProducts- the componentProducts to set
-
getEnclosingProduct
Gets the enclosing product of this product- Returns:
- the enclosingProduct
-
setEnclosingProduct
Sets the enclosing product of this product- Parameters:
enclosingProduct- the enclosingProduct to set
-
getOrbit
Gets the orbit for this product- Returns:
- the orbit (or null, if this product is not associated to an orbit)
-
setOrbit
Sets the orbit for this product- Parameters:
orbit- the orbit to set (may be null)
-
getProductFile
Gets the set of product files (at most one per existing processing facility)- Returns:
- the productFile
-
setProductFile
Sets the set of product files (at most one per existing processing facility)- Parameters:
productFile- the productFile to set
-
getSatisfiedProductQueries
Gets the set of satisfied product queries- Returns:
- the satisfiedProductQueries
-
setSatisfiedProductQueries
Sets the set of satisfied product queries- Parameters:
satisfiedProductQueries- the satisfiedProductQueries to set
-
getJobStep
Gets the job step that created this product- Returns:
- the jobStep
-
setJobStep
Sets the job step that created this product- Parameters:
jobStep- the jobStep to set
-
getConfiguredProcessor
Gets the configured processor that generated this product- Returns:
- the configuredProcessor
-
setConfiguredProcessor
Sets the configured processor that generated this product- Parameters:
configuredProcessor- the configuredProcessor to set
-
getParameters
Gets the product parameters- Returns:
- the parameters
-
setParameters
Sets the product parameters- Parameters:
parameters- the parameters to set
-
getStringParameter
Get a named String parameter- Parameters:
key- the name of the String parameter- Returns:
- the parameter value casted to String
- Throws:
ClassCastException- if the named parameter is not of an appropriate type
-
setStringParameter
Set the named String parameter to the given value- Parameters:
key- the parameter namevalue- the parameter value to set
-
getIntegerParameter
Get a named Integer parameter- Parameters:
key- the name of the Integer parameter- Returns:
- the parameter value casted to Integer
- Throws:
ClassCastException- if the named parameter is not of an appropriate type
-
setIntegerParameter
Set the named Integer parameter to the given value- Parameters:
key- the parameter namevalue- the parameter value to set
-
getBooleanParameter
Get a named Boolean parameter- Parameters:
key- the name of the Boolean parameter- Returns:
- the parameter value casted to Boolean
- Throws:
ClassCastException- if the named parameter is not of an appropriate type
-
setBooleanParameter
Set the named Boolean parameter to the given value- Parameters:
key- the parameter namevalue- the parameter value to set
-
getDoubleParameter
Get a named Double parameter- Parameters:
key- the name of the Double parameter- Returns:
- the parameter value casted to Double
- Throws:
ClassCastException- if the named parameter is not of an appropriate type
-
setDoubleParameter
Set the named Double parameter to the given value- Parameters:
key- the parameter namevalue- the parameter value to set
-
getInstantParameter
Get a named Instant parameter- Parameters:
key- the name of the Instant parameter- Returns:
- the parameter value casted to Instant
- Throws:
ClassCastException- if the named parameter is not of an appropriate type
-
setInstantParameter
Set the named Instant parameter to the given value- Parameters:
key- the parameter namevalue- the parameter value to set
-
generateFilename
public String generateFilename() throws IllegalStateException, org.springframework.expression.ParseException, org.springframework.expression.EvaluationExceptionGenerates a product filename according to the file name template given for the enclosing mission- Returns:
- a filename string
- Throws:
IllegalStateException- if the filename template for the mission could not be foundorg.springframework.expression.ParseException- if the filename template could not be parsed using Spring Expression Languageorg.springframework.expression.EvaluationException- if the filename template could not be evaluated
-
toString
-
hashCode
public int hashCode()- Overrides:
hashCodein classPersistentObject
-
equals
Tests equality of products based on their attribute values. Returns true if either of the following alternatives holds:- The database IDs are equal
- The UUIDs are equal or at least one of the UUIDs is null (i.e. they do not have different UUIDs)
- All of the following attributes are equal:
- Product class
- Configured processor
- Sensing start/stop times
- Processing mode
- File class
- Product quality
- Production type
- All product parameters present in both products (additional parameters on either product will be ignored)
- Overrides:
equalsin classPersistentObject- Parameters:
obj- the object to compare to- Returns:
- true, if the two objects are equal, false otherwise
- See Also:
-