From 2cd6be7d5e16232fa9f3e3747bdb9dd3dbc7ec40 Mon Sep 17 00:00:00 2001
From: Christoph Lehmann <christoph.lehmann@ufz.de>
Date: Fri, 8 Jan 2016 16:06:16 +0100
Subject: [PATCH] [NL] changed to new ConfigTree

---
 .../Algorithms/FixedTimeStepping.cpp          | 34 +++++--------------
 .../Algorithms/FixedTimeStepping.h            |  4 +--
 2 files changed, 11 insertions(+), 27 deletions(-)

diff --git a/NumLib/TimeStepping/Algorithms/FixedTimeStepping.cpp b/NumLib/TimeStepping/Algorithms/FixedTimeStepping.cpp
index a9be31c2b58..72c255d1261 100644
--- a/NumLib/TimeStepping/Algorithms/FixedTimeStepping.cpp
+++ b/NumLib/TimeStepping/Algorithms/FixedTimeStepping.cpp
@@ -17,7 +17,7 @@
 #include <limits>
 #include <cassert>
 
-#include "BaseLib/ConfigTree.h"
+#include "BaseLib/ConfigTreeNew.h"
 #include "logog/include/logog.hpp"
 
 namespace NumLib
@@ -32,31 +32,15 @@ FixedTimeStepping::FixedTimeStepping(double t0, double tn, double dt)
 {}
 
 FixedTimeStepping*
-FixedTimeStepping::newInstance(BaseLib::ConfigTree const& config)
+FixedTimeStepping::newInstance(BaseLib::ConfigTreeNew const& config)
 {
-    assert(config.get<std::string>("type") == "FixedTimeStepping");
-
-    auto const t_initial = config.get_optional<double>("t_initial");
-    auto const t_end     = config.get_optional<double>("t_end");
-    auto const dt        = config.get_optional<double>("dt");
-
-    if (!t_initial)
-    {
-        ERR("could not find required parameter t_initial.");
-        return nullptr;
-    }
-    if (!t_end)
-    {
-        ERR("could not find required parameter t_end.");
-        return nullptr;
-    }
-    if (!dt)
-    {
-        ERR("could not find required parameter dt.");
-        return nullptr;
-    }
-
-    return new FixedTimeStepping(*t_initial, *t_end, *dt);
+    config.checkConfParam("type", "FixedTimeStepping");
+
+    auto const t_initial = config.getConfParam<double>("t_initial");
+    auto const t_end     = config.getConfParam<double>("t_end");
+    auto const dt        = config.getConfParam<double>("dt");
+
+    return new FixedTimeStepping(t_initial, t_end, dt);
 }
 
 const TimeStep FixedTimeStepping::getTimeStep() const
diff --git a/NumLib/TimeStepping/Algorithms/FixedTimeStepping.h b/NumLib/TimeStepping/Algorithms/FixedTimeStepping.h
index c54ec87ce83..b258bedc295 100644
--- a/NumLib/TimeStepping/Algorithms/FixedTimeStepping.h
+++ b/NumLib/TimeStepping/Algorithms/FixedTimeStepping.h
@@ -14,7 +14,7 @@
 
 #include <vector>
 
-#include "BaseLib/ConfigTree.h"
+#include "BaseLib/ConfigTreeNew.h"
 #include "ITimeStepAlgorithm.h"
 
 namespace NumLib
@@ -64,7 +64,7 @@ public:
      *
      * Currently this function only covers uniform timestep size.
      */
-    static FixedTimeStepping* newInstance(BaseLib::ConfigTree const& config);
+    static FixedTimeStepping* newInstance(BaseLib::ConfigTreeNew const& config);
 
     virtual ~FixedTimeStepping() {}
 
-- 
GitLab