Quintiq file version 2.0
|
#parent: #root
|
Method RecoverLastFailedRun () as LibOpt_Run
|
{
|
TextBody:
|
[*
|
algorithm := AlgorithmStore::TryRetrieve( LibOpt_Run::AlgorithmStore_OnException_Identifier( this ) );
|
result := null( LibOpt_Run );
|
|
if( not isnull( algorithm ) and algorithm.IsStringStored( LibOpt_Suboptimizer::RollbackStorage_Run() ) )
|
{
|
// retrieve and store algorithm again, such that it is still there after using undo.
|
json_string := algorithm.RetrieveString( LibOpt_Suboptimizer::RollbackStorage_Run() );
|
AlgorithmStore::Store( LibOpt_Run::AlgorithmStore_OnException_Identifier( this ), &algorithm );
|
|
json := JSON::Parse( json_string );
|
result := LibOpt_Run::Deserialize( json, this );
|
}
|
else
|
{
|
run := LibOpt_Run::Create( this );
|
errorObj := construct( LibOpt_Error );
|
errorObj.GeneralInformation( Translations::LibOpt_Run_NothingToRecover() );
|
LibOpt_SnapshotError::Throw( run, errorObj);
|
result := run;
|
}
|
|
return result;
|
*]
|
}
|