Commit fd2b603f72e36fa16f647378f8485c2d2a08cd02

Authored by Elena.Budnik
1 parent 4f91dd57

Bases.xml are in 2 parts

php/RemoteDataCenter/Bases.xml 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +<?xml version="1.0"?>
  2 +<dataRoot xml:id="myRemoteData-treeRootNode">
  3 + <!--<dataCenter name="CLWEB@IRAP" desc="CLWeb_Internal_Data_Base" default="yes" id1="CLWeb" xml:id="CLWeb"/>-->
  4 + <dataCenter name="LATMOS" desc="Latmos Hybrid Simulation Database" isSimulation='1' default="yes" id1="LATMOS" xml:id="LATMOS"/>
  5 + <dataCenter name="FMI_HYBRID" desc="FMI Hybrid Simulation Database" isSimulation='1' default="yes" id1="FMI_HYBRID" xml:id="FMI_HYBRID"/>
  6 + <dataCenter name="FMI_GUMICS" desc="FMI MHD simulation database" isSimulation='1' default="yes" id1="FMI_GUMICS" xml:id="FMI_GUMICS"/>
  7 + <!--<dataCenter name="SINP" desc="Paraboloid model calculates the magnetic fields in the Earth's magnetosphere depending on external conditions in solar wind and on geomagnetic activity level" isSimulation='1' default="yes" id1="SINP" xml:id="SINP"/>-->
  8 + <dataCenter name="LESIA" desc="LESIA MASER" default="yes" id1="LESIA" isSimulation='1' xml:id="LESIA"/>
  9 + <!--<dataCenter name="CDPP" desc="CCMC BATSRUS with RCM v8.01" default="yes" id1="CCMC" isSimulation='1' xml:id="CCMC"/>-->
  10 + <dataCenter name="IPIM" desc="IPIM @ IRAP" default="yes" id1="IPIM" isSimulation='1' xml:id="IPIM"/>
  11 +</dataRoot>
  12 +
  13 +
... ...
php/RemoteDataCenter/RemoteDataCenterClientClass.php
... ... @@ -26,7 +26,8 @@ class RemoteDataCenterClientClass
26 26 // return -1;
27 27 // if (!$this->baseDom->load($this->baseDomName))
28 28 // return -2;
29   - $this->baseDom->load($this->baseDomName);
  29 + if (!@$this->baseDom->load($this->baseDomName))
  30 + echo 'Cannot Load base.xml for '.$this->baseID.PHP_EOL;
30 31  
31 32 date_default_timezone_set('UTC');
32 33  
... ...
php/RemoteDataCenter/getRemoteDDBaseProxies.php 0 → 100644
... ... @@ -0,0 +1,67 @@
  1 +<?php
  2 +/*
  3 +* Executable to get Remote Bases description from DDBase
  4 +* and Merge with AMDA side Bases
  5 +*/
  6 +
  7 + if (!function_exists('__autoload')) {
  8 + function __autoload($class_name) {
  9 + require_once $class_name . '.php';
  10 + }
  11 + }
  12 +
  13 + $AMDA_IHM = getenv('AMDA_IHM');
  14 +
  15 + require_once $AMDA_IHM."/php/config.php";
  16 +
  17 + // only "DDBASE" Bases.xml
  18 + if (!file_exists(DATAPATH."/RemoteData/Bases.xml")) {
  19 + echo 'No Bases.xml file : Will use Bases.xml from DDBase'.PHP_EOL;
  20 + $basesDom = new DomDocument("1.0");
  21 +
  22 + if (!@$basesDom->load(INFOSITE."INFO/Bases.xml"))
  23 + exit("No Bases.xml file at DDBase/INFO ? no Remote bases at all".PHP_EOL);
  24 +
  25 + $bases = $basesDom->getElementsByTagName("dataCenter");
  26 + foreach ($bases as $base) {
  27 + $baseId = $base->getAttribute("xml:id");
  28 +
  29 + $baseDir = DATAPATH."/RemoteData/$baseId";
  30 + $baseDirRemote = INFOSITE."INFO/bases/$baseId";
  31 +
  32 + if (!is_dir($baseDir)) mkdir($baseDir);
  33 +
  34 + if (!copy("$baseDirRemote/base.xml", "$baseDir/base.xml"))
  35 + echo "Cannot copy base.xml for $baseId".PHP_EOL;
  36 + }
  37 + }
  38 + // Merge with existing Bases.xml
  39 + else {
  40 + $basesDom = new DomDocument("1.0");
  41 + $basesDom->load(DATAPATH."/RemoteData/Bases.xml");
  42 +
  43 + $basesDomRemote = new DomDocument("1.0");
  44 + if (!@$basesDomRemote->load(INFOSITE."INFO/Bases.xml"))
  45 + exit("No Bases.xml file at DDBase/INFO ? IMPEX only".PHP_EOL);
  46 +
  47 + $basesRemote = $basesDomRemote->getElementsByTagName("dataCenter");
  48 +
  49 + foreach ($basesRemote as $baseRemote) {
  50 + $baseId = $baseRemote->getAttribute("xml:id");
  51 + // add remote base if it doesn't exist
  52 + if (!$basesDom->getElementById($baseId)) {
  53 + $baseClone = $basesDom->importNode($baseRemote);
  54 + $basesDom->documentElement->appendChild($baseClone);
  55 + $baseDir = DATAPATH."/RemoteData/$baseId";
  56 + $baseDirRemote = INFOSITE."INFO/bases/$baseId";
  57 + if (!is_dir($baseDir)) mkdir($baseDir);
  58 +
  59 + if (!copy("$baseDirRemote/base.xml", "$baseDir/base.xml"))
  60 + echo "Cannot copy base.xml for $baseId".PHP_EOL;
  61 + }
  62 + }
  63 + }
  64 +
  65 + $basesDom->save(DATAPATH."/RemoteData/Bases.xml");
  66 +
  67 +?>
