From 1d609f4d92cb1bff16bc63ca9608cf160029e4ca Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Thu, 5 Aug 2021 07:27:50 +0200
Subject: [PATCH] Remove ArmarX Expression Exception include from header

---
 source/RobotAPI/libraries/armem/CMakeLists.txt       |  2 +-
 .../libraries/armem/core/base/EntityBase.cpp         |  8 ++++++++
 .../RobotAPI/libraries/armem/core/base/EntityBase.h  | 12 +++++++-----
 .../libraries/armem/core/diskmemory/Entity.cpp       |  3 +++
 .../libraries/armem/core/longtermmemory/Entity.cpp   |  2 ++
 5 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/source/RobotAPI/libraries/armem/CMakeLists.txt b/source/RobotAPI/libraries/armem/CMakeLists.txt
index 0d561f406..1becb6eb9 100644
--- a/source/RobotAPI/libraries/armem/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem/CMakeLists.txt
@@ -39,7 +39,7 @@ set(LIB_FILES
     core/base/detail/iteration_mixins.cpp
 
     # core/base/CoreSegmentBase.cpp
-    # core/base/EntityBase.cpp
+    core/base/EntityBase.cpp
     # core/base/EntityInstanceBase.cpp
     core/base/EntitySnapshotBase.cpp
     # core/base/MemoryBase.cpp
diff --git a/source/RobotAPI/libraries/armem/core/base/EntityBase.cpp b/source/RobotAPI/libraries/armem/core/base/EntityBase.cpp
index 0d2c67b63..36fe5f8a8 100644
--- a/source/RobotAPI/libraries/armem/core/base/EntityBase.cpp
+++ b/source/RobotAPI/libraries/armem/core/base/EntityBase.cpp
@@ -1 +1,9 @@
 #include "EntityBase.h"
+
+#include <ArmarXCore/core/exceptions/local/ExpressionException.h>
+
+
+void armarx::armem::base::detail::checkLessEqual(size_t historySize, size_t maxHistorySize)
+{
+    ARMARX_CHECK_LESS_EQUAL(historySize, maxHistorySize);
+}
diff --git a/source/RobotAPI/libraries/armem/core/base/EntityBase.h b/source/RobotAPI/libraries/armem/core/base/EntityBase.h
index 64b13c7e4..b3e3f7424 100644
--- a/source/RobotAPI/libraries/armem/core/base/EntityBase.h
+++ b/source/RobotAPI/libraries/armem/core/base/EntityBase.h
@@ -5,8 +5,6 @@
 
 #include <SimoxUtility/algorithm/get_map_keys_values.h>
 
-#include <ArmarXCore/core/exceptions/local/ExpressionException.h>
-
 #include <RobotAPI/libraries/armem/core/MemoryID.h>
 #include <RobotAPI/libraries/armem/core/Time.h>
 
@@ -14,8 +12,13 @@
 #include "detail/MaxHistorySize.h"
 #include "detail/MemoryContainerBase.h"
 #include "detail/iteration_mixins.h"
+#include "detail/negative_index_semantics.h"
 
 
+namespace armarx::armem::base::detail
+{
+    void checkLessEqual(size_t historySize, size_t maxHistorySize);
+}
 namespace armarx::armem::base
 {
 
@@ -102,7 +105,6 @@ namespace armarx::armem::base
         {
             return const_cast<const EntityBase*>(this)->hasSnapshot(time);
         }
-
         virtual bool hasSnapshot(const Time& time) const
         {
             return this->_container.count(time) > 0;
@@ -363,7 +365,7 @@ namespace armarx::armem::base
 
         void append(const DerivedT& m)
         {
-            ARMARX_INFO << "Entity: Merge name '" << m.name() << "' into '" << name() << "'";
+            // ARMARX_INFO << "Entity: Merge name '" << m.name() << "' into '" << name() << "'";
 
             m.forEachEntitySnapshot([this](const EntitySnapshotT & snapshot)
             {
@@ -461,7 +463,7 @@ namespace armarx::armem::base
                     removedElements.push_back(std::move(this->_container.begin()->second));
                     this->_container.erase(this->_container.begin());
                 }
-                ARMARX_CHECK_LESS_EQUAL(this->_container.size(), _maxHistorySize);
+                detail::checkLessEqual(this->_container.size(), _maxHistorySize);
             }
             return removedElements;
         }
diff --git a/source/RobotAPI/libraries/armem/core/diskmemory/Entity.cpp b/source/RobotAPI/libraries/armem/core/diskmemory/Entity.cpp
index c2e91a823..c272ecc01 100644
--- a/source/RobotAPI/libraries/armem/core/diskmemory/Entity.cpp
+++ b/source/RobotAPI/libraries/armem/core/diskmemory/Entity.cpp
@@ -1,5 +1,8 @@
 #include "Entity.h"
 
+#include <ArmarXCore/core/logging/Logging.h>
+
+
 namespace armarx::armem::d_ltm
 {
     std::filesystem::path Entity::_fullPath() const
diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp
index b4ece9ec4..62f8ad420 100644
--- a/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp
+++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.cpp
@@ -1,5 +1,7 @@
 #include "Entity.h"
 
+#include <ArmarXCore/core/logging/Logging.h>
+
 #include <SimoxUtility/json/json.hpp>
 
 
-- 
GitLab