Skip to content
Snippets Groups Projects
Commit fdc0f042 authored by Joan Vallvé Navarro's avatar Joan Vallvé Navarro
Browse files

remove loader in autoSetup, taken from problem

parent f160f93d
No related branches found
No related tags found
1 merge request!448Draft: Resolve "Implementation of new nodes creation"
Pipeline #19043 canceled
......@@ -133,13 +133,11 @@ class SolverManager
static SolverManagerPtr autoSetup(const ProblemPtr& _problem,
const std::string& _input_yaml_file,
std::vector<std::string> _primary_schema_folders,
LoaderPtr _loader = nullptr,
bool _skip_yaml_validation = false);
static SolverManagerPtr autoSetup(const ProblemPtr& _problem,
YAML::Node _param_node,
std::vector<std::string> _primary_schema_folders,
LoaderPtr _loader = nullptr,
bool _skip_yaml_validation = false);
virtual ~SolverManager();
......
......@@ -59,7 +59,6 @@ SolverManager::~SolverManager() {}
SolverManagerPtr SolverManager::autoSetup(const ProblemPtr& _problem,
const std::string& _input_yaml_file,
std::vector<std::string> _schema_folders,
LoaderPtr _loader,
bool _skip_yaml_validation)
{
// Load YAML node: yaml schema server only used to flatten "follows", not validation
......@@ -67,13 +66,12 @@ SolverManagerPtr SolverManager::autoSetup(const ProblemPtr& _problem,
yaml_schema_cpp::YamlServer server = yaml_schema_cpp::YamlServer({}, _input_yaml_file);
// Call autoSetup via YAML node
return SolverManager::autoSetup(_problem, server.getNode(), _schema_folders, _loader, _skip_yaml_validation);
return SolverManager::autoSetup(_problem, server.getNode(), _schema_folders, _skip_yaml_validation);
}
SolverManagerPtr SolverManager::autoSetup(const ProblemPtr& _problem,
YAML::Node _param_node,
std::vector<std::string> _schema_folders,
LoaderPtr _loader,
bool _skip_yaml_validation)
{
// VALIDATION ===============================================================================
......@@ -93,12 +91,9 @@ SolverManagerPtr SolverManager::autoSetup(const ProblemPtr& _problem,
throw std::runtime_error("Solver could not be created! Missing type or plugin");
}
// Load plugin if not loaded (null loader -> use problem loader)
// Load plugin if not loaded (using problem's loader)
auto plugin = _param_node["plugin"].as<std::string>();
if (_loader)
_loader->loadPlugin(plugin); // if already loaded does nothing
else
_problem->getLoader()->loadPlugin(plugin); // if already loaded does nothing
_problem->getLoader()->loadPlugin(plugin); // if already loaded does nothing
// SCHEMA FOLDERS (optional _schema_folders specify folders where to search schemas before installed ones)
// Add the installed schema folders after optional input folders
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment