#include <WorkflowJSON.hpp>
Public Member Functions | |
std::vector< openstudio::path > | absoluteFilePaths () const |
std::vector< openstudio::path > | absoluteMeasurePaths () const |
openstudio::path | absoluteOutPath () const |
openstudio::path | absoluteRootDir () const |
openstudio::path | absoluteRunDir () const |
bool | addFilePath (const openstudio::path &path) |
Add a path to the paths searched for files. More... | |
boost::optional< BCLMeasure > | addMeasure (const BCLMeasure &bclMeasure) |
Add a measure to the measure dir, replaces existing measure with same id, does not add a step to the workflow. More... | |
bool | addMeasurePath (const openstudio::path &path) |
Add a path to the paths searched for measures. More... | |
bool | checkForUpdates () |
Check for updates and return true if there are any, updates value of the stored hash. More... | |
WorkflowJSON | clone () const |
Clones this WorkflowJSON into a separate one. More... | |
boost::optional< DateTime > | completedAt () const |
Returns the time this WorkflowJSON was completed at. More... | |
boost::optional< std::string > | completedStatus () const |
Returns the completion status, "Success", "Fail", "Invalid", or "Cancel". More... | |
std::string | computeHash () const |
Compute the current hash of the workflow. More... | |
boost::optional< DateTime > | createdAt () const |
Returns the time this WorkflowJSON was created at. More... | |
boost::optional< WorkflowStep > | currentStep () const |
Get the current step. More... | |
unsigned | currentStepIndex () const |
Get the zero based index of the current step. More... | |
boost::optional< std::string > | eplusoutErr () const |
Returns the content of eplusout.err file. More... | |
std::vector< openstudio::path > | filePaths () const |
Returns the paths that will be searched in order for files, default value is '. More... | |
boost::optional< openstudio::path > | findFile (const openstudio::path &file) const |
Attempts to find a file by path. More... | |
boost::optional< openstudio::path > | findFile (const std::string &fileName) const |
boost::optional< openstudio::path > | findMeasure (const openstudio::path &measureDir) const |
Attempts to find a measure by path. More... | |
boost::optional< openstudio::path > | findMeasure (const std::string &measureDirName) const |
boost::optional< BCLMeasure > | getBCLMeasure (const MeasureStep &step) const |
Attempts to find the BCLMeasure for a given MeasureStep. More... | |
boost::optional< BCLMeasure > | getBCLMeasureByUUID (const UUID &id) const |
Checks BCLMeasure for each MeasureStep attempting to find by id, does not check measures that are not in the workflow. More... | |
std::vector< MeasureStep > | getMeasureSteps (const MeasureType &measureType) const |
Gets measure steps by measure type. More... | |
std::vector< std::pair < unsigned, MeasureStep > > | getMeasureStepsWithIndex (const MeasureType &measureType) const |
std::string | hash () const |
Get a stored hash of the workflow. More... | |
bool | incrementStep () |
Increments current step, returns true if there is another step. More... | |
std::vector< openstudio::path > | measurePaths () const |
Returns the paths that will be searched in order for measures, default value is '. More... | |
openstudio::path | oswDir () const |
Returns the absolute path to the directory this workflow was loaded from or saved to. More... | |
boost::optional< openstudio::path > | oswPath () const |
Returns the absolute path this workflow was loaded from or saved to, empty for new WorkflowJSON. More... | |
openstudio::path | outPath () const |
Returns the path to write output OSW, default value is 'out.osw'. More... | |
void | reset () |
Reset to re-run the workflow, does not delete steps. More... | |
void | resetFilePaths () |
Clear paths searched for files. More... | |
void | resetMeasurePaths () |
Clear paths searched for measures. More... | |
void | resetRunOptions () |
Reset RunOptions for this workflow. More... | |
void | resetSeedFile () |
Resets the seed file path. More... | |
void | resetWeatherFile () |
Resets the weather file path. More... | |
void | resetWorkflowSteps () |
Resets the workflow steps. More... | |
openstudio::path | rootDir () const |
Returns the root directory, default value is '. More... | |
openstudio::path | runDir () const |
Returns the run directory, default value is '. More... | |
boost::optional< RunOptions > | runOptions () const |
Get RunOptions for this workflow. More... | |
bool | save () const |
Saves this file to the current location. More... | |
bool | saveAs (const openstudio::path &p) |
Saves this file to a new location. More... | |
boost::optional< openstudio::path > | seedFile () const |
Returns the seed file path. More... | |
void | setCompletedStatus (const std::string &status) |
Sets the completion status, "Success", "Fail", "Invalid", or "Cancel". More... | |
void | setEplusoutErr (const std::string &eplusoutErr) |
Sets the content of eplusout.err file. More... | |
bool | setMeasureSteps (const MeasureType &measureType, const std::vector< MeasureStep > &steps) |
Sets measure steps of a given type. More... | |
bool | setOswDir (const openstudio::path &path) |
Sets the oswDir. More... | |
bool | setOswPath (const openstudio::path &path) |
Sets the absolute path for this workflow. More... | |
bool | setRunOptions (const RunOptions &options) |
Set RunOptions for this workflow. More... | |
bool | setSeedFile (const openstudio::path &seedFile) |
Sets the seed file path. More... | |
bool | setWeatherFile (const openstudio::path &weatherFile) |
Sets the weather file path. More... | |
bool | setWorkflowSteps (const std::vector< WorkflowStep > &steps) |
Assigns the workflow steps. More... | |
void | start () |
Sets the started at time. More... | |
boost::optional< DateTime > | startedAt () const |
Returns the time this WorkflowJSON was started at. More... | |
std::string | string (bool includeHash=true) const |
Get the workflow as a string. More... | |
Json::Value | toJSON (bool includeHash=true) const |
boost::optional< DateTime > | updatedAt () const |
Returns the time this WorkflowJSON was updated at. More... | |
bool | validateMeasures () const |
Checks that all measures in the Workflow can be found, and are in the correct order (ModelMeasure > EnergyPlusMeasure > ReportingMeasure) More... | |
boost::optional< openstudio::path > | weatherFile () const |
Returns the weather file path. More... | |
WorkflowJSON () | |
Create a new, empty workflow. More... | |
WorkflowJSON (const std::string &s) | |
Constructor with string, will throw if string is incorrect. More... | |
WorkflowJSON (const openstudio::path &p) | |
Constructor with path, will throw if path does not exist or file is incorrect. More... | |
std::vector< WorkflowStep > | workflowSteps () const |
Returns the workflow steps. More... | |
Static Public Member Functions | |
static boost::optional < WorkflowJSON > | load (const std::string &s) |
Attempt to load a WorkflowJSON from string. More... | |
static boost::optional < WorkflowJSON > | load (const openstudio::path &p) |
Attempt to load a WorkflowJSON from path. More... | |
Protected Member Functions | |
WorkflowJSON (std::shared_ptr< detail::WorkflowJSON_Impl > impl) | |
Protected constructor from impl. More... | |
Class for accessing the OpenStudio Workflow (OSW) JSON format.
openstudio::WorkflowJSON::WorkflowJSON | ( | ) |
Create a new, empty workflow.
openstudio::WorkflowJSON::WorkflowJSON | ( | const std::string & | s | ) |
Constructor with string, will throw if string is incorrect.
openstudio::WorkflowJSON::WorkflowJSON | ( | const openstudio::path & | p | ) |
Constructor with path, will throw if path does not exist or file is incorrect.
|
protected |
Protected constructor from impl.
std::vector<openstudio::path> openstudio::WorkflowJSON::absoluteFilePaths | ( | ) | const |
std::vector<openstudio::path> openstudio::WorkflowJSON::absoluteMeasurePaths | ( | ) | const |
openstudio::path openstudio::WorkflowJSON::absoluteOutPath | ( | ) | const |
openstudio::path openstudio::WorkflowJSON::absoluteRootDir | ( | ) | const |
openstudio::path openstudio::WorkflowJSON::absoluteRunDir | ( | ) | const |
bool openstudio::WorkflowJSON::addFilePath | ( | const openstudio::path & | path | ) |
Add a path to the paths searched for files.
boost::optional<BCLMeasure> openstudio::WorkflowJSON::addMeasure | ( | const BCLMeasure & | bclMeasure | ) |
Add a measure to the measure dir, replaces existing measure with same id, does not add a step to the workflow.
bool openstudio::WorkflowJSON::addMeasurePath | ( | const openstudio::path & | path | ) |
Add a path to the paths searched for measures.
bool openstudio::WorkflowJSON::checkForUpdates | ( | ) |
Check for updates and return true if there are any, updates value of the stored hash.
WorkflowJSON openstudio::WorkflowJSON::clone | ( | ) | const |
Clones this WorkflowJSON into a separate one.
boost::optional<DateTime> openstudio::WorkflowJSON::completedAt | ( | ) | const |
Returns the time this WorkflowJSON was completed at.
boost::optional<std::string> openstudio::WorkflowJSON::completedStatus | ( | ) | const |
Returns the completion status, "Success", "Fail", "Invalid", or "Cancel".
"Success" will be set automatically if all steps in the workflow complete successfully. "Fail" will be set automatically if any step in the workflow reports an error. "Invalid" can be set by a measure if the workflow requests parameter combinations that are not valid. "Cancel" will be set automatically if a workflow is cancelled externally during execution.
std::string openstudio::WorkflowJSON::computeHash | ( | ) | const |
Compute the current hash of the workflow.
boost::optional<DateTime> openstudio::WorkflowJSON::createdAt | ( | ) | const |
Returns the time this WorkflowJSON was created at.
boost::optional<WorkflowStep> openstudio::WorkflowJSON::currentStep | ( | ) | const |
Get the current step.
unsigned openstudio::WorkflowJSON::currentStepIndex | ( | ) | const |
Get the zero based index of the current step.
If a simulation completes normally, current step index will be one higher than index of the last step. If a simulation is halted, current step index will point to the step after the last run step.
boost::optional<std::string> openstudio::WorkflowJSON::eplusoutErr | ( | ) | const |
Returns the content of eplusout.err file.
std::vector<openstudio::path> openstudio::WorkflowJSON::filePaths | ( | ) | const |
Returns the paths that will be searched in order for files, default value is '.
/files/'. Evaluated relative to rootDir if not absolute.
boost::optional<openstudio::path> openstudio::WorkflowJSON::findFile | ( | const openstudio::path & | file | ) | const |
Attempts to find a file by path.
If file is relative, searches through filePaths in order and returns first match that exists. If file is absolute, does not search for file in filePaths, only returns true it file exists.
boost::optional<openstudio::path> openstudio::WorkflowJSON::findFile | ( | const std::string & | fileName | ) | const |
boost::optional<openstudio::path> openstudio::WorkflowJSON::findMeasure | ( | const openstudio::path & | measureDir | ) | const |
Attempts to find a measure by path.
If measureDir is relative, searches through measurePaths in order and returns first match that exists. If measureDir is absolute, does not search for measureDir in measurePaths, only returns true it measureDir exists.
boost::optional<openstudio::path> openstudio::WorkflowJSON::findMeasure | ( | const std::string & | measureDirName | ) | const |
boost::optional<BCLMeasure> openstudio::WorkflowJSON::getBCLMeasure | ( | const MeasureStep & | step | ) | const |
Attempts to find the BCLMeasure for a given MeasureStep.
boost::optional<BCLMeasure> openstudio::WorkflowJSON::getBCLMeasureByUUID | ( | const UUID & | id | ) | const |
Checks BCLMeasure for each MeasureStep attempting to find by id, does not check measures that are not in the workflow.
std::vector<MeasureStep> openstudio::WorkflowJSON::getMeasureSteps | ( | const MeasureType & | measureType | ) | const |
Gets measure steps by measure type.
std::vector<std::pair<unsigned, MeasureStep> > openstudio::WorkflowJSON::getMeasureStepsWithIndex | ( | const MeasureType & | measureType | ) | const |
std::string openstudio::WorkflowJSON::hash | ( | ) | const |
Get a stored hash of the workflow.
bool openstudio::WorkflowJSON::incrementStep | ( | ) |
Increments current step, returns true if there is another step.
|
static |
Attempt to load a WorkflowJSON from string.
|
static |
Attempt to load a WorkflowJSON from path.
std::vector<openstudio::path> openstudio::WorkflowJSON::measurePaths | ( | ) | const |
Returns the paths that will be searched in order for measures, default value is '.
/measures/'. Evaluated relative to rootDir if not absolute.
openstudio::path openstudio::WorkflowJSON::oswDir | ( | ) | const |
Returns the absolute path to the directory this workflow was loaded from or saved to.
Returns current working dir for new WorkflowJSON.
boost::optional<openstudio::path> openstudio::WorkflowJSON::oswPath | ( | ) | const |
Returns the absolute path this workflow was loaded from or saved to, empty for new WorkflowJSON.
openstudio::path openstudio::WorkflowJSON::outPath | ( | ) | const |
Returns the path to write output OSW, default value is 'out.osw'.
Evaluated relative to oswDir to ensure relative paths remain valid.
void openstudio::WorkflowJSON::reset | ( | ) |
Reset to re-run the workflow, does not delete steps.
void openstudio::WorkflowJSON::resetFilePaths | ( | ) |
Clear paths searched for files.
void openstudio::WorkflowJSON::resetMeasurePaths | ( | ) |
Clear paths searched for measures.
void openstudio::WorkflowJSON::resetRunOptions | ( | ) |
Reset RunOptions for this workflow.
void openstudio::WorkflowJSON::resetSeedFile | ( | ) |
Resets the seed file path.
void openstudio::WorkflowJSON::resetWeatherFile | ( | ) |
Resets the weather file path.
void openstudio::WorkflowJSON::resetWorkflowSteps | ( | ) |
Resets the workflow steps.
openstudio::path openstudio::WorkflowJSON::rootDir | ( | ) | const |
Returns the root directory, default value is '.
'. Evaluated relative to oswDir if not absolute.
openstudio::path openstudio::WorkflowJSON::runDir | ( | ) | const |
Returns the run directory, default value is '.
/run'. Evaluated relative to rootDir if not absolute.
boost::optional<RunOptions> openstudio::WorkflowJSON::runOptions | ( | ) | const |
Get RunOptions for this workflow.
bool openstudio::WorkflowJSON::save | ( | ) | const |
Saves this file to the current location.
bool openstudio::WorkflowJSON::saveAs | ( | const openstudio::path & | p | ) |
Saves this file to a new location.
Updates the OSW path.
boost::optional<openstudio::path> openstudio::WorkflowJSON::seedFile | ( | ) | const |
Returns the seed file path.
Evaluated relative to filePaths if not absolute.
void openstudio::WorkflowJSON::setCompletedStatus | ( | const std::string & | status | ) |
Sets the completion status, "Success", "Fail", "Invalid", or "Cancel".
Measure writers can call this with "Success" if all required results have been generated. Measure writers should not call this with "Fail", runner.registerError should be used instead. Measure writers can call this with "Invalid" if the workflow requests parameter combinations that are not valid. Measure writers should not call this with "Cancel", this is reserved for external cancel operations.
void openstudio::WorkflowJSON::setEplusoutErr | ( | const std::string & | eplusoutErr | ) |
Sets the content of eplusout.err file.
bool openstudio::WorkflowJSON::setMeasureSteps | ( | const MeasureType & | measureType, |
const std::vector< MeasureStep > & | steps | ||
) |
Sets measure steps of a given type.
Does not change other measure steps.
bool openstudio::WorkflowJSON::setOswDir | ( | const openstudio::path & | path | ) |
Sets the oswDir.
If oswPath is empty this does not set it. If oswPath is set, this changes directories but preserves file name.
bool openstudio::WorkflowJSON::setOswPath | ( | const openstudio::path & | path | ) |
Sets the absolute path for this workflow.
bool openstudio::WorkflowJSON::setRunOptions | ( | const RunOptions & | options | ) |
Set RunOptions for this workflow.
bool openstudio::WorkflowJSON::setSeedFile | ( | const openstudio::path & | seedFile | ) |
Sets the seed file path.
bool openstudio::WorkflowJSON::setWeatherFile | ( | const openstudio::path & | weatherFile | ) |
Sets the weather file path.
bool openstudio::WorkflowJSON::setWorkflowSteps | ( | const std::vector< WorkflowStep > & | steps | ) |
Assigns the workflow steps.
void openstudio::WorkflowJSON::start | ( | ) |
Sets the started at time.
boost::optional<DateTime> openstudio::WorkflowJSON::startedAt | ( | ) | const |
Returns the time this WorkflowJSON was started at.
std::string openstudio::WorkflowJSON::string | ( | bool | includeHash = true | ) | const |
Get the workflow as a string.
Json::Value openstudio::WorkflowJSON::toJSON | ( | bool | includeHash = true | ) | const |
boost::optional<DateTime> openstudio::WorkflowJSON::updatedAt | ( | ) | const |
Returns the time this WorkflowJSON was updated at.
bool openstudio::WorkflowJSON::validateMeasures | ( | ) | const |
Checks that all measures in the Workflow can be found, and are in the correct order (ModelMeasure > EnergyPlusMeasure > ReportingMeasure)
boost::optional<openstudio::path> openstudio::WorkflowJSON::weatherFile | ( | ) | const |
Returns the weather file path.
Evaluated relative to filePaths if not absolute.
std::vector<WorkflowStep> openstudio::WorkflowJSON::workflowSteps | ( | ) | const |
Returns the workflow steps.