X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2Fpadder%2Fmeshjob%2Fimpl%2FMeshJobManager_i.cxx;h=5eee6858e4a47e14be97a7846161840c773b57c2;hp=8986182c02b9c6dcbf389aecfd08eef2f8bc7168;hb=cb55604f37e3d2583272fd436bb6557b041948b5;hpb=7eda9ca931ed2a11cb5e4637e4ffe19f5c061115 diff --git a/src/Tools/padder/meshjob/impl/MeshJobManager_i.cxx b/src/Tools/padder/meshjob/impl/MeshJobManager_i.cxx index 8986182c0..5eee6858e 100644 --- a/src/Tools/padder/meshjob/impl/MeshJobManager_i.cxx +++ b/src/Tools/padder/meshjob/impl/MeshJobManager_i.cxx @@ -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 @@ -129,6 +129,7 @@ MeshJobManager_i::~MeshJobManager_i() { #include // to get _mkdir #else #include // to get basename +#include // to get basename - as per posix #include // to get mkdir #include // to get mkdir options #endif @@ -166,8 +167,9 @@ static std::string REMOTE_WORKDIR("/tmp/spadder.remote.workdir."+USER); * * */ -const char * MeshJobManager_i::_writeDataFile(std::vector listConcreteMesh, - std::vector listSteelBarMesh) { +const char * MeshJobManager_i::_writeDataFile(std::vector listConcreteMesh, + std::vector listSteelBarMesh, + const MESHJOB::MeshJobParameterList & meshJobParameterList) { #ifdef WIN32 _mkdir(LOCAL_INPUTDIR.c_str()); #else @@ -211,15 +213,23 @@ const char * MeshJobManager_i::_writeDataFile(std::vectorc_str(); } /*! - * This function creates a shell script that runs padder whith the + * This function creates a shell script that runs padder with the * specified data file, and returns the path of the created script * file. The config id is used to retrieve the path to the binary file * and other required files. @@ -242,7 +252,7 @@ const char* MeshJobManager_i::_writeScriptFile(const char * dataFileName, const _splitpath( dataFileName, NULL, NULL, fname, NULL ); const char* bname = &fname[0]; #else - const char* bname = basename(dataFileName); + const char* bname = basename(const_cast(dataFileName)); #endif @@ -280,17 +290,18 @@ bool MeshJobManager_i::configure(const char *configId, long MeshJobManager_i::JOBID_UNDEFINED = -1; /*! Initialize a smesh computation job and return the job identifier */ -CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & meshJobParameterList, +CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobFileList & meshJobFileList, + const MESHJOB::MeshJobParameterList & meshJobParameterList, const char * configId) { beginService("MeshJobManager_i::initialize"); // // We first analyse the CORBA sequence to store data in C++ vectors // - std::vector listConcreteMesh; - std::vector listSteelBarMesh; - for(CORBA::ULong i=0; i listConcreteMesh; + std::vector listSteelBarMesh; + for(CORBA::ULong i=0; i_writeDataFile(listConcreteMesh, listSteelBarMesh); + const char * dataFilename = this->_writeDataFile(listConcreteMesh, listSteelBarMesh, meshJobParameterList); LOG("dataFilename = " << dataFilename); const char * scriptFilename = this->_writeScriptFile(dataFilename, configId); LOG("scriptFilename = " << scriptFilename); @@ -360,7 +371,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m // 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 @@ -407,7 +418,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m } } - // Then, we have to specify the existance of an output filename. The + // Then, we have to specify the existence of an output filename. The // path is supposed to be a path on the remote resource, i.e. where // the job is executed. jobParameters->out_files.length(1); @@ -418,7 +429,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m //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: // >>> @@ -440,7 +451,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m 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; @@ -451,7 +462,7 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m // 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; @@ -461,14 +472,14 @@ CORBA::Long MeshJobManager_i::initialize(const MESHJOB::MeshJobParameterList & m // account not only the data that could be loaded by the batch // process but also the linked dynamic library. // - // A possible problem, for exemple in the case where you use the ssh + // A possible problem, for example in the case where you use the ssh // emulation of a batch system, is to get an error message as below // when libBatch try to run the ssh command: // // ## /usr/bin/ssh: error while loading shared libraries: libcrypto.so.0.9.8: failed // ## to map segment from shared object: Cannot allocate memory // - // In this exemple, the mem_mb was set to 1MB, value that is not + // In this example, the mem_mb was set to 1MB, value that is not // sufficient to load the dynamic libraries linked to the ssh // executable (libcrypto.so in the error message). // @@ -662,6 +673,7 @@ std::vector * MeshJobManager_i::_getResourceNames() { LOG("resource["<GetResourceDefinition(aResourceName); LOG("protocol["<protocol); + (void)resourceDefinition; // unused in release mode } } @@ -671,7 +683,7 @@ std::vector * 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;