]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Merge from V5_1_4_BR (5_1_4rc2) 09/06/2010
authorvsr <vsr@opencascade.com>
Wed, 9 Jun 2010 14:57:30 +0000 (14:57 +0000)
committervsr <vsr@opencascade.com>
Wed, 9 Jun 2010 14:57:30 +0000 (14:57 +0000)
src/Container/SALOME_ContainerManager.cxx
src/Launcher/Launcher_Job.cxx
src/LifeCycleCORBA/SALOME_LifeCycleCORBA.cxx
src/SALOMEDSImpl/SALOMEDSImpl_ScalarVariable.cxx
src/SALOMEDSImpl/SALOMEDSImpl_StudyBuilder.cxx

index 8245fe50b3d3ca220792cfc77be36081367b9ac5..497e0c1ed9e4ff278b6085491656488bc3381bd4 100644 (file)
@@ -420,11 +420,9 @@ SALOME_ContainerManager::GiveContainer(const Engines::ContainerParameters& param
   logFilename += "/";
 #endif
   logFilename += _NS->ContainerName(params)+"_"+ resource_selected +"_"+getenv( "USER" ) ;
-#ifdef WNT
   std::ostringstream tmp;
   tmp << "_" << getpid();
   logFilename += tmp.str();
-#endif
   logFilename += ".log" ;
   command += " > " + logFilename + " 2>&1";
 #ifdef WNT
index b2c61375c98d22380b62b6be56e3631f312484f5..53b3c0e3308a36807fa2a1c8edb5d42e385bec11 100644 (file)
@@ -412,11 +412,10 @@ Launcher::Job::common_job_params()
   params[Batch::USER] = _resource_definition.UserName;
   params[Batch::NBPROC] = _resource_required_params.nb_proc;
 
-  // Memory
+  // Memory in megabytes
   if (_resource_required_params.mem_mb > 0)
   {
-    // Memory is in kilobytes
-    params[Batch::MAXRAMSIZE] = _resource_required_params.mem_mb * 1024;
+    params[Batch::MAXRAMSIZE] = _resource_required_params.mem_mb;
   }
 
   // We define a default directory based on user time
index aec99bcfe1633c6a52b1746150c2e36275888af6..4c5c2436086f425b80a7963fc03459485d6f66ab 100644 (file)
@@ -718,7 +718,7 @@ void SALOME_LifeCycleCORBA::killOmniNames()
   {
     std::string cmd = ("from killSalomeWithPort import killNotifdAndClean; ");
     cmd += std::string("killNotifdAndClean(") + portNumber + "); ";
-    cmd  = std::string("python -c \"") + cmd +"\" >& /dev/null";
+    cmd  = std::string("python -c \"") + cmd +"\" > /dev/null 2> /dev/null";
     MESSAGE(cmd);
     system( cmd.c_str() );
   }
index 0bc795290d359bc6d899342f2237c465ede5371a..e6bb38616a3cc712e12a291ef5cda7b6eaf34d9b 100644 (file)
 //
 #include "SALOMEDSImpl_ScalarVariable.hxx"
 #include "SALOMEDSImpl_GenericVariable.hxx"
+#include "Basics_Utils.hxx"
 #include <iostream>
 #include <cstdlib>
 #include <cstdio>
 
+#define OLDSTUDY_COMPATIBILITY
+
 //============================================================================
 /*! Function : SALOMEDSImpl_ScalarVariable
  *  Purpose  : 
@@ -101,6 +104,8 @@ std::string SALOMEDSImpl_ScalarVariable::getStringValue() const
  */
 //============================================================================
 std::string SALOMEDSImpl_ScalarVariable::Save() const{
+  Kernel_Utils::Localizer loc;
+
   char buffer[255];
   switch(Type())
     {
@@ -132,6 +137,8 @@ std::string SALOMEDSImpl_ScalarVariable::Save() const{
 //============================================================================
 std::string SALOMEDSImpl_ScalarVariable::SaveToScript() const
 {
+  Kernel_Utils::Localizer loc;
+
   char buffer[255];
   switch(Type())
     {
@@ -147,10 +154,7 @@ std::string SALOMEDSImpl_ScalarVariable::SaveToScript() const
       }
     case SALOMEDSImpl_GenericVariable::BOOLEAN_VAR:
       {
-        if((bool)myValue)
-          sprintf(buffer, "%s", "True");
-        else
-          sprintf(buffer, "%s", "False");
+       sprintf(buffer, "%s", ((bool)myValue) ? "True" : "False");
         break;
       }
     case SALOMEDSImpl_GenericVariable::STRING_VAR:
@@ -181,6 +185,19 @@ std::string SALOMEDSImpl_ScalarVariable::SaveType() const{
 //============================================================================
 void SALOMEDSImpl_ScalarVariable::Load(const std::string& theStrValue)
 {
-  double aValue = atof(theStrValue.c_str());
-  setValue(aValue);
+  Kernel_Utils::Localizer loc;
+
+  if ( Type() == SALOMEDSImpl_GenericVariable::STRING_VAR ) {
+    setStringValue( theStrValue );
+  }
+  else {
+    std::string strCopy = theStrValue;
+#ifdef OLDSTUDY_COMPATIBILITY
+    int dotpos = strCopy.find(',');
+    if (dotpos != std::string::npos)
+      strCopy.replace(dotpos, 1, ".");
+#endif // OLDSTUDY_COMPATIBILITY
+    double aValue = atof(strCopy.c_str());
+    setValue(aValue);
+  }
 }
index b1020d2e8e2f75dde84ca98dc871b52696ca1544..b42685c3f828f079f66e1526716262db8168f3b6 100644 (file)
@@ -320,6 +320,7 @@ bool SALOMEDSImpl_StudyBuilder::LoadWith(const SALOMEDSImpl_SComponent& anSCO,
 
     char aMultifileState[2];
     char ASCIIfileState[2];
+    bool hasModuleData = false;
     try {
       std::string scoid = anSCO.GetID();
       hdf_file->OpenOnDisk(HDF_RDONLY);
@@ -327,6 +328,7 @@ bool SALOMEDSImpl_StudyBuilder::LoadWith(const SALOMEDSImpl_SComponent& anSCO,
       hdf_group->OpenOnDisk();
       HDFgroup *hdf_sco_group = new HDFgroup((char*)scoid.c_str(), hdf_group);
       hdf_sco_group->OpenOnDisk();
+      hasModuleData = true;
 
       unsigned char* aStreamFile = NULL;
       int aStreamSize = 0;
@@ -397,6 +399,10 @@ bool SALOMEDSImpl_StudyBuilder::LoadWith(const SALOMEDSImpl_SComponent& anSCO,
       }
 
       if (aLocked) _study->GetProperties()->SetLocked(true);
+
+      if (!hasModuleData)
+       return true;
+
       _errorCode = "No persistent file";   
       return false;
     }