diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index 466f831f78432d7c38583165ddba635d38b2ab8b..4ccdf731857e937db24d3b59b8682ce96124b3e4 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -2827,6 +2827,23 @@ RealtimeShockDecompositionStatement::writeOutput(ostream &output, const string & output << "oo_ = realtime_shock_decomposition(M_,oo_,options_,var_list_,bayestopt_,estim_params_);" << endl; } +void +RealtimeShockDecompositionStatement::writeJsonOutput(ostream &output) const +{ + output << R"({"statementName": "realtime_shock_decomposition")"; + if (options_list.getNumberOfOptions()) + { + output << ", "; + options_list.writeJsonOutput(output); + } + if (!symbol_list.empty()) + { + output << ", "; + symbol_list.writeJsonOutput(output); + } + output << "}"; +} + PlotShockDecompositionStatement::PlotShockDecompositionStatement(SymbolList symbol_list_arg, OptionsList options_list_arg) : symbol_list{move(symbol_list_arg)}, @@ -2843,6 +2860,23 @@ PlotShockDecompositionStatement::writeOutput(ostream &output, const string &base output << "plot_shock_decomposition(M_, oo_, options_, var_list_);" << endl; } +void +PlotShockDecompositionStatement::writeJsonOutput(ostream &output) const +{ + output << R"({"statementName": "plot_shock_decomposition")"; + if (options_list.getNumberOfOptions()) + { + output << ", "; + options_list.writeJsonOutput(output); + } + if (!symbol_list.empty()) + { + output << ", "; + symbol_list.writeJsonOutput(output); + } + output << "}"; +} + InitialConditionDecompositionStatement::InitialConditionDecompositionStatement(SymbolList symbol_list_arg, OptionsList options_list_arg) : symbol_list{move(symbol_list_arg)}, @@ -2859,6 +2893,23 @@ InitialConditionDecompositionStatement::writeOutput(ostream &output, const strin output << "oo_ = initial_condition_decomposition(M_, oo_, options_, var_list_, bayestopt_, estim_params_);" << endl; } +void +InitialConditionDecompositionStatement::writeJsonOutput(ostream &output) const +{ + output << R"({"statementName": "initial_condition_decomposition")"; + if (options_list.getNumberOfOptions()) + { + output << ", "; + options_list.writeJsonOutput(output); + } + if (!symbol_list.empty()) + { + output << ", "; + symbol_list.writeJsonOutput(output); + } + output << "}"; +} + ConditionalForecastStatement::ConditionalForecastStatement(OptionsList options_list_arg) : options_list{move(options_list_arg)} { diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh index ea2d57a5849eba94ce0d45ec4a64be17e862896c..75386fa68fe3b7811f907332452378c99dab8d05 100644 --- a/src/ComputingTasks.hh +++ b/src/ComputingTasks.hh @@ -727,6 +727,7 @@ public: RealtimeShockDecompositionStatement(SymbolList symbol_list_arg, OptionsList options_list_arg); void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override; + void writeJsonOutput(ostream &output) const override; }; class PlotShockDecompositionStatement : public Statement @@ -738,6 +739,7 @@ public: PlotShockDecompositionStatement(SymbolList symbol_list_arg, OptionsList options_list_arg); void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override; + void writeJsonOutput(ostream &output) const override; }; class InitialConditionDecompositionStatement : public Statement @@ -749,6 +751,7 @@ public: InitialConditionDecompositionStatement(SymbolList symbol_list_arg, OptionsList options_list_arg); void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override; + void writeJsonOutput(ostream &output) const override; }; class ConditionalForecastStatement : public Statement