diff --git a/generic_data/migration/Modified.xml b/generic_data/migration/Modified.xml index 4efb7d2..68fc442 100644 --- a/generic_data/migration/Modified.xml +++ b/generic_data/migration/Modified.xml @@ -20,7 +20,6 @@ <param_convert xml:id="vex_venus_r" oldid="sys_vex_r"/> <param_convert xml:id="it_v_gse" oldid="it_v"/> <param_convert xml:id="cass_wl" oldid="cass_wl_iau"/> - <!--<param_convert xml:id="mex_mars_r" oldid="pol_mex_pc(0)"/>--> <param_convert xml:id="lat_mex_iau" oldid="pol_mex_pc(1)"/> <param_convert xml:id="lon_mex_iau" oldid="pol_mex_pc(2)"/> <param_convert xml:id="b_t96gsm" oldid="bt96"/> diff --git a/generic_data/migration/PostProcess.xml b/generic_data/migration/PostProcess.xml new file mode 100644 index 0000000..7d50fa2 --- /dev/null +++ b/generic_data/migration/PostProcess.xml @@ -0,0 +1,4 @@ +<?xml version="1.0"?> +<conversion> + <param_convert xml:id="sw_vb" oldid="sw_v_gseb"/> +</conversion> diff --git a/php/classes/UserWsTransfer.php b/php/classes/UserWsTransfer.php index 9b35191..5de3e89 100644 --- a/php/classes/UserWsTransfer.php +++ b/php/classes/UserWsTransfer.php @@ -7,7 +7,7 @@ class UserWsTransfer { private $oldWs, $newWs, $Mgr; private $oldWsDir, $newWsDir; - private $ws_deleted, $wsd_deleted, $pairs, $specParams; + private $ws_deleted, $wsd_deleted, $pairs, $specParams, $postPairs; function __construct($user) { @@ -29,6 +29,7 @@ class UserWsTransfer { $this->ws_deleted = array(); $this->wsd_deleted = array(); $this->getModified(); + $this->getReprocessed(); $this->getSpectra(); } @@ -127,6 +128,23 @@ class UserWsTransfer { $this->pairs = $pairs; } + private function getReprocessed() + { + $convertXML = new DomDocument("1.0"); + $modifiedFile = CONVERSIONDIR.'PostProcess.xml'; + + if (!$convertXML->load($modifiedFile)) + error_log('ERROR loading '.$modifiedFile,1,email); + $convertedNodes = $convertXML->getElementsByTagName('param_convert'); + + foreach ($convertedNodes as $item) { + $pairs[$item->getAttribute('oldid')] = $item->getAttribute('xml:id'); + } + krsort($pairs, SORT_NATURAL); + + $this->postPairs = $pairs; + } + private function getSpectra() { $convertXML = new DomDocument("1.0"); @@ -144,11 +162,13 @@ class UserWsTransfer { private function updateParams($expression) { $newExp = strtr($expression, $this->pairs); - $expression = $newExp; - - return $expression; + if (!empty($this->postPairs)) + $expFinal = strtr($newExp, $this->postPairs); + + return $expFinal; } - + + protected function createDom() { $types = array('param' => 'derived', 'mydata' => 'myData'); @@ -273,6 +293,7 @@ class UserWsTransfer { if ($nodeInWS) { $buildchain = $nodeInWS->getAttribute('buildchain'); $buildchainUpdated = $this->updateParams($buildchain); + $nodeInWS->setAttribute('buildchain',$buildchainUpdated); } } -- libgit2 0.21.2