From 662222aa7aed4a49e2fb7c1d7e79b146042daddb Mon Sep 17 00:00:00 2001
From: Mirko Waechter <mirko.waechter@kit.edu>
Date: Sun, 4 Jun 2017 18:38:38 +0200
Subject: [PATCH] adjusted to observer change

---
 .../PlotterController/PlotterController.cpp   | 34 +++++++++----------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/source/ArmarXGui/libraries/PlotterController/PlotterController.cpp b/source/ArmarXGui/libraries/PlotterController/PlotterController.cpp
index 1415f577..e8a82dc5 100644
--- a/source/ArmarXGui/libraries/PlotterController/PlotterController.cpp
+++ b/source/ArmarXGui/libraries/PlotterController/PlotterController.cpp
@@ -110,7 +110,7 @@ void PlotterController::updateGraph()
 
     IceUtil::Time curTime = TimeUtil::GetTime();
     // erase old markers
-    for (auto& markerChannel : markers)
+    for (auto & markerChannel : markers)
     {
         for (auto it = markerChannel.second.begin(); it != markerChannel.second.end();)
         {
@@ -150,7 +150,7 @@ void PlotterController::updateGraph()
             marker->setLineStyle(QwtPlotMarker::VLine);
             marker->setLabelAlignment(Qt::AlignBottom | Qt::AlignLeft);
             int i = 0;
-            for (auto& markerSubMap : markers)
+            for (auto & markerSubMap : markers)
             {
                 if (markerSubMap.first == datafieldId)
                 {
@@ -428,7 +428,7 @@ std::map<std::string, VariantPtr> PlotterController::getData(const QStringList&
                 {
                     auto dict = JSONObject::ConvertToBasicVariantMap(json, var);
 
-                    for (const auto& e : dict)
+                    for (const auto & e : dict)
                     {
                         if (e.first == "timestamp") // TimedVariants always contain a timestamp field which is irrelevant
                         {
@@ -494,7 +494,7 @@ void PlotterController::setupCurves(int samplingIntervalMs)
         ScopedLock lock(dataMutex);
         clear();
         auto now = TimeUtil::GetTime();
-        std::map<std::string, ChannelHistory> histories;
+        std::map<std::string, TimedVariantBaseList> histories;
         markers.clear();
         //                for(auto marker : markers)
         //                    marker->detach();
@@ -510,15 +510,15 @@ void PlotterController::setupCurves(int samplingIntervalMs)
 
                 // get past data of that datafield
                 auto id = identifier->getIdentifierStr();
-                auto historiesIt = histories.find(identifier->channelName);
+                auto historiesIt = histories.find(id);
 
                 if (historiesIt == histories.end())
                 {
                     auto start = IceUtil::Time::now();
-                    histories[identifier->channelName] = prx->getPartialChannelHistory(identifier->channelName,
-                                                         (now - IceUtil::Time::seconds(shownInterval)).toMicroSeconds(), now.toMicroSeconds(), samplingIntervalMs);
+                    histories[id] = prx->getPartialDatafieldHistory(identifier->channelName, identifier->datafieldName,
+                                    (now - IceUtil::Time::seconds(shownInterval)).toMicroSeconds(), now.toMicroSeconds(), samplingIntervalMs);
                     ARMARX_DEBUG << "history data polling took : " << (IceUtil::Time::now() - start).toMilliSecondsDouble() << " got " << histories[identifier->channelName].size() << " entries";
-                    historiesIt = histories.find(identifier->channelName);
+                    historiesIt = histories.find(id);
                 }
 
                 long lastTimestamp = 0;
@@ -537,12 +537,12 @@ void PlotterController::setupCurves(int samplingIntervalMs)
                     QwtThermo* bar = createBar(selectedDatafields.at(i));
                     bars[selectedDatafields.at(i).toStdString()] = bar;
 
-                    for (auto& entry : historiesIt->second)
+                    for (TimedVariantBasePtr & entry : historiesIt->second)
                     {
-                        if (lastTimestamp + pollingInterval < entry.first)
+                        if (lastTimestamp + pollingInterval < entry->getTimestamp())
                         {
-                            dataMap[id].push_back(TimeData(IceUtil::Time::microSeconds(entry.first), VariantPtr::dynamicCast(entry.second[identifier->datafieldName].value)));
-                            lastTimestamp = entry.first;
+                            dataMap[id].push_back(TimeData(IceUtil::Time::microSeconds(entry->getTimestamp()), VariantPtr::dynamicCast(entry)));
+                            lastTimestamp = entry->getTimestamp();
                         }
                     }
                 }
@@ -573,12 +573,12 @@ void PlotterController::setupCurves(int samplingIntervalMs)
                             bars[key] = bar;
                         }
                     }
-                    for (auto& entry : historiesIt->second)
+                    for (auto & entry : historiesIt->second)
                     {
-                        if (lastTimestamp + pollingInterval < entry.first)
+                        if (lastTimestamp + pollingInterval < entry->getTimestamp())
                         {
-                            auto dict = JSONObject::ConvertToBasicVariantMap(json, entry.second[identifier->datafieldName].value);
-                            for (const auto& e : dict)
+                            auto dict = JSONObject::ConvertToBasicVariantMap(json, entry);
+                            for (const auto & e : dict)
                             {
                                 if (e.first == "timestamp") // TimedVariants always contain a timestamp field which is irrelevant
                                 {
@@ -600,7 +600,7 @@ void PlotterController::setupCurves(int samplingIntervalMs)
                                 }
                                 else
                                 {
-                                    dataMap[key].push_back(TimeData(IceUtil::Time::microSeconds(entry.first), var));
+                                    dataMap[key].push_back(TimeData(IceUtil::Time::microSeconds(entry->getTimestamp()), var));
                                 }
                             }
                         }
-- 
GitLab