47 #include "../Param/CacheParameters.hpp"
48 #include "../Util/fileutils.hpp"
53 void NOMAD::CacheParameters::init()
59 #include "../Attribute/cacheAttributesDefinition.hpp"
62 catch ( NOMAD::Exception & e)
64 std::string errorMsg =
"Attribute registration failed: ";
66 throw NOMAD::Exception(__FILE__,__LINE__, errorMsg);
73 void NOMAD::CacheParameters::checkAndComply( std::shared_ptr<NOMAD::RunParameters> runParams )
86 auto problemDir = runParams->getAttributeValue<std::string>(
"PROBLEM_DIR",
false);
87 std::string cacheFileName = getAttributeValueProtected<std::string>(
"CACHE_FILE",
false);
88 if (!cacheFileName.empty())
91 setAttributeValue(
"CACHE_FILE", cacheFileName);
95 bool hotRestartRead = runParams->getAttributeValue<
bool>(
"HOT_RESTART_READ_FILES",
false);
96 bool hotRestartWrite = runParams->getAttributeValue<
bool>(
"HOT_RESTART_WRITE_FILES",
false);
97 if (hotRestartRead || hotRestartWrite)
99 if (cacheFileName.empty())
101 cacheFileName =
"cache.txt";
102 std::cerr <<
"Warning: " << ((hotRestartWrite) ?
"HOT_RESTART_WRITE_FILES" :
"HOT_RESTART_READ_FILES") <<
" is set. CACHE_FILE set to \"" << cacheFileName <<
"\"" << std::endl;
105 setAttributeValue(
"CACHE_FILE", cacheFileName);
109 _toBeChecked =
false;