Commit 981cd087f7e5110426968dd907268631bf34c402

Authored by Elena.Budnik
1 parent 3720136b

ws transfer modifs

generic_data/migration/NotReady.xml
... ... @@ -27,4 +27,6 @@
27 27 <deleted xml:id="ba2000"/>
28 28 <deleted xml:id="bt96"/>
29 29 <deleted xml:id="bcain"/>
  30 + <deleted xml:id="gtl_edhigh_av"/>
  31 + <deleted xml:id="gtl_he_av"/>
30 32 </root>
... ...
generic_data/migration/migrationTest.php 0 → 100644
... ... @@ -0,0 +1,41 @@
  1 +<?php
  2 + define("AMDA_IHM", "../../");
  3 + define("DATAPATH", AMDA_IHM."generic_data/");
  4 + define("USERPATH", "/home/budnik/data/");
  5 +
  6 + require_once AMDA_IHM."php/classes/UserWsTransfer.php";
  7 + $user = 'budnik';
  8 +
  9 + if (!is_dir(USERPATH)) mkdir(USERPATH);
  10 + if (!is_dir(USERPATH.$user)) mkdir(USERPATH.$user);
  11 + if (!is_dir(USERPATH.$user."/WS")) mkdir(USERPATH.$user."/WS");
  12 + if (!is_dir(USERPATH.$user."/TT")) mkdir(USERPATH.$user."/TT");
  13 + if (!is_dir(USERPATH.$user."/DATA")) mkdir(USERPATH.$user."/DATA");
  14 + if (!is_dir(USERPATH.$user."/REQ")) mkdir(USERPATH.$user."/REQ");
  15 +
  16 + $convert = new UserWsTransfer($user);
  17 +
  18 + $res = $convert->checkWS();
  19 + if (!$res['success']) exit($res['error']);
  20 +/*
  21 + $res = $convert->transferMyData();
  22 + $msg = $res['msg'];
  23 +
  24 + $res = $convert->transferDerived();
  25 + $msg .= $res['msg'];*/
  26 +
  27 +// $res = $convert->transferTimeTables();
  28 +// $msg .= $res['msg'];
  29 +//
  30 + $res = $convert->transferConditions();
  31 + $msg .= $res['msg'];
  32 +
  33 +// $res = $convert->transferRequests();
  34 +// $msg .= $res['msg'];
  35 +
  36 +// $res = $convert->transferFilters();
  37 +// $msg .= $res['msg'];
  38 +
  39 +
  40 + echo $msg.PHP_EOL;
  41 +?>
