Salome HOME
#18963 Minimize compiler warnings
[modules/smesh.git] / src / Tools / padder / meshjob / impl / MeshJobManager_i.cxx
index 17d1c0fb0b26d3548ea2497850c28af568bac533..5eee6858e4a47e14be97a7846161840c773b57c2 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2016  EDF R&D
+// Copyright (C) 2011-2020  EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -168,7 +168,8 @@ static std::string REMOTE_WORKDIR("/tmp/spadder.remote.workdir."+USER);
  * <outputMedFile>
  */
 const char * MeshJobManager_i::_writeDataFile(std::vector<MESHJOB::MeshJobFile> listConcreteMesh,
-                                              std::vector<MESHJOB::MeshJobFile> listSteelBarMesh) {
+                                              std::vector<MESHJOB::MeshJobFile> listSteelBarMesh,
+                                              const MESHJOB::MeshJobParameterList & meshJobParameterList) {
 #ifdef WIN32
   _mkdir(LOCAL_INPUTDIR.c_str());
 #else
@@ -212,9 +213,17 @@ const char * MeshJobManager_i::_writeDataFile(std::vector<MESHJOB::MeshJobFile>
     dataFile << line.c_str() << std::endl;
   }
   
-  // Finally, we conclude with the name of the output file
+  // We conclude the list of files with the name of the output file
   line = OUTPUTFILE;
   dataFile << line.c_str() << std::endl;
+
+  // We put the numerical parameters at the end of the data file
+  for(CORBA::ULong i=0; i<meshJobParameterList.length(); i++) {
+    MESHJOB::MeshJobParameter param = meshJobParameterList[i];
+    line = std::string(param.name) + " " + std::string(param.value);
+    dataFile << line.c_str() << std::endl;
+  }
+
   dataFile.close();
   return dataFilename->c_str();  
 }
@@ -282,6 +291,7 @@ long MeshJobManager_i::JOBID_UNDEFINED = -1;
 
 /*! Initialize a smesh computation job and return the job identifier */
 CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobFileList & meshJobFileList,
+                                         const MESHJOB::MeshJobParameterList & meshJobParameterList,
                                          const char * configId)
 {
   beginService("MeshJobManager_i::initialize");
@@ -340,7 +350,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobFileList & meshJo
   // data is a text file containing the list of file names and group
   // names.
   //
-  const char * dataFilename = this->_writeDataFile(listConcreteMesh, listSteelBarMesh);
+  const char * dataFilename = this->_writeDataFile(listConcreteMesh, listSteelBarMesh, meshJobParameterList);
   LOG("dataFilename = " << dataFilename);
   const char * scriptFilename = this->_writeScriptFile(dataFilename, configId);
   LOG("scriptFilename = " << scriptFilename);
@@ -361,7 +371,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobFileList & meshJo
   // Specification of the working spaces:
   //
   // - local_directory: can be used to specify where to find the input
-  //   files on the local resource. It's optionnal if you specify the
+  //   files on the local resource. It's optional if you specify the
   //   absolute path name of input files.
   //
   // - result_directory: must be used to specify where to download the
@@ -419,7 +429,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobFileList & meshJo
   //jobParameters->maximum_duration = CORBA::string_dup("01:00");
   jobParameters->queue = CORBA::string_dup("");
 
-  // Setting resource and additionnal properties (if needed)
+  // Setting resource and additional properties (if needed)
   // The resource parameters can be initiated from scratch, for
   // example by specifying the values in hard coding:
   // >>>
@@ -441,7 +451,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobFileList & meshJo
     resourceDefinition = _resourcesManager->GetResourceDefinition(resourceName);
   }
   catch (const CORBA::SystemException& ex) {
-    _lastErrorMessage = std::string("We can not access to the ressource ") + std::string(resourceName);
+    _lastErrorMessage = std::string("We can not access the resource ") + std::string(resourceName);
     _lastErrorMessage+= std::string("(check the file CatalogResource.xml)");
     LOG(_lastErrorMessage);
     return JOBID_UNDEFINED;
@@ -452,7 +462,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobFileList & meshJo
   // Then, the values can be used to initiate the resource parameters
   // of the job:
   jobParameters->resource_required.name     = CORBA::string_dup(resourceDefinition->name.in());
-  // CAUTION: the additionnal two following parameters MUST be
+  // CAUTION: the additional two following parameters MUST be
   // specified explicitly, because they are not provided by the
   // resource definition:
   jobParameters->resource_required.mem_mb   = resourceDefinition->mem_mb;
@@ -663,6 +673,7 @@ std::vector<std::string> * MeshJobManager_i::_getResourceNames() {
       LOG("resource["<<i<<"] = "<<aResourceName);
       resourceDefinition = _resourcesManager->GetResourceDefinition(aResourceName);
       LOG("protocol["<<i<<"] = "<<resourceDefinition->protocol);
+      (void)resourceDefinition; // unused in release mode
     }
   }
 
@@ -672,7 +683,7 @@ std::vector<std::string> * MeshJobManager_i::_getResourceNames() {
   // SALOME application.
   // In the code instructions, you just have to choose a resource
   // configuration by its name and then define the ResourceParameters
-  // that specify additionnal properties for a specific job submission
+  // that specify additional properties for a specific job submission
   // (use the attribute resource_required of the JobParameters).
 
   return resourceNames;