Commit 981cd087f7e5110426968dd907268631bf34c402
1 parent
3720136b
Exists in
master
and in
110 other branches
ws transfer modifs
Showing
3 changed files
with
104 additions
and
52 deletions
Show diff stats
generic_data/migration/NotReady.xml
... | ... | @@ -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 |
... | ... |