dlr-eoc / prosEO

prosEO – A Processing System for Earth Observation Data
GNU General Public License v3.0
14 stars 1 forks source link

Configure product file name template per product class #59

Closed tangobravo62 closed 3 years ago

tangobravo62 commented 4 years ago

While it is OK to have an overarching file name template for a whole mission, for some missions the file name structure is product class-dependent. It should be possible to define a product file name template on the product class level to override the mission-wide template.

tangobravo62 commented 3 years ago

Implemented:

prosEO (PTM)> mission show -v PTM
---
id: 1
version: 3
code: "PTM"
[...]
productFileTemplate: "PTM_${fileClass}_${productClass.productType}_${T(java.time.format.DateTimeFormatter).ofPattern(\"\
  uuuuMMdd'T'HHmmss\").withZone(T(java.time.ZoneId).of(\"UTC\")).format(sensingStartTime)}_${T(java.time.format.DateTimeFormatter).ofPattern(\"\
  uuuuMMdd'T'HHmmss\").withZone(T(java.time.ZoneId).of(\"UTC\")).format(sensingStopTime)}_${(new\
  \ java.text.DecimalFormat(\"00000\")).format(null == orbit ? 0 : orbit.orbitNumber)}_${parameters.get(\"\
  revision\").getParameterValue()}_${configuredProcessor.processor.processorVersion.replaceAll(\"\
  \\\\.\", \"\")}_${T(java.time.format.DateTimeFormatter).ofPattern(\"uuuuMMdd'T'HHmmss\"\
  ).withZone(T(java.time.ZoneId).of(\"UTC\")).format(generationTime)}.nc"
[...]

prosEO (PTM)> productclass update LoopClass1 productFileTemplate=Some_private_template_for_LoopClass1
(I2866) Product class with database ID 206 updated (new version 2)

prosEO (PTM)> productclass show -v LoopClass1
---
id: 206
version: 2
missionCode: "PTM"
productType: "LoopClass1"
[...]
productFileTemplate: "Some_private_template_for_LoopClass1"
[...]