analysis::DDACEAlgorithm DDACEAlgorithmRecord_Impl::ddaceAlgorithm() const { analysis::DDACEAlgorithmOptions opts(m_algorithmType, options()); OptionalFileReference restartFile, outFile; OptionalFileReferenceRecord ofr = restartFileReferenceRecord(); if (ofr) { restartFile = ofr->fileReference(); } ofr = outFileReferenceRecord(); if (ofr) { outFile = ofr->fileReference(); } boost::optional<runmanager::Job> job; if (this->jobUUID()){ try { job = this->projectDatabase().runManager().getJob(this->jobUUID().get()); } catch (const std::exception& e) { LOG(Error, "Job " << toString(this->jobUUID().get()) << " not found in RunManager. " << e.what()); } } return analysis::DDACEAlgorithm(handle(), uuidLast(), displayName(), description(), complete(), failed(), iter(), opts, restartFile, outFile, job); }
std::vector<ObjectRecord> DakotaAlgorithmRecord_Impl::children() const { ObjectRecordVector result = AlgorithmRecord_Impl::children(); if (OptionalFileReferenceRecord restartFile = restartFileReferenceRecord()) { result.push_back(*restartFile); } if (OptionalFileReferenceRecord outFile = outFileReferenceRecord()) { result.push_back(*outFile); } return result; }
void DakotaAlgorithmRecord_Impl::reset() { if (m_dakotaRestartFileRecordId) { FileReferenceRecord restartFile = restartFileReferenceRecord().get(); m_dakotaRestartFileRecordId.reset(); projectDatabase().removeRecord(restartFile); } if (m_dakotaOutFileRecordId) { FileReferenceRecord outFile = outFileReferenceRecord().get(); m_dakotaOutFileRecordId.reset(); projectDatabase().removeRecord(outFile); } m_jobUUID.reset(); AlgorithmRecord_Impl::reset(); // calls onChange }