0 68 \ No newline at end of file
... ...
php/RemoteDataCenter/makeArgs.php
... ... @@ -13,7 +13,9 @@
13 13  
14 14 require_once $AMDA_IHM."/php/config.php";
15 15  
16   - if (! file_exists(DATAPATH."/RemoteData/Bases.xml"))
  16 + $BasesXml = $AMDA_IHM."/php/RemoteDataCenter/Bases.xml";
  17 +
  18 + if (!file_exists($BasesXml))
17 19 exit('No Bases.xml file'.PHP_EOL);
18 20  
19 21 if (!defined('SimuTargetsXml'))
... ... @@ -22,7 +24,7 @@
22 24 // $simuBases = array("LATMOS", "FMI_HYBRID", "FMI_GUMICS", "LESIA");
23 25  
24 26 $basesDom = new DomDocument("1.0");
25   - $basesDom->load(DATAPATH."/RemoteData/Bases.xml");
  27 + $basesDom->load($BasesXml);
26 28  
27 29 $bases = $basesDom->getElementsByTagName("dataCenter");
28 30  
... ...
php/RemoteDataCenter/makeProxy.php
... ... @@ -13,8 +13,10 @@
13 13  
14 14 require_once $AMDA_IHM."/php/config.php";
15 15  
16   - if (! file_exists(DATAPATH."/RemoteData/Bases.xml"))
17   - exit('No Bases.xml file'.PHP_EOL);
  16 + $BasesXml = $AMDA_IHM."/php/RemoteDataCenter/Bases.xml";
  17 +
  18 + if (!file_exists($BasesXml))
  19 + exit('No Bases.xml file for IMPEX'.PHP_EOL);
18 20  
19 21 if (!defined('SimuTargetsXml'))
20 22 exit('SimuTargetsXml is not defined in config.php'.PHP_EOL);
... ... @@ -22,7 +24,7 @@
22 24 if (file_exists(SimuTargetsXml)) rename(SimuTargetsXml, SimuTargetsXml.".bak");
23 25  
24 26 $basesDom = new DomDocument("1.0");
25   - $basesDom->load(DATAPATH."/RemoteData/Bases.xml");
  27 + $basesDom->load($BasesXml);
26 28  
27 29 $bases = $basesDom->getElementsByTagName("dataCenter");
28 30  
... ... @@ -47,5 +49,4 @@
47 49 }
48 50 }
49 51 }
50   -
51 52 ?>
52 53 \ No newline at end of file
... ...
php/RemoteDataCenter/makeRemoteParamInternal.php
... ... @@ -12,17 +12,7 @@
12 12 $AMDA_IHM = getenv('AMDA_IHM');
13 13  
14 14 require_once $AMDA_IHM."/php/config.php";
15   -
16   - if (! file_exists(DATAPATH."/RemoteData/Bases.xml"))
17   - exit('No Bases.xml file'.PHP_EOL);
18 15  
19   - $basesDom = new DomDocument("1.0");
20   - $basesDom->load(DATAPATH."/RemoteData/Bases.xml");
21   -
22   - $bases = $basesDom->getElementsByTagName("dataCenter");
23   -
24   - // $bases = array("IPIM", "LATMOS", "FMI_HYBRID", "FMI_GUMICS", "SINP", "LESIA");
25   -
26 16 $center = new THEMIS();
27 17  
28 18 $center->makeAllParams();
... ...