Commit bdce09823c821bb7db2cf93eafd616d3942b9f3a
Exists in
master
and in
37 other branches
Merge branch 'develop' into amdadev
Showing
6 changed files
with
67 additions
and
19 deletions
Show diff stats
src/InputOutput/IHMImpl/Params/DataMiningImpl/IHMInputOutputParamsDataMiningClass.php
... | ... | @@ -14,7 +14,7 @@ class IHMInputOutputParamsDataMiningClass extends IHMInputOutputParamsAbstractCl |
14 | 14 | */ |
15 | 15 | protected function unmarshallRequest($input) |
16 | 16 | { |
17 | - /* '{"id":"cond_2","name":"us44_test1","sampling":600,"gap":5,"description":"","expression":"dst>0","timesrc":"Interval","startDate":"2008-01-31T00:00:00","stopDate":"2008-02-01T00:00:00","durationDay":"0001","durationHour":"00","durationMin":"00","durationSec":"00","leaf":true,"nodeType":"condition"}' | |
17 | + /* '{"id":"cond_2","name":"us44_test1","sampling":600,"gap":5,"description":"","expression":"dst>0","timesrc":"Interval","startDate":"2008-01-31T00:00:00","stopDate":"2008-02-01T00:00:00","durationDay":"0001","durationHour":"00","durationMin":"00","durationSec":"00","durationMs":"000","leaf":true,"nodeType":"condition"}' | |
18 | 18 | */ |
19 | 19 | |
20 | 20 | $requestNode = $this->paramsData->addRequestNode(0); |
... | ... |
src/InputOutput/IHMImpl/Params/IHMInputOutputParamsAbstractClass.php
... | ... | @@ -110,10 +110,8 @@ abstract class IHMInputOutputParamsAbstractClass implements InputOutputInterface |
110 | 110 | break; |
111 | 111 | case "Interval" : |
112 | 112 | date_default_timezone_set('UTC'); |
113 | - $timeStamp = strtotime($input->startDate); | |
114 | - $start = CommonClass::timeStampToDDTime($timeStamp); | |
115 | - $timeStamp = strtotime($input->stopDate) - strtotime($input->startDate); | |
116 | - $duration = CommonClass::timeStampToDDTime($timeStamp); | |
113 | + $start = CommonClass::strTimeToDDTime($input->startDate); | |
114 | + $duration = CommonClass::getDurationDDTime($input->stopDate, $input->startDate); | |
117 | 115 | $timesNode->addInterval($start, $duration); |
118 | 116 | break; |
119 | 117 | default : |
... | ... |
src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php
... | ... | @@ -391,8 +391,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass |
391 | 391 | case 'instantPlot': |
392 | 392 | $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::INSTANTPLOT); |
393 | 393 | date_default_timezone_set('UTC'); |
394 | - $timeStamp = strtotime($panelData->{'panel-instant-time'}); | |
395 | - $time = CommonClass::timeStampToDDTime($timeStamp); | |
394 | + $time = CommonClass::strTimeToDDTime($panelData->{'panel-instant-time'}); | |
396 | 395 | $plotNode->setTime($time); |
397 | 396 | $this->isInstantPlot = true; |
398 | 397 | break; |
... | ... | @@ -1064,8 +1063,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass |
1064 | 1063 | switch ($axisNode->getName()) { |
1065 | 1064 | case REQUESTOUTPUTPLOTTIMEAXIS_NAME: |
1066 | 1065 | date_default_timezone_set('UTC'); |
1067 | - $timeStamp = strtotime($constantData->{'constant-time-value'}); | |
1068 | - $time = CommonClass::timeStampToDDTime($timeStamp); | |
1066 | + $time = CommonClass::strTimeToDDTime($constantData->{'constant-time-value'}); | |
1069 | 1067 | $constantNode->setConstantValue($time); |
1070 | 1068 | break; |
1071 | 1069 | default: |
... | ... | @@ -1101,8 +1099,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass |
1101 | 1099 | |
1102 | 1100 | if ($isTimePlot && !$textData->{'text-x-relative'}) { |
1103 | 1101 | date_default_timezone_set('UTC'); |
1104 | - $timeStamp = strtotime($textData->{'text-x-timevalue'}); | |
1105 | - $time = CommonClass::timeStampToDDTime($timeStamp); | |
1102 | + $time = CommonClass::strTimeToDDTime($textData->{'text-x-timevalue'}); | |
1106 | 1103 | $textNode->setX($time); |
1107 | 1104 | } else if ($textData->{'text-x-relative'}) |
1108 | 1105 | $textNode->setX(($textData->{'text-x-floatvalue'} * 100) . "%"); |
... | ... | @@ -1463,8 +1460,10 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass |
1463 | 1460 | return $this->unmarshallZoom($actionInput, $plotInput); |
1464 | 1461 | case 'forward': |
1465 | 1462 | case 'halfforward': |
1463 | + case 'quarterforward': | |
1466 | 1464 | case 'backward': |
1467 | 1465 | case 'halfbackward': |
1466 | + case 'quarterbackward': | |
1468 | 1467 | case 'extend': |
1469 | 1468 | case 'shift': |
1470 | 1469 | return $this->unmarshallNavigation($actionInput, $plotInput); |
... | ... | @@ -1657,6 +1656,10 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass |
1657 | 1656 | $startTimeStamp += ($duration / 2); |
1658 | 1657 | $stopTimeStamp += ($duration / 2); |
1659 | 1658 | break; |
1659 | + case 'quarterforward': | |
1660 | + $startTimeStamp += ($duration / 4); | |
1661 | + $stopTimeStamp += ($duration / 4); | |
1662 | + break; | |
1660 | 1663 | case 'backward': |
1661 | 1664 | $startTimeStamp -= $duration; |
1662 | 1665 | $stopTimeStamp -= $duration; |
... | ... | @@ -1665,6 +1668,10 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass |
1665 | 1668 | $startTimeStamp -= ($duration / 2); |
1666 | 1669 | $stopTimeStamp -= ($duration / 2); |
1667 | 1670 | break; |
1671 | + case 'quarterbackward': | |
1672 | + $startTimeStamp -= ($duration / 4); | |
1673 | + $stopTimeStamp -= ($duration / 4); | |
1674 | + break; | |
1668 | 1675 | case 'extend': |
1669 | 1676 | $startTimeStamp -= $input->{'duration'}; |
1670 | 1677 | $stopTimeStamp += $input->{'duration'}; |
... | ... |
src/InputOutput/IHMImpl/Tools/CommonClass.php
... | ... | @@ -34,6 +34,51 @@ class CommonClass |
34 | 34 | $t = date("His",$timeStamp)."000"; |
35 | 35 | return $y.$d.$t; |
36 | 36 | } |
37 | + | |
38 | + public static function getDurationDDTime($strStop, $strStart) | |
39 | + { | |
40 | + | |
41 | + $timeStamp = strtotime($strStop) - strtotime($strStart); | |
42 | + | |
43 | + $diffMs = CommonClass::getMsIntFromStrTime($strStop) - CommonClass::getMsIntFromStrTime($strStart); | |
44 | + $duration =CommonClass::timeStampToDDTime($timeStamp); | |
45 | + | |
46 | + return str_pad(strval((intval($duration) + $diffMs)),16,'0', STR_PAD_LEFT); | |
47 | + } | |
48 | + | |
49 | + public static function getMsIntFromStrTime($strTime){ | |
50 | + $ms = end(explode(".", $strTime)); | |
51 | + if(strlen($ms) == 0 || strlen($ms) > 6 ) | |
52 | + return 0; | |
53 | + if(intval($ms) >= 1000) | |
54 | + return (int) intval($ms)/1000; | |
55 | + return intval($ms); | |
56 | + } | |
57 | + | |
58 | + public static function getMsStrFromStrTime($strTime){ | |
59 | + $intMs = CommonClass::getMsIntFromStrTime($strTime); | |
60 | + return str_pad($intMs,3, '0', STR_PAD_LEFT); | |
61 | + } | |
62 | + | |
63 | + | |
64 | + public static function strTimeToDDTime($strTime) | |
65 | + { | |
66 | + $timeStamp = strtotime($strTime); | |
67 | + $ms = end(explode(".", $strTime)); | |
68 | + if(strlen($ms) ==0 || strlen($ms) > 6) | |
69 | + $ms= "000"; | |
70 | + $y = date("Y",$timeStamp); | |
71 | + $d = date("z",$timeStamp); | |
72 | + if (strlen($d) == 0) | |
73 | + $d = "000"; | |
74 | + else if (strlen($d) == 1) | |
75 | + $d = "00".$d; | |
76 | + else if (strlen($d) == 2) | |
77 | + $d = "0".$d; | |
78 | + $t = date("His",$timeStamp).$ms; | |
79 | + return $y.$d.$t; | |
80 | + } | |
81 | + | |
37 | 82 | /* |
38 | 83 | * @brief DDTime to timestamp conversion |
39 | 84 | */ |
... | ... | @@ -42,7 +87,7 @@ class CommonClass |
42 | 87 | date_default_timezone_set('UTC'); |
43 | 88 | $date = DateTime::createFromFormat('YzHisu', $DDTime); |
44 | 89 | |
45 | - return strtotime($date->format("Y-m-d\TH:i:s")); | |
90 | + return strtotime($date->format("Y-m-d\TH:i:s.u")); | |
46 | 91 | } |
47 | 92 | |
48 | 93 | /* |
... | ... | @@ -52,7 +97,7 @@ class CommonClass |
52 | 97 | { |
53 | 98 | $date = DateTime::createFromFormat('YzHisu', $DDTime); |
54 | 99 | |
55 | - return $date->format("Y-m-d\TH:i:s"); | |
100 | + return $date->format("Y-m-d\TH:i:s.u"); | |
56 | 101 | } |
57 | 102 | |
58 | 103 | /* |
... | ... | @@ -63,7 +108,7 @@ class CommonClass |
63 | 108 | $startStamp = self::DDTimeToTimeStamp($DDStart); |
64 | 109 | $intStamp = self::DDTimeToTimeStamp($DDInterval); |
65 | 110 | |
66 | - return date("Y-m-d\TH:i:s", $startStamp + $intStamp); | |
111 | + return date("Y-m-d\TH:i:s.u", $startStamp + $intStamp); | |
67 | 112 | } |
68 | 113 | |
69 | 114 | public static function rrmdir($dir) |
... | ... |
src/InputOutput/IHMImpl/Tools/IHMUserWSManagerClass.php
... | ... | @@ -194,7 +194,7 @@ class IHMUserWSManagerClass |
194 | 194 | foreach ($req_data_json["tabs"] as $tab) { |
195 | 195 | $new_splitted_request = array_merge(array(), $tab); |
196 | 196 | foreach (array_keys($req_data_json) as $key) { |
197 | - if (in_array($key, array('tabs', 'startDate', 'stopDate', 'durationDay', 'durationHour', 'durationMin', 'durationSec'))) { | |
197 | + if (in_array($key, array('tabs', 'startDate', 'stopDate', 'durationDay', 'durationHour', 'durationMin', 'durationSec', 'durationMs'))) { | |
198 | 198 | continue; |
199 | 199 | } |
200 | 200 | $new_splitted_request[$key] = $req_data_json[$key]; |
... | ... |
src/InputOutput/WSImpl/Params/DownloadImpl/WSInputOutputParamsDownloadClass.php
... | ... | @@ -165,10 +165,8 @@ class WSInputOutputParamsDownloadClass extends IHMInputOutputParamsAbstractClass |
165 | 165 | $timesNode = $requestNodes[$requestIndex]->getTimesNode(); |
166 | 166 | |
167 | 167 | date_default_timezone_set('UTC'); |
168 | - $timeStamp = strtotime($input->startDate); | |
169 | - $start = CommonClass::timeStampToDDTime($timeStamp); | |
170 | - $timeStamp = strtotime($input->stopDate) - strtotime($input->startDate); | |
171 | - $duration = CommonClass::timeStampToDDTime($timeStamp); | |
168 | + $start = CommonClass::strTimeToDDTime($input->startDate); | |
169 | + $duration = CommonClass::getDurationDDTime($input->stopDate, $input->startDate); | |
172 | 170 | $timesNode->addInterval($start, $duration); |
173 | 171 | } |
174 | 172 | |
... | ... |