From 229ce364282bb449360bfd93f362e671e532f2d6 Mon Sep 17 00:00:00 2001
From: Fabian Peller-Konrad <fabian.peller-konrad@kit.edu>
Date: Tue, 26 Oct 2021 12:39:18 +0200
Subject: [PATCH] ltm memory changes and first folder structure for
 filter->encode->store->forget pipeline

---
 .../RobotAPI/libraries/armem/CMakeLists.txt   | 62 +++++++++++++------
 .../armem/server/MemoryToIceAdapter.cpp       |  6 +-
 .../server/ltm/base/converter/Converter.cpp   |  0
 .../server/ltm/base/converter/Converter.h     |  0
 .../ltm/base/converter/bson/BsonConverter.cpp |  0
 .../ltm/base/converter/bson/BsonConverter.h   |  0
 .../ltm/base/converter/json/JsonConverter.cpp |  0
 .../ltm/base/converter/json/JsonConverter.h   |  0
 .../{ => base}/detail/BufferedMemoryBase.cpp  |  0
 .../{ => base}/detail/BufferedMemoryBase.h    |  0
 .../ltm/{ => base}/detail/CoreSegmentBase.cpp |  0
 .../ltm/{ => base}/detail/CoreSegmentBase.h   |  0
 .../ltm/{ => base}/detail/EntityBase.cpp      |  0
 .../server/ltm/{ => base}/detail/EntityBase.h |  0
 .../{ => base}/detail/EntitySnapshotBase.cpp  |  0
 .../{ => base}/detail/EntitySnapshotBase.h    |  0
 .../ltm/{ => base}/detail/LUTMemoryBase.cpp   |  0
 .../ltm/{ => base}/detail/LUTMemoryBase.h     |  0
 .../ltm/{ => base}/detail/MemoryBase.cpp      |  0
 .../server/ltm/{ => base}/detail/MemoryBase.h |  0
 .../ltm/{ => base}/detail/MemoryItem.cpp      |  0
 .../server/ltm/{ => base}/detail/MemoryItem.h |  0
 .../{ => base}/detail/ProviderSegmentBase.cpp |  0
 .../{ => base}/detail/ProviderSegmentBase.h   |  0
 .../armem/server/ltm/base/encoder/Encoder.cpp |  0
 .../armem/server/ltm/base/encoder/Encoder.h   |  0
 .../ltm/base/encoder/noEncoder/NoEncoder.cpp  |  0
 .../ltm/base/encoder/noEncoder/NoEncoder.h    |  0
 .../armem/server/ltm/base/filter/Filter.cpp   |  0
 .../armem/server/ltm/base/filter/Filter.h     |  0
 .../ltm/base/filter/noFilter/NoFilter.cpp     |  0
 .../ltm/base/filter/noFilter/NoFilter.h       |  0
 .../server/ltm/base/forgetter/Forgetter.cpp   |  0
 .../server/ltm/base/forgetter/Forgetter.h     |  0
 .../forgetter/noForgetter/NoForgetter.cpp     |  0
 .../base/forgetter/noForgetter/NoForgetter.h  |  0
 .../armem/server/ltm/disk/CoreSegment.h       |  2 +-
 .../libraries/armem/server/ltm/disk/Entity.h  |  2 +-
 .../armem/server/ltm/disk/EntitySnapshot.h    |  2 +-
 .../libraries/armem/server/ltm/disk/Memory.h  |  2 +-
 .../armem/server/ltm/disk/ProviderSegment.h   |  2 +-
 .../armem/server/query_proc/ltm/disk/ltm.cpp  |  7 +++
 .../server/query_proc/ltm/{ => disk}/ltm.h    | 10 +--
 .../armem/server/query_proc/ltm/ltm.cpp       |  7 ---
 .../libraries/armem_gui/MemoryViewer.cpp      |  2 +-
 .../armem_gui/disk/ControlWidget.cpp          |  2 +-
 46 files changed, 66 insertions(+), 40 deletions(-)
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/converter/Converter.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/converter/Converter.h
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/converter/bson/BsonConverter.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/converter/bson/BsonConverter.h
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/converter/json/JsonConverter.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/converter/json/JsonConverter.h
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/BufferedMemoryBase.cpp (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/BufferedMemoryBase.h (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/CoreSegmentBase.cpp (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/CoreSegmentBase.h (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/EntityBase.cpp (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/EntityBase.h (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/EntitySnapshotBase.cpp (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/EntitySnapshotBase.h (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/LUTMemoryBase.cpp (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/LUTMemoryBase.h (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/MemoryBase.cpp (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/MemoryBase.h (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/MemoryItem.cpp (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/MemoryItem.h (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/ProviderSegmentBase.cpp (100%)
 rename source/RobotAPI/libraries/armem/server/ltm/{ => base}/detail/ProviderSegmentBase.h (100%)
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/encoder/Encoder.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/encoder/Encoder.h
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/encoder/noEncoder/NoEncoder.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/encoder/noEncoder/NoEncoder.h
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/filter/Filter.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/filter/Filter.h
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/filter/noFilter/NoFilter.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/filter/noFilter/NoFilter.h
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/forgetter/Forgetter.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/forgetter/Forgetter.h
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/forgetter/noForgetter/NoForgetter.cpp
 create mode 100644 source/RobotAPI/libraries/armem/server/ltm/base/forgetter/noForgetter/NoForgetter.h
 create mode 100644 source/RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.cpp
 rename source/RobotAPI/libraries/armem/server/query_proc/ltm/{ => disk}/ltm.h (87%)
 delete mode 100644 source/RobotAPI/libraries/armem/server/query_proc/ltm/ltm.cpp

diff --git a/source/RobotAPI/libraries/armem/CMakeLists.txt b/source/RobotAPI/libraries/armem/CMakeLists.txt
index 0f4a137d1..784cb0460 100644
--- a/source/RobotAPI/libraries/armem/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem/CMakeLists.txt
@@ -83,14 +83,27 @@ set(LIB_FILES
     server/MemoryRemoteGui.cpp
     server/RemoteGuiAronDataVisitor.cpp
 
-    server/ltm/detail/MemoryItem.cpp
-    server/ltm/detail/MemoryBase.cpp
-    server/ltm/detail/BufferedMemoryBase.cpp
-    server/ltm/detail/LUTMemoryBase.cpp
-    server/ltm/detail/CoreSegmentBase.cpp
-    server/ltm/detail/ProviderSegmentBase.cpp
-    server/ltm/detail/EntityBase.cpp
-    server/ltm/detail/EntitySnapshotBase.cpp
+    server/ltm/base/detail/MemoryItem.cpp
+    server/ltm/base/detail/MemoryBase.cpp
+    server/ltm/base/detail/BufferedMemoryBase.cpp
+    server/ltm/base/detail/LUTMemoryBase.cpp
+    server/ltm/base/detail/CoreSegmentBase.cpp
+    server/ltm/base/detail/ProviderSegmentBase.cpp
+    server/ltm/base/detail/EntityBase.cpp
+    server/ltm/base/detail/EntitySnapshotBase.cpp
+
+    server/ltm/base/filter/Filter.cpp
+    server/ltm/base/filter/noFilter/NoFilter.cpp
+
+    server/ltm/base/encoder/Encoder.cpp
+    server/ltm/base/encoder/noEncoder/NoEncoder.cpp
+
+    server/ltm/base/converter/Converter.cpp
+    server/ltm/base/converter/json/JsonConverter.cpp
+    server/ltm/base/converter/bson/BsonConverter.cpp
+
+    server/ltm/base/forgetter/Forgetter.cpp
+    server/ltm/base/forgetter/noForgetter/NoForgetter.cpp
 
     server/ltm/disk/detail/Data.cpp
     server/ltm/disk/detail/DiskStorage.cpp
@@ -121,7 +134,7 @@ set(LIB_FILES
     server/query_proc/ltm/detail/ProviderSegmentQueryProcessorBase.cpp
     server/query_proc/ltm/detail/CoreSegmentQueryProcessorBase.cpp
     server/query_proc/ltm/detail/MemoryQueryProcessorBase.cpp
-    server/query_proc/ltm/ltm.cpp
+    server/query_proc/ltm/disk/ltm.cpp
 
     server/query_proc/wm/detail/EntityQueryProcessorBase.cpp
     server/query_proc/wm/detail/ProviderSegmentQueryProcessorBase.cpp
@@ -216,14 +229,27 @@ set(LIB_HEADERS
     server/MemoryRemoteGui.h
     server/RemoteGuiAronDataVisitor.h
 
-    server/ltm/detail/MemoryItem.h
-    server/ltm/detail/MemoryBase.h
-    server/ltm/detail/BufferedMemoryBase.h
-    server/ltm/detail/LUTMemoryBase.h
-    server/ltm/detail/CoreSegmentBase.h
-    server/ltm/detail/ProviderSegmentBase.h
-    server/ltm/detail/EntityBase.h
-    server/ltm/detail/EntitySnapshotBase.h
+    server/ltm/base/detail/MemoryItem.h
+    server/ltm/base/detail/MemoryBase.h
+    server/ltm/base/detail/BufferedMemoryBase.h
+    server/ltm/base/detail/LUTMemoryBase.h
+    server/ltm/base/detail/CoreSegmentBase.h
+    server/ltm/base/detail/ProviderSegmentBase.h
+    server/ltm/base/detail/EntityBase.h
+    server/ltm/base/detail/EntitySnapshotBase.h
+
+    server/ltm/base/filter/Filter.h
+    server/ltm/base/filter/noFilter/NoFilter.h
+
+    server/ltm/base/encoder/Encoder.h
+    server/ltm/base/encoder/noEncoder/NoEncoder.h
+
+    server/ltm/base/converter/Converter.h
+    server/ltm/base/converter/json/JsonConverter.h
+    server/ltm/base/converter/bson/BsonConverter.h
+
+    server/ltm/base/forgetter/Forgetter.h
+    server/ltm/base/forgetter/noForgetter/NoForgetter.h
 
     server/ltm/disk/detail/Data.h
     server/ltm/disk/detail/DiskStorage.h
@@ -258,7 +284,7 @@ set(LIB_HEADERS
     server/query_proc/ltm/detail/ProviderSegmentQueryProcessorBase.h
     server/query_proc/ltm/detail/CoreSegmentQueryProcessorBase.h
     server/query_proc/ltm/detail/MemoryQueryProcessorBase.h
-    server/query_proc/ltm/ltm.h
+    server/query_proc/ltm/disk/ltm.h
 
     server/query_proc/wm/detail/EntityQueryProcessorBase.h
     server/query_proc/wm/detail/ProviderSegmentQueryProcessorBase.h
diff --git a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
index eb79ed3bf..32c8f9672 100644
--- a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
+++ b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
@@ -1,7 +1,7 @@
 #include "MemoryToIceAdapter.h"
 
 #include "query_proc/wm/wm.h"
-#include "query_proc/ltm/ltm.h"
+#include "query_proc/ltm/disk/ltm.h"
 
 #include <RobotAPI/libraries/armem/server/wm/ice_conversions.h>
 
@@ -243,7 +243,7 @@ namespace armarx::armem::server
             input.withData ? armem::DataMode::WithData : armem::DataMode::NoData);
         armem::wm::Memory wmResult = wmServerProcessor.process(input.memoryQueries, *workingMemory);
 
-        query_proc::ltm_server::MemoryQueryProcessor ltmProcessor;
+        query_proc::ltm_server::disk::MemoryQueryProcessor ltmProcessor;
         armem::wm::Memory ltmResult = ltmProcessor.process(input, *longtermMemory);
 
         armem::query::data::Result result;
@@ -251,7 +251,7 @@ namespace armarx::armem::server
         {
             ARMARX_INFO << "The LTM returned data after query";
 
-            longtermMemory->convert(ltmResult); // convert memory ==> meaning resolving lut references to e.g. mongodb
+            longtermMemory->convert(ltmResult); // convert memory ==> meaning resolving references
 
             wmResult.append(ltmResult);
             if (wmResult.empty())
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/converter/Converter.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/converter/Converter.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/converter/Converter.h b/source/RobotAPI/libraries/armem/server/ltm/base/converter/Converter.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/converter/bson/BsonConverter.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/converter/bson/BsonConverter.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/converter/bson/BsonConverter.h b/source/RobotAPI/libraries/armem/server/ltm/base/converter/bson/BsonConverter.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/converter/json/JsonConverter.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/converter/json/JsonConverter.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/converter/json/JsonConverter.h b/source/RobotAPI/libraries/armem/server/ltm/base/converter/json/JsonConverter.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/BufferedMemoryBase.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/detail/BufferedMemoryBase.cpp
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/BufferedMemoryBase.cpp
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/BufferedMemoryBase.cpp
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/BufferedMemoryBase.h b/source/RobotAPI/libraries/armem/server/ltm/base/detail/BufferedMemoryBase.h
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/BufferedMemoryBase.h
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/BufferedMemoryBase.h
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/CoreSegmentBase.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/detail/CoreSegmentBase.cpp
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/CoreSegmentBase.cpp
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/CoreSegmentBase.cpp
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/CoreSegmentBase.h b/source/RobotAPI/libraries/armem/server/ltm/base/detail/CoreSegmentBase.h
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/CoreSegmentBase.h
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/CoreSegmentBase.h
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/EntityBase.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/detail/EntityBase.cpp
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/EntityBase.cpp
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/EntityBase.cpp
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/EntityBase.h b/source/RobotAPI/libraries/armem/server/ltm/base/detail/EntityBase.h
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/EntityBase.h
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/EntityBase.h
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/EntitySnapshotBase.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/detail/EntitySnapshotBase.cpp
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/EntitySnapshotBase.cpp
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/EntitySnapshotBase.cpp
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/EntitySnapshotBase.h b/source/RobotAPI/libraries/armem/server/ltm/base/detail/EntitySnapshotBase.h
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/EntitySnapshotBase.h
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/EntitySnapshotBase.h
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/LUTMemoryBase.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/detail/LUTMemoryBase.cpp
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/LUTMemoryBase.cpp
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/LUTMemoryBase.cpp
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/LUTMemoryBase.h b/source/RobotAPI/libraries/armem/server/ltm/base/detail/LUTMemoryBase.h
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/LUTMemoryBase.h
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/LUTMemoryBase.h
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/MemoryBase.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/detail/MemoryBase.cpp
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/MemoryBase.cpp
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/MemoryBase.cpp
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/MemoryBase.h b/source/RobotAPI/libraries/armem/server/ltm/base/detail/MemoryBase.h
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/MemoryBase.h
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/MemoryBase.h
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/MemoryItem.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/detail/MemoryItem.cpp
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/MemoryItem.cpp
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/MemoryItem.cpp
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/MemoryItem.h b/source/RobotAPI/libraries/armem/server/ltm/base/detail/MemoryItem.h
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/MemoryItem.h
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/MemoryItem.h
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/ProviderSegmentBase.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/detail/ProviderSegmentBase.cpp
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/ProviderSegmentBase.cpp
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/ProviderSegmentBase.cpp
diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/ProviderSegmentBase.h b/source/RobotAPI/libraries/armem/server/ltm/base/detail/ProviderSegmentBase.h
similarity index 100%
rename from source/RobotAPI/libraries/armem/server/ltm/detail/ProviderSegmentBase.h
rename to source/RobotAPI/libraries/armem/server/ltm/base/detail/ProviderSegmentBase.h
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/encoder/Encoder.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/encoder/Encoder.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/encoder/Encoder.h b/source/RobotAPI/libraries/armem/server/ltm/base/encoder/Encoder.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/encoder/noEncoder/NoEncoder.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/encoder/noEncoder/NoEncoder.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/encoder/noEncoder/NoEncoder.h b/source/RobotAPI/libraries/armem/server/ltm/base/encoder/noEncoder/NoEncoder.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/filter/Filter.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/filter/Filter.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/filter/Filter.h b/source/RobotAPI/libraries/armem/server/ltm/base/filter/Filter.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/filter/noFilter/NoFilter.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/filter/noFilter/NoFilter.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/filter/noFilter/NoFilter.h b/source/RobotAPI/libraries/armem/server/ltm/base/filter/noFilter/NoFilter.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/forgetter/Forgetter.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/forgetter/Forgetter.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/forgetter/Forgetter.h b/source/RobotAPI/libraries/armem/server/ltm/base/forgetter/Forgetter.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/forgetter/noForgetter/NoForgetter.cpp b/source/RobotAPI/libraries/armem/server/ltm/base/forgetter/noForgetter/NoForgetter.cpp
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/base/forgetter/noForgetter/NoForgetter.h b/source/RobotAPI/libraries/armem/server/ltm/base/forgetter/noForgetter/NoForgetter.h
new file mode 100644
index 000000000..e69de29bb
diff --git a/source/RobotAPI/libraries/armem/server/ltm/disk/CoreSegment.h b/source/RobotAPI/libraries/armem/server/ltm/disk/CoreSegment.h
index 1ec95bd79..a0d3872ce 100644
--- a/source/RobotAPI/libraries/armem/server/ltm/disk/CoreSegment.h
+++ b/source/RobotAPI/libraries/armem/server/ltm/disk/CoreSegment.h
@@ -3,7 +3,7 @@
 #include <filesystem>
 
 // Base Class
-#include "../detail/CoreSegmentBase.h"
+#include "../base/detail/CoreSegmentBase.h"
 #include "detail/DiskStorage.h"
 
 #include "ProviderSegment.h"
diff --git a/source/RobotAPI/libraries/armem/server/ltm/disk/Entity.h b/source/RobotAPI/libraries/armem/server/ltm/disk/Entity.h
index 3d0aacfb3..48b46c34e 100644
--- a/source/RobotAPI/libraries/armem/server/ltm/disk/Entity.h
+++ b/source/RobotAPI/libraries/armem/server/ltm/disk/Entity.h
@@ -3,7 +3,7 @@
 #include <filesystem>
 
 // Base Class
-#include "../detail/EntityBase.h"
+#include "../base/detail/EntityBase.h"
 #include "detail/DiskStorage.h"
 
 #include "EntitySnapshot.h"
diff --git a/source/RobotAPI/libraries/armem/server/ltm/disk/EntitySnapshot.h b/source/RobotAPI/libraries/armem/server/ltm/disk/EntitySnapshot.h
index 50d01d254..d93a62c9c 100644
--- a/source/RobotAPI/libraries/armem/server/ltm/disk/EntitySnapshot.h
+++ b/source/RobotAPI/libraries/armem/server/ltm/disk/EntitySnapshot.h
@@ -3,7 +3,7 @@
 #include <filesystem>
 
 // Base Class
-#include "../detail/EntitySnapshotBase.h"
+#include "../base/detail/EntitySnapshotBase.h"
 #include "detail/DiskStorage.h"
 
 namespace armarx::armem::server::ltm::disk
diff --git a/source/RobotAPI/libraries/armem/server/ltm/disk/Memory.h b/source/RobotAPI/libraries/armem/server/ltm/disk/Memory.h
index a32719de2..e9e422577 100644
--- a/source/RobotAPI/libraries/armem/server/ltm/disk/Memory.h
+++ b/source/RobotAPI/libraries/armem/server/ltm/disk/Memory.h
@@ -3,7 +3,7 @@
 #include <filesystem>
 
 // Base Class
-#include "../detail/BufferedMemoryBase.h"
+#include "../base/detail/BufferedMemoryBase.h"
 #include "detail/DiskStorage.h"
 
 #include "CoreSegment.h"
diff --git a/source/RobotAPI/libraries/armem/server/ltm/disk/ProviderSegment.h b/source/RobotAPI/libraries/armem/server/ltm/disk/ProviderSegment.h
index 265902756..45ed5c8ac 100644
--- a/source/RobotAPI/libraries/armem/server/ltm/disk/ProviderSegment.h
+++ b/source/RobotAPI/libraries/armem/server/ltm/disk/ProviderSegment.h
@@ -3,7 +3,7 @@
 #include <filesystem>
 
 // Base Class
-#include "../detail/ProviderSegmentBase.h"
+#include "../base/detail/ProviderSegmentBase.h"
 #include "detail/DiskStorage.h"
 
 #include "Entity.h"
diff --git a/source/RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.cpp b/source/RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.cpp
new file mode 100644
index 000000000..cf48f8897
--- /dev/null
+++ b/source/RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.cpp
@@ -0,0 +1,7 @@
+#include "ltm.h"
+
+
+namespace armarx::armem::server::query_proc::ltm_server::disk
+{
+}
+
diff --git a/source/RobotAPI/libraries/armem/server/query_proc/ltm/ltm.h b/source/RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.h
similarity index 87%
rename from source/RobotAPI/libraries/armem/server/query_proc/ltm/ltm.h
rename to source/RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.h
index eb8a13122..80d83a15c 100644
--- a/source/RobotAPI/libraries/armem/server/query_proc/ltm/ltm.h
+++ b/source/RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.h
@@ -3,12 +3,12 @@
 #include <RobotAPI/libraries/armem/server/ltm/disk/Memory.h>
 #include <RobotAPI/libraries/armem/server/query_proc/base.h>
 
-#include "detail/MemoryQueryProcessorBase.h"
-#include "detail/CoreSegmentQueryProcessorBase.h"
-#include "detail/ProviderSegmentQueryProcessorBase.h"
-#include "detail/EntityQueryProcessorBase.h"
+#include "../detail/MemoryQueryProcessorBase.h"
+#include "../detail/CoreSegmentQueryProcessorBase.h"
+#include "../detail/ProviderSegmentQueryProcessorBase.h"
+#include "../detail/EntityQueryProcessorBase.h"
 
-namespace armarx::armem::server::query_proc::ltm_server
+namespace armarx::armem::server::query_proc::ltm_server::disk
 {
     static const base::QueryTarget queryTarget = query::data::QueryTarget::LTM;
 
diff --git a/source/RobotAPI/libraries/armem/server/query_proc/ltm/ltm.cpp b/source/RobotAPI/libraries/armem/server/query_proc/ltm/ltm.cpp
deleted file mode 100644
index 238cc4b8d..000000000
--- a/source/RobotAPI/libraries/armem/server/query_proc/ltm/ltm.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "ltm.h"
-
-
-namespace armarx::armem::server::query_proc::ltm
-{
-}
-
diff --git a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
index 9ce928459..b7aa4b68c 100644
--- a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
+++ b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
@@ -4,7 +4,7 @@
 #include <RobotAPI/libraries/armem_gui/gui_utils.h>
 
 #include <RobotAPI/libraries/armem/server/query_proc/wm/wm.h>
-#include <RobotAPI/libraries/armem/server/query_proc/ltm/ltm.h>
+#include <RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.h>
 
 #include <ArmarXGui/libraries/SimpleConfigDialog/SimpleConfigDialog.h>
 
diff --git a/source/RobotAPI/libraries/armem_gui/disk/ControlWidget.cpp b/source/RobotAPI/libraries/armem_gui/disk/ControlWidget.cpp
index 0e0f620d2..2306f3c60 100644
--- a/source/RobotAPI/libraries/armem_gui/disk/ControlWidget.cpp
+++ b/source/RobotAPI/libraries/armem_gui/disk/ControlWidget.cpp
@@ -1,7 +1,7 @@
 #include "ControlWidget.h"
 
 #include <RobotAPI/libraries/armem/server/ltm/disk/Memory.h>
-#include <RobotAPI/libraries/armem/server/query_proc/ltm/ltm.h>
+#include <RobotAPI/libraries/armem/server/query_proc/ltm/disk/ltm.h>
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
-- 
GitLab