Salome HOME
Copyright update 2021
[tools/libbatch.git] / src / Core / BatchManager.cxx
index c50266fe91d184415ec81cce0d54b268fc1e8331..00ef07a0c3baf433a77ba5c5a15d4f11ef939aea 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  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
@@ -84,48 +84,48 @@ namespace Batch {
   }
 
   // Methode pour le controle des jobs : retire un job du gestionnaire
-  void BatchManager::deleteJob(const JobId & jobid)
+  void BatchManager::deleteJob(const JobId & /*jobid*/)
   {
     throw NotYetImplementedException("Method deleteJob not implemented by Batch Manager \"" + _type + "\"");
   }
 
   // Methode pour le controle des jobs : suspend un job en file d'attente
-  void BatchManager::holdJob(const JobId & jobid)
+  void BatchManager::holdJob(const JobId & /*jobid*/)
   {
     throw NotYetImplementedException("Method holdJob not implemented by Batch Manager \"" + _type + "\"");
   }
 
   // Methode pour le controle des jobs : relache un job suspendu
-  void BatchManager::releaseJob(const JobId & jobid)
+  void BatchManager::releaseJob(const JobId & /*jobid*/)
   {
     throw NotYetImplementedException("Method releaseJob not implemented by Batch Manager \"" + _type + "\"");
   }
 
   // Methode pour le controle des jobs : modifie un job en file d'attente
-  void BatchManager::alterJob(const JobId & jobid, const Parametre & param, const Environnement & env)
+  void BatchManager::alterJob(const JobId & /*jobid*/, const Parametre & /*param*/, const Environnement & /*env*/)
   {
     throw NotYetImplementedException("Method alterJob not implemented by Batch Manager \"" + _type + "\"");
   }
 
   // Methode pour le controle des jobs : modifie un job en file d'attente
-  void BatchManager::alterJob(const JobId & jobid, const Parametre & param)
+  void BatchManager::alterJob(const JobId & /*jobid*/, const Parametre & /*param*/)
   {
     throw NotYetImplementedException("Method alterJob not implemented by Batch Manager \"" + _type + "\"");
   }
 
   // Methode pour le controle des jobs : modifie un job en file d'attente
-  void BatchManager::alterJob(const JobId & jobid, const Environnement & env)
+  void BatchManager::alterJob(const JobId & /*jobid*/, const Environnement & /*env*/)
   {
     throw NotYetImplementedException("Method alterJob not implemented by Batch Manager \"" + _type + "\"");
   }
 
   // Methode pour le controle des jobs : renvoie l'etat du job
-  JobInfo BatchManager::queryJob(const JobId & jobid)
+  JobInfo BatchManager::queryJob(const JobId & /*jobid*/)
   {
     throw NotYetImplementedException("Method queryJob not implemented by Batch Manager \"" + _type + "\"");
   }
 
-  const JobId BatchManager::addJob(const Job & job, const string & reference)
+  const JobId BatchManager::addJob(const Job & /*job*/, const string & reference)
   {
     return JobId(this, reference);
   }
@@ -256,8 +256,9 @@ namespace Batch {
       CoupleType cpt  = *static_cast< CoupleType * >(*Vit);
       Couple outputFile = cpt;
       string remotePath = outputFile.getRemote();
-      if (!Utils::isAbsolutePath(remotePath)) {
-        remotePath = params[WORKDIR].str() + "/" + remotePath;
+      if (!Utils::isAbsolutePath(remotePath) && !Utils::isOption(remotePath)) {
+        // rsync creates the whole tree after /./ in the destination folder
+        remotePath = params[WORKDIR].str() + "/./" + remotePath;
       }
       string localPath = outputFile.getLocal();
       if (!Utils::isAbsolutePath(localPath)) {
@@ -389,7 +390,7 @@ namespace Batch {
     }
   }
   
-  const Batch::JobId BatchManager::runJob(const Batch::Job & job)
+  const Batch::JobId BatchManager::runJob(const Batch::Job & /*job*/)
   {
     throw NotYetImplementedException("Method runJob not implemented by Batch Manager \"" + _type + "\"");
   }