Salome HOME
[EDF17049] : Porting to Python3
[modules/kernel.git] / src / ResourcesManager / ResourcesManager.cxx
index ba27107b4257e04fe47893d323757728c18d95bf..968d2ced27f90745002d1889ac1fe0b75445c33a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -124,7 +124,7 @@ ResourcesManager_cpp::ResourcesManager_cpp() throw(ResourcesException)
       user_catalog_file.open(user_file.c_str());
       if (user_catalog_file.fail())
       {
-        RES_INFOS("Error: cannot write in the user catalog resouces files");
+        RES_INFOS("Error: cannot write in the user catalog resources files");
         RES_INFOS("Error: using default CatalogResources.xml file");
         default_catalog_resource = true;
       }
@@ -319,7 +319,7 @@ ResourcesManager_cpp::GetFittingResources(const resourceParams& params) throw(Re
 
 //=============================================================================
 /*!
- *  add an entry in the ressources catalog xml file.
+ *  add an entry in the resources catalog xml file.
  */ 
 //=============================================================================
 
@@ -442,9 +442,8 @@ const MapOfParserResourcesType& ResourcesManager_cpp::ParseXmlFiles()
     {
       MapOfParserResourcesType _resourcesList_tmp;
       MapOfParserResourcesType _resourcesBatchList_tmp;
-      SALOME_ResourcesCatalog_Handler* handler =
-        new SALOME_ResourcesCatalog_Handler(_resourcesList_tmp);
-      const char* aFilePath = (*_path_resources_it).c_str();
+      SALOME_ResourcesCatalog_Handler *handler( new SALOME_ResourcesCatalog_Handler(_resourcesList_tmp) );
+      const char *aFilePath( (*_path_resources_it).c_str() );
       FILE* aFile = fopen(aFilePath, "r");
 
       if (aFile != NULL)
@@ -458,8 +457,17 @@ const MapOfParserResourcesType& ResourcesManager_cpp::ParseXmlFiles()
           for (MapOfParserResourcesType_it i = _resourcesList_tmp.begin(); i != _resourcesList_tmp.end(); ++i)
           {
             MapOfParserResourcesType_it j = _resourcesList.find(i->first);
-            if (i->second.HostName == "localhost" || i->second.HostName == Kernel_Utils::GetHostname())
+            if (i->second.HostName == DEFAULT_RESOURCE_NAME || i->second.HostName == Kernel_Utils::GetHostname())
             {
+              MapOfParserResourcesType_it it0(_resourcesList.find(DEFAULT_RESOURCE_NAME));
+              if(it0!=_resourcesList.end())
+                {
+                  ParserResourcesType& localhostElt((*it0).second);
+                  localhostElt.DataForSort._nbOfNodes=(*i).second.DataForSort._nbOfNodes;
+                  localhostElt.DataForSort._nbOfProcPerNode=(*i).second.DataForSort._nbOfProcPerNode;
+                  localhostElt.DataForSort._CPUFreqMHz=(*i).second.DataForSort._CPUFreqMHz;
+                  localhostElt.DataForSort._memInMB=(*i).second.DataForSort._memInMB;
+                }
               RES_MESSAGE("Resource " << i->first << " is not added because it is the same "
                           "machine as default local resource \"" << DEFAULT_RESOURCE_NAME << "\"");
             }