-// Copyright (C) 2011-2012 EDF R&D
+// Copyright (C) 2011-2015 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
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// Authors : Guillaume Boulant (EDF) - 01/03/2011
#ifdef WIN32
// ====================================================================
//
#include <fstream> // to get the file streams
-#ifdef WNT
+#ifdef WIN32
#include <stdlib.h> // to get _splitpath
#include <direct.h> // to get _mkdir
#else
static std::string SCRIPTFILE("padder.sh");
static std::string SEPARATOR(" ");
+#ifdef WIN32
+static std::string USER(getenv("USERNAME"));
+#else
static std::string USER(getenv("USER"));
+#endif
+
static std::string LOCAL_INPUTDIR("/tmp/spadder.local.inputdir."+USER);
static std::string LOCAL_RESULTDIR("/tmp/spadder.local.resultdir."+USER);
static std::string REMOTE_WORKDIR("/tmp/spadder.remote.workdir."+USER);
jobParameters->out_files[0] = CORBA::string_dup(outputfile_name.c_str());
// CAUTION: the maximum duration has to be set with a format like "hh:mm"
- jobParameters->maximum_duration = CORBA::string_dup("01:00");
+ //jobParameters->maximum_duration = CORBA::string_dup("01:00");
jobParameters->queue = CORBA::string_dup("");
// Setting resource and additionnal properties (if needed)
rename((local_resultdir+"/"+OUTPUTFILE).c_str(), (local_resultdir+"/"+outputFileName).c_str());
result->outputmesh_filename = outputFileName.c_str();
- result->status = "OK";
+
+ if ( fexists( (local_resultdir+"/"+outputFileName).c_str() ) != true ) {
+ _lastErrorMessage = std::string("The result file ")+
+ std::string((local_resultdir+"/"+outputFileName).c_str())+
+ std::string(" has not been created.");
+ result->status = false;
+ }
+ else {
+ result->status = true;
+ }
}
catch (const SALOME::SALOME_Exception & ex)
{
- LOG("SALOME Exception in getResults !");
- result->status = "SALOME Exception in getResults !";
_lastErrorMessage = ex.details.text.in();
+ LOG(_lastErrorMessage);
+ result->status = false;
}
catch (const CORBA::SystemException& ex)
{
- LOG("Receive CORBA System Exception: " << ex);
- result->status = "Receive CORBA System Exception: see log";
+ _lastErrorMessage = "The SALOME launcher can not retrieve the result data";
+ LOG(_lastErrorMessage);
+ result->status = false;
}
endService("MeshJobManager_i::getResults");
return result;
//
extern "C"
{
+ MESHJOBMANAGERENGINE_EXPORT
PortableServer::ObjectId * MeshJobManagerEngine_factory( CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa,
PortableServer::ObjectId * contId,