From 96d014a330512fd96f7dafd4461e3aa40d493b2d Mon Sep 17 00:00:00 2001
From: phesch <ulila@student.kit.edu>
Date: Tue, 24 May 2022 19:54:26 +0200
Subject: [PATCH] Move Prediction.{h,cpp} to armem/core

---
 .../components/armem/server/ExampleMemory/ExampleMemory.cpp | 4 ++--
 .../components/armem/server/ObjectMemory/ObjectMemory.cpp   | 6 +++---
 source/RobotAPI/libraries/ArmarXObjects/predictions.cpp     | 1 +
 source/RobotAPI/libraries/ArmarXObjects/predictions.h       | 1 -
 source/RobotAPI/libraries/armem/CMakeLists.txt              | 6 +++---
 source/RobotAPI/libraries/armem/client/Reader.h             | 2 +-
 .../libraries/armem/{client => core}/Prediction.cpp         | 4 ++--
 .../RobotAPI/libraries/armem/{client => core}/Prediction.h  | 4 ++--
 .../libraries/armem/server/plugins/ReadWritePluginUser.cpp  | 4 ++--
 .../libraries/armem_objects/server/instance/Segment.h       | 2 +-
 .../armem_objects/server/instance/SegmentAdapter.cpp        | 4 ++--
 .../libraries/armem_objects/server/instance/Visu.cpp        | 1 -
 12 files changed, 19 insertions(+), 20 deletions(-)
 rename source/RobotAPI/libraries/armem/{client => core}/Prediction.cpp (98%)
 rename source/RobotAPI/libraries/armem/{client => core}/Prediction.h (97%)

diff --git a/source/RobotAPI/components/armem/server/ExampleMemory/ExampleMemory.cpp b/source/RobotAPI/components/armem/server/ExampleMemory/ExampleMemory.cpp
index 9ba708cf2..bca1b0413 100644
--- a/source/RobotAPI/components/armem/server/ExampleMemory/ExampleMemory.cpp
+++ b/source/RobotAPI/components/armem/server/ExampleMemory/ExampleMemory.cpp
@@ -26,9 +26,9 @@
 
 #include <SimoxUtility/algorithm/string.h>
 
-#include <RobotAPI/libraries/armem/client/Prediction.h>
 #include <RobotAPI/libraries/armem/client/query/Builder.h>
 #include <RobotAPI/libraries/armem/core/error.h>
+#include <RobotAPI/libraries/armem/core/Prediction.h>
 #include <RobotAPI/libraries/armem/core/ice_conversions_templates.h>
 #include <RobotAPI/libraries/armem/server/MemoryRemoteGui.h>
 
