From d6410187af0bab762630ec286340e8669a76dceb Mon Sep 17 00:00:00 2001 From: Benjamin Renard <benjamin.renard@akka.eu> Date: Fri, 3 Jul 2015 08:58:46 +0200 Subject: [PATCH] Complete download intergration --- src/InputOutput/IHMImpl/Params/DownloadImpl/IHMInputOutputParamsDownloadClass.php | 40 +++++++++++++++++++++++++++++++--------- src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputDownloadNodeClass.php | 10 +++++++--- 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/src/InputOutput/IHMImpl/Params/DownloadImpl/IHMInputOutputParamsDownloadClass.php b/src/InputOutput/IHMImpl/Params/DownloadImpl/IHMInputOutputParamsDownloadClass.php index d43c91f..84db02a 100644 --- a/src/InputOutput/IHMImpl/Params/DownloadImpl/IHMInputOutputParamsDownloadClass.php +++ b/src/InputOutput/IHMImpl/Params/DownloadImpl/IHMInputOutputParamsDownloadClass.php @@ -27,24 +27,36 @@ class IHMInputOutputParamsDownloadClass extends IHMInputOutputParamsAbstractClas $outputsNode = $this->paramsData->getRequestNode()->getOutputsNode(); $downloadNode = $outputsNode->addNewOutput(RequestOutputTypeEnum::DOWNLOAD); - //timeformatData : [['Y-m-dTH:i:s', 'YYYY-MM-DDThh:mm:ss'], ['Y m d H i s', 'YYYY MM DD hh mm ss'], ['d m Y H i s', 'DD MM YYYY hh mm ss'], ['Y z H i s', 'YYYY DDD hh mm ss']], + //timeformatData : [['Y-m-dTH:i:s', 'YYYY-MM-DDThh:mm:ss'], ['DD Time', 'DD Time'], ['Timestamp', 'Timestamp']], switch ($input->timeformat) { case 'YYYY-MM-DDThh:mm:ss' : $downloadNode->setTimeFormat(RequestOutputDownloadTimeFormatEnum::ISO); break; + case 'DD Time' : + $downloadNode->setTimeFormat(RequestOutputDownloadTimeFormatEnum::DDTIME); + break; + case 'Timestamp' : + $downloadNode->setTimeFormat(RequestOutputDownloadTimeFormatEnum::TIMESTAMP); + break; default : throw new Exception('Time format not implemented.'); } - //formatData : [['ASCII', 'ASCII'],['vot', 'VOTable']], + //formatData : [['ASCII', 'ASCII'],['vot', 'VOTable'],['cdf', 'CDF'],['json', 'JSON']], switch ($input->fileformat) { case "ASCII" : $downloadNode->setFileFormat(RequestOutputDownloadFileFormatEnum::ASCII); break; - case "vot" : - $downloadNode->setFileFormat(RequestOutputDownloadFileFormatEnum::VOTABLE); + case "vot" : + $downloadNode->setFileFormat(RequestOutputDownloadFileFormatEnum::VOTABLE); + break; + case "cdf" : + $downloadNode->setFileFormat(RequestOutputDownloadFileFormatEnum::CDF); + break; + case "json" : + $downloadNode->setFileFormat(RequestOutputDownloadFileFormatEnum::JSON); break; default : throw new Exception('File format not implemented.'); @@ -65,12 +77,22 @@ class IHMInputOutputParamsDownloadClass extends IHMInputOutputParamsAbstractClas switch ($input->structure) { case "0" : - $downloadNode->setSamplingTime($input->sampling); - $downloadNode->setStructure(RequestOutputDownloadStructureEnum::ONE_FILE); + if (!$input->refparamSampling) + { + $downloadNode->setSamplingTime($input->sampling); + $downloadNode->setStructure(RequestOutputDownloadStructureEnum::ONE_FILE); + } + else + $downloadNode->setStructure(RequestOutputDownloadStructureEnum::ONE_FILE_REFPARAM); break; case "1" : - $downloadNode->setSamplingTime($input->sampling); - $downloadNode->setStructure(RequestOutputDownloadStructureEnum::ONE_FILE_PER_INTERVAL); + if (!$input->refparamSampling) + { + $downloadNode->setSamplingTime($input->sampling); + $downloadNode->setStructure(RequestOutputDownloadStructureEnum::ONE_FILE_PER_INTERVAL); + } + else + $downloadNode->setStructure(RequestOutputDownloadStructureEnum::ONE_FILE_PER_INTERVAL_REFPARAM); break; case "2" : $downloadNode->setStructure(RequestOutputDownloadStructureEnum::ONE_FILE_PER_PARAMETER_PER_INTERVAL); @@ -116,4 +138,4 @@ class IHMInputOutputParamsDownloadClass extends IHMInputOutputParamsAbstractClas return $this->commonMarshallResult($data,DOWNLOAD_RESULT_FILE_KEY); } } -?> \ No newline at end of file +?> diff --git a/src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputDownloadNodeClass.php b/src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputDownloadNodeClass.php index 90d7894..1b1b8cf 100644 --- a/src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputDownloadNodeClass.php +++ b/src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputDownloadNodeClass.php @@ -17,8 +17,10 @@ define ("REQUESTOUTPUTDOWNLOADPARAM_CALIB", "calibration_info"); abstract class RequestOutputDownloadTimeFormatEnum { - const UNKNOWN = ""; - const ISO = "ISO"; + const UNKNOWN = ""; + const ISO = "ISO"; + const DDTIME = "DD"; + const TIMESTAMP = "DOUBLE"; } abstract class RequestOutputDownloadFileFormatEnum @@ -26,6 +28,8 @@ abstract class RequestOutputDownloadFileFormatEnum const UNKNOWN = ""; const ASCII = "ASCII"; const VOTABLE = "VOT"; + const CDF = "CDF"; + const JSON = "JSON"; } abstract class RequestOutputDownloadStructureEnum @@ -230,4 +234,4 @@ class RequestOutputDownloadNodeClass extends NodeClass } } -?> \ No newline at end of file +?> -- libgit2 0.21.2