From 4158af318e8d3dcc09406f4d0d6ba191de4d2330 Mon Sep 17 00:00:00 2001 From: Joana <joana.plewnia@kit.edu> Date: Tue, 30 Jul 2024 17:36:58 +0200 Subject: [PATCH] fix for CoreSegment-Memory IDs --- .../RobotAPI/libraries/armem/server/ltm/Memory.cpp | 13 +++++-------- .../server/ltm/detail/mixins/util/filesystem.cpp | 12 ++++++++++++ .../server/ltm/detail/mixins/util/filesystem.h | 2 ++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/source/RobotAPI/libraries/armem/server/ltm/Memory.cpp b/source/RobotAPI/libraries/armem/server/ltm/Memory.cpp index 516e15c04..640eaa0d2 100644 --- a/source/RobotAPI/libraries/armem/server/ltm/Memory.cpp +++ b/source/RobotAPI/libraries/armem/server/ltm/Memory.cpp @@ -88,7 +88,8 @@ namespace armarx::armem::server::ltm { for (const auto& subdirName : getAllDirectories()) { - std::string segmentName = util::fs::detail::unescapeName(subdirName); + const std::string& segmentName_one = util::fs::detail::unescapeName(subdirName); + auto segmentName = util::fs::detail::extractLastDirectoryFromPath(segmentName_one); CoreSegment c(getMemoryBasePath(), getSettings(), getExportName(), @@ -252,6 +253,7 @@ namespace armarx::armem::server::ltm // 2. store data c.store(core); + // 3. update statistics statistics.recordedCoreSegments++; @@ -263,13 +265,8 @@ namespace armarx::armem::server::ltm void Memory::_loadOnStartup(){ - try{ - armem::wm::Memory memory = this->loadAllAndResolve(); - ARMARX_INFO << "Loading LTM from " << this->p.export_path << "/" << this->p.export_name << " on startup successful."; - } - catch(...){ - ARMARX_INFO << "Could not load memory " << this->name() << " on startup."; - } + //not used any more + } void diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/util/filesystem.cpp b/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/util/filesystem.cpp index 0e78e8f01..bb8f36bb2 100644 --- a/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/util/filesystem.cpp +++ b/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/util/filesystem.cpp @@ -40,6 +40,18 @@ namespace armarx::armem::server::ltm ::util::fs return ret; } + std::string + extractLastDirectoryFromPath(const std::string& path) + { + size_t pos = path.rfind('/'); + + if (pos != std::string::npos) { + return path.substr(pos + 1); + } else { + return path; + } + } + std::string toDayString(const Time& t) { diff --git a/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/util/filesystem.h b/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/util/filesystem.h index 9b5b778cc..5bce52edd 100644 --- a/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/util/filesystem.h +++ b/source/RobotAPI/libraries/armem/server/ltm/detail/mixins/util/filesystem.h @@ -24,6 +24,8 @@ namespace armarx::armem::server::ltm::util::fs bool isNumberString(const std::string& s); bool isDateString(const std::string& s); + + std::string extractLastDirectoryFromPath(const std::string& path); } // namespace detail std::filesystem::path toPath(const std::filesystem::path& base, const armem::MemoryID& id); -- GitLab