Commit b819430315217868e39609f16a805143e569165b

Authored by Elena.Budnik
1 parent 2b26bbdd

getPlot final

php/classes/WebServer.php
@@ -71,6 +71,11 @@ class WebServer @@ -71,6 +71,11 @@ class WebServer
71 return array("error" => $msg); 71 return array("error" => $msg);
72 } 72 }
73 73
  74 + private function isGetPlotRequest($name){
  75 +
  76 + return (substr($name,0,7) == 'getplot');
  77 + }
  78 +
74 private function xsl2vot($inputName, $outputName) 79 private function xsl2vot($inputName, $outputName)
75 { 80 {
76 // Load Time table 81 // Load Time table
@@ -148,20 +153,6 @@ class WebServer @@ -148,20 +153,6 @@ class WebServer
148 153
149 return WSConfigClass::getUrl().$ttListResult; 154 return WSConfigClass::getUrl().$ttListResult;
150 } 155 }
151 -  
152 - public function getResultPlot($data)  
153 - {  
154 - $res = $this->init($data);  
155 - $vars = $res['vars'];  
156 - $ID = $vars["plotDirectoryURL"];  
157 - $filename = WSRESULT.$ID."/request.list.png";  
158 - if (file_exists($filename)) {  
159 - $plotWSresult=WSRESULT.$ID."/request.list.png";  
160 - return array('success' => true, 'plotFileURL' => 'http://'.str_replace(BASE_PATH,$_SERVER['SERVER_NAME'].APACHE_ALIAS,$plotWSresult));  
161 - }  
162 - else  
163 - return array('success' => false);  
164 - }  
165 156
166 /* 157 /*
167 * Get corresponding orbit parameter ID 158 * Get corresponding orbit parameter ID
@@ -537,7 +528,9 @@ class WebServer @@ -537,7 +528,9 @@ class WebServer
537 $this->throwError("processError","Cannot retrieve process $id info"); 528 $this->throwError("processError","Cannot retrieve process $id info");
538 } 529 }
539 530
540 - return array('success' => true, 'status' => 'done', 'dataFileURLs' => WSConfigClass::getUrl().$res['result']); 531 + $resultTag = $this->isGetPlotRequest($res['result']) ? 'plotURL' : 'dataFileURLs';
  532 +
  533 + return array('success' => true, 'status' => 'done', $resultTag => WSConfigClass::getUrl().$res['result']);
541 } 534 }
542 catch (Exception $e) 535 catch (Exception $e)
543 { 536 {
@@ -558,7 +551,10 @@ class WebServer @@ -558,7 +551,10 @@ class WebServer
558 } 551 }
559 552
560 $this->deleteProcess($res['id']); 553 $this->deleteProcess($res['id']);
561 - return array('success' => true, 'status' => $res['status'], 'dataFileURLs' => WSConfigClass::getUrl().$res['result']); 554 +
  555 + $resultTag = $this->isGetPlotRequest($res['result']) ? 'plotURL' : 'dataFileURLs';
  556 +
  557 + return array('success' => true, 'status' => $res['status'], $resultTag => WSConfigClass::getUrl().$res['result']);
562 } 558 }
563 559
564 /* 560 /*
@@ -675,8 +671,11 @@ class WebServer @@ -675,8 +671,11 @@ class WebServer
675 671
676 $vars = $res['vars']; 672 $vars = $res['vars'];
677 $mission = $vars["missionID"]; 673 $mission = $vars["missionID"];
678 -  
679 - $resDirName = WSConfigClass::getWsResultDir(); // Define a temporary directory for results 674 +
  675 + $resultFilePrefix = strtolower(__FUNCTION__)."_".$mission."_".date("YmdHms",strtotime($vars["startTime"]))."_".date("YmdHms",strtotime($vars["stopTime"]));
  676 +
  677 + if ($this->userID != "impex")
  678 + $resultFilePrefix .= "_".$this->userID;
680 679
681 $dom = new DomDocument("1.0"); 680 $dom = new DomDocument("1.0");
682 $dom->load(plotsXml); 681 $dom->load(plotsXml);
@@ -691,51 +690,22 @@ class WebServer @@ -691,51 +690,22 @@ class WebServer
691 $requestObject = (Object) array( 690 $requestObject = (Object) array(
692 "nodeType" => "request", 691 "nodeType" => "request",
693 "file-format" => "PNG", 692 "file-format" => "PNG",
694 - "file-output" => "WS",  
695 - "ws-result-file" => $resDirName."/request.list.png",  
696 - "last-plotted-tab" => 1, 693 + "result-file" => $resultFilePrefix,
697 "timesrc" => "Interval", 694 "timesrc" => "Interval",
698 "startDate" => $vars["startTime"], 695 "startDate" => $vars["startTime"],
699 "stopDate" => $vars["stopTime"], 696 "stopDate" => $vars["stopTime"],
700 - "tabs" => array() 697 + "parameters" => array()
701 ); 698 );
702 699
703 - $pageObject = (Object) array(  
704 - "panels" => array()  
705 - );  
706 -  
707 foreach ($paramsList as $paramToPlot) 700 foreach ($paramsList as $paramToPlot)
708 { 701 {
709 - $panelObject = (Object) array(  
710 - "panel-plot-type" => "timePlot",  
711 - "axes" => array(),  
712 - "params" => array()  
713 - );  
714 -  
715 - $timeAxisObject = (Object) array(  
716 - );  
717 - $panelObject->{"axes"}[] = $timeAxisObject;  
718 -  
719 - $yAxisObject = (Object) array(  
720 - );  
721 - $panelObject->{"axes"}[] = $yAxisObject;  
722 -  
723 $paramObject = (Object) array( 702 $paramObject = (Object) array(
724 - "id" => 1,  
725 - "paramid" => $paramToPlot,  
726 - "param-drawing-type" => "serie",  
727 - "param-drawing-object" => (Object) array(  
728 - "serie-yaxis" => "y-left",  
729 - "serie-lines-activated" => true  
730 - ) 703 + "paramid" => $paramToPlot
731 ); 704 );
732 - $panelObject->{"params"}[] = $paramObject;  
733 705
734 - $pageObject->{"panels"}[] = $panelObject; 706 + $requestObject->{"parameters"}[] = $paramObject;
735 } 707 }
736 -  
737 - $requestObject->{"tabs"}[] = $pageObject;  
738 - 708 +
739 $this->service = strtolower(__FUNCTION__); 709 $this->service = strtolower(__FUNCTION__);
740 710
741 if (!isset($this->requestManager)) 711 if (!isset($this->requestManager))
@@ -746,8 +716,20 @@ class WebServer @@ -746,8 +716,20 @@ class WebServer
746 } catch (Exception $e) { 716 } catch (Exception $e) {
747 $this->throwError("plotError", "Exeption detected : ".$e->getMessage()); 717 $this->throwError("plotError", "Exeption detected : ".$e->getMessage());
748 } 718 }
749 -  
750 - return array('success' => true, 'plotDirectoryURL' => $ID); 719 +
  720 + if (!$plotResult['success']) {
  721 + $this->throwError("serverError", $plotResult['message']);
  722 + }
  723 +
  724 + if($plotResult['status'] == 'in_progress') {
  725 + return ['success' => true, 'status' => 'in progress', 'id' => $plotResult['id']];
  726 + } elseif ($plotResult['status'] == 'done')
  727 + {
  728 + $this->deleteProcess($plotResult['id']);
  729 + return array('success' => true, 'status' => 'done', 'plotFileURL' => WSConfigClass::getUrl().$plotResult['result']);
  730 + } else {
  731 + return ['success' => false, 'message' => 'Unknown status ' . $plotResult['status']];
  732 + }
751 } 733 }
752 } 734 }
753 ?> 735 ?>
php/rest/getDataset.php
@@ -24,4 +24,4 @@ @@ -24,4 +24,4 @@
24 } 24 }
25 25
26 echo json_encode($result); 26 echo json_encode($result);
27 - ?> 27 +?>
php/rest/getTimeTablesList.php
@@ -20,5 +20,3 @@ @@ -20,5 +20,3 @@
20 echo $result['message']; 20 echo $result['message'];
21 } 21 }
22 ?> 22 ?>
23 -  
24 -  
public/wsdl/Methods_AMDA.wsdl
@@ -36,9 +36,6 @@ @@ -36,9 +36,6 @@
36 <xs:element name="getPlot" type="tns:getPlot"/> 36 <xs:element name="getPlot" type="tns:getPlot"/>
37 <xs:element name="getPlotResponse" type="tns:getPlotResponse"/> 37 <xs:element name="getPlotResponse" type="tns:getPlotResponse"/>
38 38
39 - <xs:element name="getResultPlot" type="tns:getResultPlot"/>  
40 - <xs:element name="getResultPlotResponse" type="tns:getResultPlotResponse"/>  
41 -  
42 <xs:element name="getOrbites" type="tns:getOrbites"/> 39 <xs:element name="getOrbites" type="tns:getOrbites"/>
43 <xs:element name="getOrbitesResponse" type="tns:getOrbitesResponse"/> 40 <xs:element name="getOrbitesResponse" type="tns:getOrbitesResponse"/>
44 41
@@ -791,6 +788,12 @@ of a set of typically orthogonal axes. @@ -791,6 +788,12 @@ of a set of typically orthogonal axes.
791 required parameters</xs:documentation> 788 required parameters</xs:documentation>
792 </xs:annotation> 789 </xs:annotation>
793 </xs:element> 790 </xs:element>
  791 + <xs:element maxOccurs="1" minOccurs="0" name="plotURL" type="xs:anyURI">
  792 + <xs:annotation>
  793 + <xs:documentation>URLs of results plot files. If no URLs - no data for
  794 + required parameters</xs:documentation>
  795 + </xs:annotation>
  796 + </xs:element>
794 <xs:element maxOccurs="1" minOccurs="0" name="status"> 797 <xs:element maxOccurs="1" minOccurs="0" name="status">
795 <xs:annotation> 798 <xs:annotation>
796 <xs:documentation></xs:documentation> 799 <xs:documentation></xs:documentation>
@@ -948,32 +951,23 @@ of a set of typically orthogonal axes. @@ -948,32 +951,23 @@ of a set of typically orthogonal axes.
948 <xs:documentation>success or not</xs:documentation> 951 <xs:documentation>success or not</xs:documentation>
949 </xs:annotation> 952 </xs:annotation>
950 </xs:element> 953 </xs:element>
951 - <xs:element name="plotDirectoryURL" type="xs:string" minOccurs="1" maxOccurs="1">  
952 - <xs:annotation>  
953 - <xs:documentation>URL of directory of png file</xs:documentation>  
954 - </xs:annotation>  
955 - </xs:element>  
956 - </xs:sequence>  
957 - </xs:complexType>  
958 -  
959 - <xs:complexType name="getResultPlot">  
960 - <xs:sequence>  
961 - <xs:element name="plotDirectoryURL" type="xs:string" minOccurs="1" maxOccurs="1"> 954 + <xs:element maxOccurs="1" minOccurs="0" name="status">
962 <xs:annotation> 955 <xs:annotation>
963 - <xs:documentation>URL of directory of png file</xs:documentation> 956 + <xs:documentation></xs:documentation>
964 </xs:annotation> 957 </xs:annotation>
  958 + <xs:simpleType>
  959 + <xs:restriction base="xs:string">
  960 + <xs:enumeration value="in progress"/>
  961 + <xs:enumeration value="error"/>
  962 + </xs:restriction>
  963 + </xs:simpleType>
965 </xs:element> 964 </xs:element>
966 - </xs:sequence>  
967 - </xs:complexType>  
968 -  
969 - <xs:complexType name="getResultPlotResponse">  
970 - <xs:sequence>  
971 - <xs:element name="success" minOccurs="1" maxOccurs="1" type="xs:boolean"> 965 + <xs:element maxOccurs="1" minOccurs="0" name="id" type="xs:string">
972 <xs:annotation> 966 <xs:annotation>
973 - <xs:documentation>success=true if plot exists and else false </xs:documentation> 967 + <xs:documentation>process ID</xs:documentation>
974 </xs:annotation> 968 </xs:annotation>
975 </xs:element> 969 </xs:element>
976 - <xs:element name="plotFileURL" type="xs:anyURI" minOccurs="0" maxOccurs="1"> 970 + <xs:element name="plotFileURL" type="xs:string" minOccurs="0" maxOccurs="1">
977 <xs:annotation> 971 <xs:annotation>
978 <xs:documentation>URL of png file</xs:documentation> 972 <xs:documentation>URL of png file</xs:documentation>
979 </xs:annotation> 973 </xs:annotation>
@@ -1214,14 +1208,6 @@ of a set of typically orthogonal axes. @@ -1214,14 +1208,6 @@ of a set of typically orthogonal axes.
1214 <wsdl:part name="parameters" element="tns:getPlotResponse"> </wsdl:part> 1208 <wsdl:part name="parameters" element="tns:getPlotResponse"> </wsdl:part>
1215 </wsdl:message> 1209 </wsdl:message>
1216 1210
1217 - <wsdl:message name="getResultPlot">  
1218 - <wsdl:part name="parameters" element="tns:getResultPlot"> </wsdl:part>  
1219 - </wsdl:message>  
1220 -  
1221 - <wsdl:message name="getResultPlotResponse">  
1222 - <wsdl:part name="parameters" element="tns:getResultPlotResponse"></wsdl:part>  
1223 - </wsdl:message>  
1224 -  
1225 <wsdl:message name="getStatus"> 1211 <wsdl:message name="getStatus">
1226 <wsdl:part name="parameters" element="tns:getStatus"></wsdl:part> 1212 <wsdl:part name="parameters" element="tns:getStatus"></wsdl:part>
1227 </wsdl:message> 1213 </wsdl:message>
@@ -1290,11 +1276,6 @@ of a set of typically orthogonal axes. @@ -1290,11 +1276,6 @@ of a set of typically orthogonal axes.
1290 <wsdl:output message="tns:getPlotResponse"> </wsdl:output> 1276 <wsdl:output message="tns:getPlotResponse"> </wsdl:output>
1291 </wsdl:operation> 1277 </wsdl:operation>
1292 1278
1293 - <wsdl:operation name="getResultPlot">  
1294 - <wsdl:input message="tns:getResultPlot"> </wsdl:input>  
1295 - <wsdl:output message="tns:getResultPlotResponse"> </wsdl:output>  
1296 - </wsdl:operation>  
1297 -  
1298 <wsdl:operation name="getOrbites"> 1279 <wsdl:operation name="getOrbites">
1299 <wsdl:input message="tns:getOrbites"> </wsdl:input> 1280 <wsdl:input message="tns:getOrbites"> </wsdl:input>
1300 <wsdl:output message="tns:getOrbitesResponse"> </wsdl:output> 1281 <wsdl:output message="tns:getOrbitesResponse"> </wsdl:output>
@@ -1392,16 +1373,6 @@ of a set of typically orthogonal axes. @@ -1392,16 +1373,6 @@ of a set of typically orthogonal axes.
1392 </wsdl:output> 1373 </wsdl:output>
1393 </wsdl:operation> 1374 </wsdl:operation>
1394 1375
1395 - <wsdl:operation name="getResultPlot">  
1396 - <soap:operation soapAction="" style="document"/>  
1397 - <wsdl:input>  
1398 - <soap:body use="literal"/>  
1399 - </wsdl:input>  
1400 - <wsdl:output>  
1401 - <soap:body use="literal"/>  
1402 - </wsdl:output>  
1403 - </wsdl:operation>  
1404 -  
1405 <wsdl:operation name="getOrbites"> 1376 <wsdl:operation name="getOrbites">
1406 <soap:operation soapAction="" style="document"/> 1377 <soap:operation soapAction="" style="document"/>
1407 <wsdl:input> 1378 <wsdl:input>