Salome HOME
Fix for the "21727: [CEA 584] sending a Yacs graph from Windows to a cluster " issue.
[modules/kernel.git] / src / Launcher / SALOME_Launcher.cxx
index ede1d735aa40a2996089e6dabcd66228b37968d7..433c30b1480433bdf8a403a6bcae3a02d43d7334 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012  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
@@ -276,6 +276,23 @@ SALOME_Launcher::removeJob(CORBA::Long job_id)
   }
 }
 
+void 
+SALOME_Launcher::stopJob(CORBA::Long job_id)
+{
+  try
+  {
+    _l.stopJob(job_id);
+    std::ostringstream job_id_str;
+    job_id_str << job_id;
+    notifyObservers("UPDATE_JOB_STATE", job_id_str.str());
+  }
+  catch(const LauncherException &ex)
+  {
+    INFOS(ex.msg.c_str());
+    THROW_SALOME_CORBA_EXCEPTION(ex.msg.c_str(),SALOME::BAD_PARAM);
+  }
+}
+
 //=============================================================================
 /*! CORBA Method:
  *  Create a job in the launcher with a file
@@ -859,7 +876,6 @@ SALOME_Launcher::loadJobs(const char* jobs_file)
           try
           {
             _l.createJob(new_job);
-
             std::ostringstream job_id;
             job_id << new_job->getNumber();
             notifyObservers("NEW_JOB", job_id.str());
@@ -876,15 +892,7 @@ SALOME_Launcher::loadJobs(const char* jobs_file)
         {
           try
           {
-            // Step 1: Add the resource to the launcher C++ map
-            _l.checkFactoryForResource(resource_choosed_name);
-
-            // Step 2: We add run_part informations
             new_job->setState(job_state);
-
-            // Step 3: We add the job to the launcher
-            ParserResourcesType resource_definition = _l._ResManager->GetResourcesDescr(resource_choosed_name);
-            new_job->setResourceDefinition(resource_definition);
             _l.addJobDirectlyToMap(new_job, job_reference);
 
             // Step 4: We check that the BatchManager could resume
@@ -912,17 +920,9 @@ SALOME_Launcher::loadJobs(const char* jobs_file)
         {
           try
           {
-            // Step 1: Add the resource to the launcher C++ map
-            _l.checkFactoryForResource(resource_choosed_name);
-
             // Step 2: We add run_part informations
             new_job->setState(job_state);
-
-            // Step 3: We add the job to the launcher
-            ParserResourcesType resource_definition = _l._ResManager->GetResourcesDescr(resource_choosed_name);
-            new_job->setResourceDefinition(resource_definition);
             _l.addJobDirectlyToMap(new_job, job_reference);
-
             std::ostringstream job_id;
             job_id << new_job->getNumber();
             notifyObservers("NEW_JOB", job_id.str());