@@ -227,7 +227,7 @@ namespace armarx
     armem::prediction::data::PredictionResult
     ExampleMemory::predictSingle(const armem::prediction::data::PredictionRequest& request)
     {
-        armem::client::PredictionResult result;
+        armem::PredictionResult result;
 
         std::string engine = request.settings.predictionEngineID;
         if (engine.empty() || engine == "Latest")
diff --git a/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp b/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp
index b13fdcc0f..52fa8e1a0 100644
--- a/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp
+++ b/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp
@@ -26,9 +26,9 @@
 
 #include <RobotAPI/libraries/ArmarXObjects/aron_conversions.h>
 #include <RobotAPI/libraries/ArmarXObjects/ice_conversions.h>
-#include <RobotAPI/libraries/armem/client/Prediction.h>
 #include <RobotAPI/libraries/armem/client/query.h>
 #include <RobotAPI/libraries/armem/core/ice_conversions_templates.h>
+#include <RobotAPI/libraries/armem/core/Prediction.h>
 #include <RobotAPI/libraries/armem_objects/aron/ObjectInstance.aron.generated.h>
 
 
@@ -231,8 +231,8 @@ namespace armarx::armem::server::obj
         std::vector<armem::prediction::data::PredictionResult> results;
         for (const auto& request : requests)
         {
-            auto boRequest = armarx::fromIce<armem::client::PredictionRequest>(request);
-            armem::client::PredictionResult result;
+            auto boRequest = armarx::fromIce<armem::PredictionRequest>(request);
+            armem::PredictionResult result;
             result.snapshotID = boRequest.snapshotID;
             if (armem::contains(workingMemory().id().withCoreSegmentName("Instance"),
                                 boRequest.snapshotID) &&
diff --git a/source/RobotAPI/libraries/ArmarXObjects/predictions.cpp b/source/RobotAPI/libraries/ArmarXObjects/predictions.cpp
index 427868519..fc9dfe508 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/predictions.cpp
+++ b/source/RobotAPI/libraries/ArmarXObjects/predictions.cpp
@@ -25,6 +25,7 @@
 #include <SimoxUtility/math/pose/pose.h>
 #include <SimoxUtility/math/regression/linear.h>
 
+#include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 #include <ArmarXCore/core/ice_conversions/ice_conversions_templates.h>
 
 namespace armarx::objpose
diff --git a/source/RobotAPI/libraries/ArmarXObjects/predictions.h b/source/RobotAPI/libraries/ArmarXObjects/predictions.h
index d9b647f9d..03b3f7de2 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/predictions.h
+++ b/source/RobotAPI/libraries/ArmarXObjects/predictions.h
@@ -25,7 +25,6 @@
 
 #include <RobotAPI/interface/objectpose/ObjectPoseStorageInterface.h>
 #include <RobotAPI/libraries/ArmarXObjects/ObjectPose.h>
-#include <RobotAPI/libraries/armem/client/Prediction.h>
 
 namespace armarx::objpose
 {
diff --git a/source/RobotAPI/libraries/armem/CMakeLists.txt b/source/RobotAPI/libraries/armem/CMakeLists.txt
index 8dba8b8e7..62da88404 100644
--- a/source/RobotAPI/libraries/armem/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem/CMakeLists.txt
@@ -18,6 +18,7 @@ set(LIB_FILES
     core/MemoryID.cpp
     core/MemoryID_operators.cpp
     core/operations.cpp
+    core/Prediction.cpp
     core/SuccessHeader.cpp
     core/Time.cpp
     core/aron_conversions.cpp
@@ -51,7 +52,6 @@ set(LIB_FILES
 
 
     client/MemoryNameSystem.cpp
-    client/Prediction.cpp
     client/Reader.cpp
     client/Writer.cpp
 
@@ -82,11 +82,12 @@ set(LIB_HEADERS
 
     core/actions.h
     core/Commit.h
+    core/container_maps.h
     core/DataMode.h
     core/MemoryID.h
     core/MemoryID_operators.h
     core/operations.h
-    core/container_maps.h
+    core/Prediction.h
     core/SuccessHeader.h
     core/Time.h
     core/aron_conversions.h
@@ -128,7 +129,6 @@ set(LIB_HEADERS
     client.h
     client/forward_declarations.h
     client/MemoryNameSystem.h
-    client/Prediction.h
     client/Reader.h
     client/Writer.h
 
diff --git a/source/RobotAPI/libraries/armem/client/Reader.h b/source/RobotAPI/libraries/armem/client/Reader.h
index 02e1442ef..7ecb453c8 100644
--- a/source/RobotAPI/libraries/armem/client/Reader.h
+++ b/source/RobotAPI/libraries/armem/client/Reader.h
@@ -9,10 +9,10 @@
 #include <RobotAPI/interface/armem/server/ReadingMemoryInterface.h>
 #include <RobotAPI/interface/armem/server/StoringMemoryInterface.h>
 #include <RobotAPI/libraries/armem/client/MemoryNameSystem.h>
+#include <RobotAPI/libraries/armem/core/Prediction.h>
 #include <RobotAPI/libraries/armem/core/wm/memory_definitions.h>
 
 #include "Query.h"
-#include "Prediction.h"
 
 
 namespace armarx::armem::client
diff --git a/source/RobotAPI/libraries/armem/client/Prediction.cpp b/source/RobotAPI/libraries/armem/core/Prediction.cpp
similarity index 98%
rename from source/RobotAPI/libraries/armem/client/Prediction.cpp
rename to source/RobotAPI/libraries/armem/core/Prediction.cpp
index dce9473bd..9880d03a2 100644
--- a/source/RobotAPI/libraries/armem/client/Prediction.cpp
+++ b/source/RobotAPI/libraries/armem/core/Prediction.cpp
@@ -26,7 +26,7 @@
 
 #include <RobotAPI/libraries/armem/core/ice_conversions.h>
 
-namespace armarx::armem::client
+namespace armarx::armem
 {
     PredictionEngine
     PredictionEngine::fromIce(const armem::prediction::data::PredictionEngine& ice)
@@ -132,4 +132,4 @@ namespace armarx::armem::client
         result.prediction = aron::data::Dict::FromAronDictDTO(ice.prediction);
     }
 
-} // namespace armarx::armem::client
+} // namespace armarx::armem
diff --git a/source/RobotAPI/libraries/armem/client/Prediction.h b/source/RobotAPI/libraries/armem/core/Prediction.h
similarity index 97%
rename from source/RobotAPI/libraries/armem/client/Prediction.h
rename to source/RobotAPI/libraries/armem/core/Prediction.h
index 0e9ac30d5..a8ec9ee52 100644
--- a/source/RobotAPI/libraries/armem/client/Prediction.h
+++ b/source/RobotAPI/libraries/armem/core/Prediction.h
@@ -26,7 +26,7 @@
 #include <RobotAPI/libraries/armem/core/MemoryID.h>
 #include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
-namespace armarx::armem::client
+namespace armarx::armem
 {
 
     struct PredictionEngine
@@ -83,4 +83,4 @@ namespace armarx::armem::client
     void toIce(armem::prediction::data::PredictionResult& ice, const PredictionResult& result);
     void fromIce(const armem::prediction::data::PredictionResult& ice, PredictionResult& result);
 
-} // namespace armarx::armem::client
+} // namespace armarx::armem
diff --git a/source/RobotAPI/libraries/armem/server/plugins/ReadWritePluginUser.cpp b/source/RobotAPI/libraries/armem/server/plugins/ReadWritePluginUser.cpp
index 53027b903..44454b87d 100644
--- a/source/RobotAPI/libraries/armem/server/plugins/ReadWritePluginUser.cpp
+++ b/source/RobotAPI/libraries/armem/server/plugins/ReadWritePluginUser.cpp
@@ -1,8 +1,8 @@
 #include "ReadWritePluginUser.h"
 #include "Plugin.h"
 
-#include <RobotAPI/libraries/armem/client/Prediction.h>
 #include <RobotAPI/libraries/armem/core/error.h>
+#include <RobotAPI/libraries/armem/core/Prediction.h>
 #include <RobotAPI/libraries/armem/server/MemoryToIceAdapter.h>
 
 #include <ArmarXCore/core/Component.h>
@@ -125,7 +125,7 @@ namespace armarx::armem::server::plugins
         armem::prediction::data::PredictionResultSeq result;
         for (auto request : requests)
         {
-            armem::client::PredictionResult singleResult;
+            armem::PredictionResult singleResult;
             singleResult.success = false;
             singleResult.errorMessage = "This memory does not implement predictions.";
             singleResult.prediction = nullptr;
diff --git a/source/RobotAPI/libraries/armem_objects/server/instance/Segment.h b/source/RobotAPI/libraries/armem_objects/server/instance/Segment.h
index 0aa9b9304..da1426a6f 100644
--- a/source/RobotAPI/libraries/armem_objects/server/instance/Segment.h
+++ b/source/RobotAPI/libraries/armem_objects/server/instance/Segment.h
@@ -18,7 +18,7 @@
 #include <RobotAPI/libraries/ArmarXObjects/ObjectFinder.h>
 #include <RobotAPI/libraries/ArmarXObjects/forward_declarations.h>
 
-#include <RobotAPI/libraries/armem/client/Prediction.h>
+#include <RobotAPI/libraries/armem/core/Prediction.h>
 #include <RobotAPI/libraries/armem/server/wm/memory_definitions.h>
 #include <RobotAPI/libraries/armem/server/segment/SpecializedSegment.h>
 
diff --git a/source/RobotAPI/libraries/armem_objects/server/instance/SegmentAdapter.cpp b/source/RobotAPI/libraries/armem_objects/server/instance/SegmentAdapter.cpp
index 7c7dac41c..959d3b5fa 100644
--- a/source/RobotAPI/libraries/armem_objects/server/instance/SegmentAdapter.cpp
+++ b/source/RobotAPI/libraries/armem_objects/server/instance/SegmentAdapter.cpp
@@ -494,8 +494,8 @@ namespace armarx::armem::server::obj::instance
 
             if (result.success)
             {
-                armem::client::PredictionSettings settings =
-                        armem::client::PredictionSettings::fromIce(request.settings);
+                armem::PredictionSettings settings =
+                        armem::PredictionSettings::fromIce(request.settings);
 
                 if (settings.predictionEngineID.empty()
                     or settings.predictionEngineID == "Linear Position Regression")
diff --git a/source/RobotAPI/libraries/armem_objects/server/instance/Visu.cpp b/source/RobotAPI/libraries/armem_objects/server/instance/Visu.cpp
index 47206a42f..eb7d90cd2 100644
--- a/source/RobotAPI/libraries/armem_objects/server/instance/Visu.cpp
+++ b/source/RobotAPI/libraries/armem_objects/server/instance/Visu.cpp
@@ -10,7 +10,6 @@
 #include <RobotAPI/libraries/ArmarXObjects/ice_conversions.h>
 #include <RobotAPI/libraries/ArmarXObjects/ObjectFinder.h>
 #include <RobotAPI/libraries/ArmarXObjects/predictions.h>
-#include <RobotAPI/libraries/armem/client/Prediction.h>
 
 
 namespace armarx::armem::server::obj::instance
-- 
GitLab