... ...
php/classes/UserWsTransfer.php
... ... @@ -39,9 +39,9 @@ class UserWsTransfer {
39 39 $deletedNodes = $deletedXML->getElementsByTagName('deleted');
40 40  
41 41 $deleted = array();
42   - foreach ($deletedNodes as $node)
  42 + foreach ($deletedNodes as $node)
43 43 $deleted[] = $node->getAttribute('xml:id');
44   -
  44 +
45 45 return $deleted;
46 46 }
47 47  
... ... @@ -74,13 +74,14 @@ class UserWsTransfer {
74 74 private function deleteParam($exp, $deleted)
75 75 {
76 76 $toDelete = false;
77   -
78   - foreach ($deleted as $item) {
79   - if (strpos($exp, $item) !== false) {
80   - $toDelete = true;
81   - break;
  77 +
  78 + if (count($deleted) > 0)
  79 + foreach ($deleted as $item) {
  80 + if (strpos($exp, $item) !== false) {
  81 + $toDelete = true;
  82 + break;
  83 + }
82 84 }
83   - }
84 85  
85 86 return $toDelete;
86 87 }
... ... @@ -125,21 +126,21 @@ class UserWsTransfer {
125 126  
126 127 $this->pairs = $pairs;
127 128 }
128   -
129   - private function getSpectra()
  129 +
  130 + private function getSpectra()
130 131 {
131 132 $convertXML = new DomDocument("1.0");
132 133 $modifiedFile = CONVERSIONDIR.'SpectraModifs.xml';
133   -
134   - if (!$convertXML->load($modifiedFile))
  134 +
  135 + if (!$convertXML->load($modifiedFile))
135 136 error_log('ERROR loading '.$modifiedFile,1,email);
136 137 $convertedNodes = $convertXML->getElementsByTagName('deleted');
137 138  
138   - foreach ($convertedNodes as $item) {
  139 + foreach ($convertedNodes as $item) {
139 140 $this->specParams[] = $item->getAttribute('xml:id');
140   - }
  141 + }
141 142 }
142   -
  143 +
143 144 private function updateParams($expression)
144 145 {
145 146 $newExp = strtr($expression, $this->pairs);
... ... @@ -147,24 +148,6 @@ class UserWsTransfer {
147 148  
148 149 return $expression;
149 150 }
150   -
151   - //duplication of FilesMgr method
152   - public function getSampling($fileName, $format) {
153   -
154   - if ($format === 'cdf') {
155   - copy($fileName, "temp.cdf");
156   - exec('cdfsamplingfromdata ', $result);
157   - unlink("temp.cdf");
158   - $minSamp = $result[count($result)-1];
159   - }
160   - else if ($format === 'cef') {
161   - exec('cefsampling '.$fileName, $result);
162   - $minSamp = $result[count($result)-1];
163   - }
164   - else $minSamp = null;
165   - //TODO if min & max
166   - return $minSamp;
167   - }
168 151  
169 152 protected function createDom()
170 153 {
... ... @@ -181,7 +164,7 @@ class UserWsTransfer {
181 164 }
182 165  
183 166 $this->newWs->appendChild($rootElement);
184   - // $this->newWs->save($this->newWsDir.'WsParams.xml');
  167 + $this->newWs->save($this->newWsDir.'WsParams.xml');
185 168 }
186 169  
187 170 public function checkWS()
... ... @@ -215,6 +198,7 @@ class UserWsTransfer {
215 198 $this->newWs->load($this->newWsDir.'WsParams.xml');
216 199  
217 200 $deleted = $this->getObsolete();
  201 +
218 202 $notready = $this->getNotready();
219 203 $notreadyFunctions = $this->getNotreadyFunctions();
220 204  
... ... @@ -241,21 +225,21 @@ class UserWsTransfer {
241 225 $this->ws_deleted[] = $name;
242 226 continue;
243 227 }
244   -
  228 +
245 229 if ($this->deleteParam($expression,$notready)) {
246 230 $msg .= '<li><i>'.$name.'</i> : uses param not ready yet <br/> '.$expression.'<br/>';
247 231 // error_log( 'For INFO : DELETED '.$expression,1,email);
248 232 $this->ws_deleted[] = $name;
249 233 continue;
250 234 }
251   -
  235 +
252 236 if ($this->deleteParam($expression,$notreadyFunctions)) {
253 237 $msg .= '<li><i>'.$name.'</i> : uses function not ready yet <br/> '.$expression.'<br/>';
254 238 // error_log( 'For INFO : DELETED '.$expression,1,email);
255 239 $this->ws_deleted[] = $name;
256 240 continue;
257 241 }
258   -
  242 +
259 243 if (!empty($this->wsd_deleted))
260 244 if ($this->deleteParam($expression,$this->wsd_deleted)) {
261 245 $msg .= '<li><i>'.$name.'</i> : uses obsolete myData param<br/> '.$expression.'<br/>';
... ... @@ -263,26 +247,34 @@ class UserWsTransfer {
263 247 $this->ws_deleted[] = $name;
264 248 continue;
265 249 }
266   -
  250 +
267 251 if ($this->deleteParam($expression,array("CDAWEB","MAPSKP","VEXGRAZ","IMPEX"))) {
268 252 $msg .= '<li><i>'.$name.'</i> : uses remote params <br/> '.$expression.'<br/>';
269 253 $this->ws_deleted[] = $name;
270 254 continue;
271 255 }
272   -
273   - if ($this->deleteParam($expression,$this->spectraParams)) {
274   - $msg .= '<li><i>'.$name.'</i> : too much difference <br/> '.$expression.'<br/>';
275   - $this->ws_deleted[] = $name;
276   - continue;
  256 +
  257 + if ($this->deleteParam($expression,$this->specParams)) {
  258 + $msg .= '<li><i>'.$name.'</i> : too much difference <br/> '.$expression.'<br/>';
  259 + $this->ws_deleted[] = $name;
  260 + continue;
277 261 }
278   -
  262 +
279 263 $expressionUpdated = $this->updateParams($expression);
  264 +
280 265 $wsParamNode->appendChild($this->newWs->importNode($param));
281 266  
282 267 $paramXml->load($this->oldWsDir.$id.'.xml');
283 268 $expressionNode = $paramXml->getElementsByTagName('buildchain')->item(0);
284 269 $expressionNode->nodeValue = $expressionUpdated;
285 270 $paramXml->save($this->newWsDir.$id.'.xml');
  271 +
  272 + $nodeInWS = $this->newWs->getElementById($id);
  273 + if ($nodeInWS) {
  274 + $buildchain = $nodeInWS->getAttribute('buildchain');
  275 + $buildchainUpdated = $this->updateParams($buildchain);
  276 + $nodeInWS->setAttribute('buildchain',$buildchainUpdated);
  277 + }
286 278 }
287 279  
288 280 // check of 'ws bricks' were deleted
... ... @@ -350,7 +342,7 @@ class UserWsTransfer {
350 342 $oldRequestXml = new DomDocument("1.0");
351 343 $newRequestXml = new DomDocument("1.0");
352 344  
353   - if (!$oldRequestXml->load($this->oldWsDir.'Request.xml')){
  345 + if (!@$oldRequestXml->load($this->oldWsDir.'Request.xml')){
354 346 $msg .= ' No Requests File<br/>';
355 347 return array('success' => true, 'msg' => $msg);
356 348 }
... ... @@ -360,7 +352,25 @@ class UserWsTransfer {
360 352 $msg .= ' no DataMining requests to copy<br/>';
361 353 return array('success' => true, 'msg' => $msg);
362 354 }
363   - $newRequestXml->load($this->newWsDir.'Request.xml');
  355 +
  356 + if (!file_exists($this->newWsDir.'Request.xml')) {
  357 + $types = array('request', 'condition');
  358 +
  359 + $rootElement = $newRequestXml->createElement('ws');
  360 + foreach ($types as $type)
  361 + {
  362 + $contentId = $type.'-treeRootNode';
  363 + $contentTag = $type.'List';
  364 + $typeElement = $newRequestXml->createElement($contentTag);
  365 + $typeElement->setAttribute('xml:id', $contentId);
  366 + $rootElement->appendChild($typeElement);
  367 + }
  368 +
  369 + $newRequestXml->appendChild($rootElement);
  370 + }
  371 + else
  372 + $newRequestXml->load($this->newWsDir.'Request.xml');
  373 +
364 374 $conditionRoot = $newRequestXml->getElementsByTagName('conditionList')->item(0);
365 375  
366 376 $condDir = OLDUSERPATH.TRANSFERUSER."/REQ/";
... ... @@ -410,13 +420,12 @@ class UserWsTransfer {
410 420 $cond_deleted[] = $name;
411 421 continue;
412 422 }
413   -
  423 +
414 424 if ($this->deleteParam($expression,$this->specParams)) {
415   - $msg .= '<li><i>'.$name.'</i> : too much difference <br/> '.$expression.'<br/>';
416   - $cond_deleted[] = $name;
417   - continue;
  425 + $msg .= '<li><i>'.$name.'</i> : too much difference <br/> '.$expression.'<br/>';
  426 + $cond_deleted[] = $name;
  427 + continue;
418 428 }
419   -
420 429 $expressionUpdated = $this->updateParams($expression);
421 430 $condObj->expression = $expressionUpdated;
422 431 file_put_contents(NEWUSERPATH.TRANSFERUSER."/REQ/".$id, json_encode($condObj));
... ... @@ -566,4 +575,4 @@ class UserWsTransfer {
566 575 return array('success' => true, 'msg' => $msg);
567 576 }
568 577 }
569 578 -?>
  579 +?>
570 580 \ No newline at end of file
... ...