diff --git a/source/RobotAPI/components/armem/ArMemExampleClient/ArMemExampleClient.h b/source/RobotAPI/components/armem/ArMemExampleClient/ArMemExampleClient.h index 157b8ec2f4caab32384515a83b156310b1ae3590..cfa58705d6f4f3c17e635f0b6a0dc1750fae6ada 100644 --- a/source/RobotAPI/components/armem/ArMemExampleClient/ArMemExampleClient.h +++ b/source/RobotAPI/components/armem/ArMemExampleClient/ArMemExampleClient.h @@ -98,9 +98,7 @@ namespace armarx void run(); - private: - armem::MemoryID providerID; armem::MemoryID entityID; @@ -108,7 +106,6 @@ namespace armarx void example_entityUpdated(const armem::MemoryID& id); // Examples - void waitForMemory(); armem::MemoryID addProviderSegment(); @@ -121,9 +118,7 @@ namespace armarx void commitExampleData(); void queryExampleData(); - private: - armarx::RunningTask<ArMemExampleClient>::pointer_type task; armarx::DebugObserverInterfacePrx debugObserver; @@ -131,7 +126,6 @@ namespace armarx std::string memoryName = "Example"; armem::MemoryInterfacePrx memory; - struct RemoteGuiTab : RemoteGui::Client::Tab { std::atomic_bool rebuild = false; @@ -140,6 +134,5 @@ namespace armarx RemoteGui::Client::GroupBox queryResultGroup; }; RemoteGuiTab tab; - }; } diff --git a/source/RobotAPI/components/armem/ArMemExampleClient/CMakeLists.txt b/source/RobotAPI/components/armem/ArMemExampleClient/CMakeLists.txt index 9977051593205191473f4faab5eccc46ffc4c788..01eb7b07b3fc2a9c2d48345b84a1784663958ca7 100644 --- a/source/RobotAPI/components/armem/ArMemExampleClient/CMakeLists.txt +++ b/source/RobotAPI/components/armem/ArMemExampleClient/CMakeLists.txt @@ -3,24 +3,21 @@ armarx_component_set_name("ArMemExampleClient") find_package(IVT QUIET) armarx_build_if(IVT_FOUND "IVT not available") - set(COMPONENT_LIBS ArmarXCore ArmarXCoreInterfaces # for DebugObserverInterface ArmarXGuiComponentPlugins RobotAPICore RobotAPIInterfaces armem - # RobotAPIComponentPlugins # for ArViz and other plugins - ${IVT_LIBRARIES} ) set(SOURCES ArMemExampleClient.cpp ) + set(HEADERS ArMemExampleClient.h ) - armarx_add_component("${SOURCES}" "${HEADERS}") if (IVT_FOUND) target_include_directories(${ARMARX_COMPONENT_NAME} PUBLIC ${IVT_INCLUDE_DIRS}) diff --git a/source/RobotAPI/components/units/SpeechObserver.cpp b/source/RobotAPI/components/units/SpeechObserver.cpp index 29c03c5eefe9ff3089c662adf61bee28cd8817e7..475c331a92701ff3e326ed498de7ff0ffe9a7d47 100644 --- a/source/RobotAPI/components/units/SpeechObserver.cpp +++ b/source/RobotAPI/components/units/SpeechObserver.cpp @@ -36,8 +36,6 @@ void SpeechObserver::onInitObserver() { usingTopic(getProperty<std::string>("TextToSpeechTopicName").getValue()); usingTopic(getProperty<std::string>("TextToSpeechStateTopicName").getValue()); - - } void SpeechObserver::onConnectObserver() diff --git a/source/RobotAPI/components/units/SpeechObserver.h b/source/RobotAPI/components/units/SpeechObserver.h index 2cf428ace331d0afc54e5e711dcd60304b542172..e7524e17c03bb9bff43719201922b3508db3f66b 100644 --- a/source/RobotAPI/components/units/SpeechObserver.h +++ b/source/RobotAPI/components/units/SpeechObserver.h @@ -25,7 +25,6 @@ #include <ArmarXCore/observers/Observer.h> #include <RobotAPI/interface/observers/SpeechObserverInterface.h> - #include <mutex> namespace armarx @@ -67,6 +66,7 @@ namespace armarx { return "SpeechObserver"; } + PropertyDefinitionsPtr createPropertyDefinitions() override { return PropertyDefinitionsPtr(new SpeechObserverPropertyDefinitions(getConfigIdentifier())); diff --git a/source/RobotAPI/libraries/armem/client/ComponentPlugin.h b/source/RobotAPI/libraries/armem/client/ComponentPlugin.h index 2bcf857c26753bc5606c2d13c649784913945e87..50ee797fce5c2ca194822356bf5405a67b1486cb 100644 --- a/source/RobotAPI/libraries/armem/client/ComponentPlugin.h +++ b/source/RobotAPI/libraries/armem/client/ComponentPlugin.h @@ -12,11 +12,12 @@ #include <RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.h> + namespace armarx::armem::client { /** - * @brief Utility for connecting a Memory to Ice. + * @brief Utility for connecting a Client via Ice to ArMem. */ class ComponentPluginUser : virtual public ReaderComponentPluginUser, @@ -29,7 +30,6 @@ namespace armarx::armem::client ~ComponentPluginUser() override; protected: - void setMemory(MemoryInterfacePrx memory); }; diff --git a/source/RobotAPI/libraries/armem/client/ReaderComponentPlugin.h b/source/RobotAPI/libraries/armem/client/ReaderComponentPlugin.h index 4ed9bea8fa74e455c2ccf976eb00d97b0828295c..9d8c9bc40bbce3e81a2f6b596604894ef8ee2b41 100644 --- a/source/RobotAPI/libraries/armem/client/ReaderComponentPlugin.h +++ b/source/RobotAPI/libraries/armem/client/ReaderComponentPlugin.h @@ -8,6 +8,7 @@ #include <ArmarXCore/core/Component.h> // RobotAPI +#include <RobotAPI/libraries/aron/aroncore/navigators/datanavigator/AronAllDataNavigators.h> #include <RobotAPI/interface/armem/MemoryInterface.h> #include <RobotAPI/interface/armem/MemoryListenerInterface.h> #include <RobotAPI/interface/armem/MemoryNameSystemInterface.h> diff --git a/source/RobotAPI/libraries/armem/client/Writer.cpp b/source/RobotAPI/libraries/armem/client/Writer.cpp index f506221179100c532d71d341b1462fa8273d5951..f0b49521629f2989faf6a2d01ad5fcaf8dc31542 100644 --- a/source/RobotAPI/libraries/armem/client/Writer.cpp +++ b/source/RobotAPI/libraries/armem/client/Writer.cpp @@ -20,6 +20,11 @@ namespace armarx::armem::client return addSegment(input); } + data::AddSegmentResult Writer::addSegment(const std::pair<std::string, std::string>& names) + { + return addSegment(names.first, names.second); + } + data::AddSegmentResult Writer::addSegment(const data::AddSegmentInput& input) { data::AddSegmentsResult results = addSegments({input}); @@ -106,6 +111,35 @@ namespace armarx::armem::client return result.results.at(0); } + armarx::armem::MemoryID + Writer::commit(const armem::MemoryID& entityID, const armarx::aron::datanavigator::AronDictDataNavigatorPtr& instance) + { + std::vector<armarx::aron::datanavigator::AronDictDataNavigatorPtr> data({instance}); + return commit(entityID, data)[0]; + } + + std::vector<armarx::armem::MemoryID> + Writer::commit(const armem::MemoryID& entityID, const std::vector<armarx::aron::datanavigator::AronDictDataNavigatorPtr>& data) + { + armem::Commit c; + armem::EntityUpdate& update = c.updates.emplace_back(); + + update.entityID = entityID; + update.timeCreated = armem::Time::now(); + update.instancesData = data; + + armem::CommitResult commitResult = commit(c); + + std::vector<armarx::armem::MemoryID> ret; + for (const auto& res : commitResult.results) + { + ARMARX_INFO << res; + ret.push_back(res.snapshotID); + } + + return ret; + } + void Writer::setWritingMemory(WritingMemoryInterfacePrx memory) diff --git a/source/RobotAPI/libraries/armem/client/Writer.h b/source/RobotAPI/libraries/armem/client/Writer.h index 67e7f57d0ff3733ebf6d2e7a007309875ba5c03e..71f6c17fa47d41e69894360759a811464057fd7f 100644 --- a/source/RobotAPI/libraries/armem/client/Writer.h +++ b/source/RobotAPI/libraries/armem/client/Writer.h @@ -23,6 +23,7 @@ namespace armarx::armem::client data::AddSegmentResult addSegment(const std::string& coreSegmentName, const std::string& providerSegmentName); + data::AddSegmentResult addSegment(const std::pair<std::string, std::string>& names); data::AddSegmentResult addSegment(const data::AddSegmentInput& input); data::AddSegmentsResult addSegments(const data::AddSegmentsInput& input); @@ -32,6 +33,10 @@ namespace armarx::armem::client CommitResult commit(const Commit& commit); EntityUpdateResult commit(const EntityUpdate& update); + armem::MemoryID commit(const armem::MemoryID& entityID, const armarx::aron::datanavigator::AronDictDataNavigatorPtr& instance); + std::vector<armarx::armem::MemoryID> commit(const armem::MemoryID& entityID, const std::vector<armarx::aron::datanavigator::AronDictDataNavigatorPtr>& data); + + void setWritingMemory(WritingMemoryInterfacePrx memory); diff --git a/source/RobotAPI/libraries/armem/client/WriterComponentPlugin.cpp b/source/RobotAPI/libraries/armem/client/WriterComponentPlugin.cpp index 5ed4dc1f79cd130f5090411c413bd5a8122c4df3..ca49975e0bc96aef45664b051055f2d6b4427b81 100644 --- a/source/RobotAPI/libraries/armem/client/WriterComponentPlugin.cpp +++ b/source/RobotAPI/libraries/armem/client/WriterComponentPlugin.cpp @@ -31,3 +31,4 @@ armarx::armem::client::WriterComponentPluginUser::setWritingMemory(WritingMemory { memoryWriter.setWritingMemory(memory); } + diff --git a/source/RobotAPI/libraries/armem/client/WriterComponentPlugin.h b/source/RobotAPI/libraries/armem/client/WriterComponentPlugin.h index 4f3eeb3bdcbd474bab5c1d068d31d50dc6d66f56..3278399c40bd3eae1f705472a5046bddc83f16f8 100644 --- a/source/RobotAPI/libraries/armem/client/WriterComponentPlugin.h +++ b/source/RobotAPI/libraries/armem/client/WriterComponentPlugin.h @@ -5,6 +5,7 @@ #include <ArmarXCore/core/Component.h> // RobotAPI +#include <RobotAPI/libraries/aron/aroncore/navigators/datanavigator/AronAllDataNavigators.h> #include <RobotAPI/interface/armem/MemoryInterface.h> #include <RobotAPI/interface/armem/MemoryNameSystemInterface.h> #include <RobotAPI/libraries/armem/client/Writer.h> @@ -40,6 +41,9 @@ namespace armarx::armem::client void setWritingMemory(WritingMemoryInterfacePrx memory); + armem::MemoryID commitSingleSnapshot(const armem::MemoryID& entityID, const armarx::aron::datanavigator::AronDictDataNavigatorPtr& data); + std::vector<armarx::armem::MemoryID> commitMultipleSnapshot(const armem::MemoryID& entityID, const std::vector<armarx::aron::datanavigator::AronDictDataNavigatorPtr>& data); + protected: Writer memoryWriter; diff --git a/source/RobotAPI/libraries/armem/component/MemoryComponentPlugin.h b/source/RobotAPI/libraries/armem/component/MemoryComponentPlugin.h index 82aaf5bc8b485463005000492d665feb92134307..43e0705b9c8bec2e75bff5a0942d068156ae3857 100644 --- a/source/RobotAPI/libraries/armem/component/MemoryComponentPlugin.h +++ b/source/RobotAPI/libraries/armem/component/MemoryComponentPlugin.h @@ -18,7 +18,6 @@ namespace armarx::armem class MemoryComponentPluginUser; } - namespace armarx::armem::plugins { @@ -97,6 +96,4 @@ namespace armarx::armem }; - - } diff --git a/source/RobotAPI/libraries/armem/core/MemoryID.cpp b/source/RobotAPI/libraries/armem/core/MemoryID.cpp index 493a7fb2ca5df6a6761a575e2ba1d83b0b09e032..961683624b9781ec0f0b6a3d49b806c712959473 100644 --- a/source/RobotAPI/libraries/armem/core/MemoryID.cpp +++ b/source/RobotAPI/libraries/armem/core/MemoryID.cpp @@ -130,14 +130,14 @@ namespace armarx::armem MemoryID MemoryID::getCoreSegmentID() const { MemoryID id = getMemoryID(); - id.providerSegmentName = providerSegmentName; + id.coreSegmentName = coreSegmentName; return id; } MemoryID MemoryID::getProviderSegmentID() const { MemoryID id = getCoreSegmentID(); - id.coreSegmentName = coreSegmentName; + id.providerSegmentName = providerSegmentName; return id; } diff --git a/source/RobotAPI/libraries/armem/ltm/MemoryFileSystemStorage.cpp b/source/RobotAPI/libraries/armem/ltm/MemoryFileSystemStorage.cpp index dd9fb2bceea66868e9eab8b3eb3648673c85dca8..bc88b2ccd57bb3f59e0a95a9b8505af048ac967f 100644 --- a/source/RobotAPI/libraries/armem/ltm/MemoryFileSystemStorage.cpp +++ b/source/RobotAPI/libraries/armem/ltm/MemoryFileSystemStorage.cpp @@ -2,9 +2,9 @@ namespace armarx::armem::ltm { - MemoryFileSystemStorage::MemoryFileSystemStorage(const std::string& r, bool createFolder) : - writer(new io::NlohmannJSONDiskWriter(r, createFolder)), - reader(new io::NlohmannJSONDiskReader(r, createFolder)) + MemoryFileSystemStorage::MemoryFileSystemStorage(const std::string& path, bool createFolder) : + writer(new io::NlohmannJSONDiskWriter(path, createFolder)), + reader(new io::NlohmannJSONDiskReader(path, createFolder)) { } diff --git a/source/RobotAPI/libraries/armem/ltm/io/DiskReader/DiskReader.h b/source/RobotAPI/libraries/armem/ltm/io/DiskReader/DiskReader.h index 249b9c4aa132196ddcf8e0415fa1126ef40da103..7276820ab8467e1d7b7973e5a86881d36a24ca7e 100644 --- a/source/RobotAPI/libraries/armem/ltm/io/DiskReader/DiskReader.h +++ b/source/RobotAPI/libraries/armem/ltm/io/DiskReader/DiskReader.h @@ -36,10 +36,10 @@ #include <RobotAPI/libraries/aron/aroncore/navigators/datanavigator/AronAllDataNavigators.h> #include <RobotAPI/libraries/aron/aroncore/navigators/typenavigator/AronAllTypeNavigators.h> -#include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.h> +#include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataConverter/AronDataConverter.h> #include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/classWriters/NavigatorWriter/AronDataNavigatorWriter.h> -#include <RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.h> +#include <RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeConverter/AronTypeConverter.h> #include <RobotAPI/libraries/aron/aroncore/io/AronTypeIO/classWriters/NavigatorWriter/AronTypeNavigatorWriter.h> #include <RobotAPI/libraries/armem/ltm/FileSystemLookupMemory.h> diff --git a/source/RobotAPI/libraries/armem/ltm/io/DiskReader/NlohmannJSONDiskReader/NlohmannJSONDiskReader.cpp b/source/RobotAPI/libraries/armem/ltm/io/DiskReader/NlohmannJSONDiskReader/NlohmannJSONDiskReader.cpp index dc9d473694eee1b5b0761dd45f61ea48034f141a..13e415e5201d2200ab3298ae514e69c81c47b0ba 100644 --- a/source/RobotAPI/libraries/armem/ltm/io/DiskReader/NlohmannJSONDiskReader/NlohmannJSONDiskReader.cpp +++ b/source/RobotAPI/libraries/armem/ltm/io/DiskReader/NlohmannJSONDiskReader/NlohmannJSONDiskReader.cpp @@ -19,7 +19,7 @@ namespace armarx::armem::ltm::io { aron::io::AronDataNlohmannJSONReader dataReader(s); aron::io::AronDataNavigatorWriter navWriter; - aron::io::LegacyAronDataConverter::ConvertFromReader(dataReader, navWriter, expectedStructure); + aron::io::AronDataConverter::ConvertFromReader(dataReader, navWriter, expectedStructure); return aron::datanavigator::AronDictDataNavigator::DynamicCastAndCheck(navWriter.getResult()); } @@ -27,7 +27,7 @@ namespace armarx::armem::ltm::io { aron::io::AronTypeNlohmannJSONReader typeReader(s); aron::io::AronTypeNavigatorWriter navWriter; - aron::io::LegacyAronTypeConverter::ConvertFromReader(typeReader, navWriter); + aron::io::AronTypeConverter::ConvertFromReader(typeReader, navWriter); return aron::typenavigator::AronObjectTypeNavigator::DynamicCastAndCheck(navWriter.getResult()); } } diff --git a/source/RobotAPI/libraries/armem/ltm/io/DiskWriter/DiskWriter.h b/source/RobotAPI/libraries/armem/ltm/io/DiskWriter/DiskWriter.h index acb38e1f89d09b0238d112b26a2f8988aaa9dbfd..5ab8b545d7e93af133b8d752baf8a37cc08322fb 100644 --- a/source/RobotAPI/libraries/armem/ltm/io/DiskWriter/DiskWriter.h +++ b/source/RobotAPI/libraries/armem/ltm/io/DiskWriter/DiskWriter.h @@ -36,9 +36,9 @@ #include <RobotAPI/libraries/aron/aroncore/navigators/datanavigator/AronAllDataNavigators.h> #include <RobotAPI/libraries/aron/aroncore/navigators/typenavigator/AronAllTypeNavigators.h> -#include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.h> +#include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.h> #include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriter.h> -#include <RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.h> +#include <RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.h> #include <RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeWriter.h> #include <RobotAPI/libraries/armem/ltm/FileSystemLookupMemory.h> diff --git a/source/RobotAPI/libraries/armem/ltm/io/DiskWriter/NlohmannJSONDiskWriter/NlohmannJSONDiskWriter.cpp b/source/RobotAPI/libraries/armem/ltm/io/DiskWriter/NlohmannJSONDiskWriter/NlohmannJSONDiskWriter.cpp index ffdb1a0fb254d410feae0f7ebab73b692a4357de..6201e80f007b9dfab8f22a0e926e7716576f9a49 100644 --- a/source/RobotAPI/libraries/armem/ltm/io/DiskWriter/NlohmannJSONDiskWriter/NlohmannJSONDiskWriter.cpp +++ b/source/RobotAPI/libraries/armem/ltm/io/DiskWriter/NlohmannJSONDiskWriter/NlohmannJSONDiskWriter.cpp @@ -17,14 +17,14 @@ namespace armarx::armem::ltm::io std::string NlohmannJSONDiskWriter::getDataAsString(const aron::datanavigator::AronDictDataNavigatorPtr& aronDataNav) const { aron::io::AronDataNlohmannJSONWriter dataWriter; - aron::io::LegacyAronDataWriter::SetupWriterFromAronDataPtr(dataWriter, aronDataNav->getResult()); + aron::io::AronDataWriterVisitor::SetupWriterFromAronDataPtr(dataWriter, aronDataNav->getResult()); return dataWriter.getResult().dump(4); } std::string NlohmannJSONDiskWriter::getTypeAsString(const aron::typenavigator::AronObjectTypeNavigatorPtr& aronTypeNav) const { aron::io::AronTypeNlohmannJSONWriter typeWriter; - aron::io::LegacyAronTypeWriter::SetupWriterFromAronTypePtr(typeWriter, aronTypeNav->getResult()); + aron::io::AronTypeWriterVisitor::SetupWriterFromAronTypePtr(typeWriter, aronTypeNav->getResult()); return typeWriter.getResult().dump(4); } diff --git a/source/RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.cpp b/source/RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.cpp index 7a03801236b2167c5aead864ffe8fdb9147d016f..03a84cdc2705a6b1ddfc442649ff7e9c68803d71 100644 --- a/source/RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.cpp +++ b/source/RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.cpp @@ -71,6 +71,27 @@ namespace armarx::armem::plugins : nullptr; } + + armem::data::WaitForMemoryResult MemoryNameSystemClientPluginUser::waitForMemory(const std::string& memoryName) + { + armem::data::WaitForMemoryInput input; + input.name = memoryName; + return memoryNameSystem->waitForMemory(input); + } + + armem::data::ResolveMemoryNameResult MemoryNameSystemClientPluginUser::resolveMemoryName(const std::string& memoryName) + { + armem::data::ResolveMemoryNameInput input; + input.name = memoryName; + return memoryNameSystem->resolveMemoryName(input); + } + + bool MemoryNameSystemClientPluginUser::isMemoryAvailable(const std::string& memoryName) + { + armem::data::ResolveMemoryNameResult result = resolveMemoryName(memoryName); + return result.success && result.proxy; + } + } diff --git a/source/RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.h b/source/RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.h index 9cf743eb84aea3a44efad94f412259671c106ffe..a40ba285261307f34a369d95217ac23378773004 100644 --- a/source/RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.h +++ b/source/RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.h @@ -65,8 +65,13 @@ namespace armarx::armem::plugins */ class MemoryNameSystemClientPluginUser { - public: + protected: + + armem::data::WaitForMemoryResult waitForMemory(const std::string& memoryName); + armem::data::ResolveMemoryNameResult resolveMemoryName(const std::string& memoryName); + bool isMemoryAvailable(const std::string& memoryName); + public: /// Only set when enabled. MemoryNameSystemInterfacePrx memoryNameSystem = nullptr; diff --git a/source/RobotAPI/libraries/armem/test/ArMemLTMTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemLTMTest.cpp index f0e380172e36313ff883a1b05e3fcc080cb8a2a4..1ddc0fd50b3313db28570e08c7d24673f8c2d2ef 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemLTMTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemLTMTest.cpp @@ -102,8 +102,8 @@ BOOST_AUTO_TEST_CASE(test_memory_heavy_setup_and_export) std::cout << ltm2_str << std::endl; BOOST_CHECK_EQUAL(ltm_str == ltm2_str, true); - //std::map<std::string, armem::MemoryPtr> loaded_memories = ltm.getInternalMemoryAsRealMemory(); - //armem::MemoryPtr& memory2 = loaded_memories["Memory"]; + std::map<std::string, armem::MemoryPtr> loaded_memories = ltm.getInternalMemoryAsRealMemory(); + armem::MemoryPtr& memory2 = loaded_memories["Memory"]; - //BOOST_CHECK_EQUAL(memory->equalsDeep(*memory2), true); + BOOST_CHECK_EQUAL(memory->equalsDeep(*memory2), true); } diff --git a/source/RobotAPI/libraries/aron/aroncore/AronDebug.h b/source/RobotAPI/libraries/aron/aroncore/AronDebug.h index 529e62f6fa0186a9c756b142cd1d8cd914524e52..aabce50117836839b609745f707372bf785ee3f9 100644 --- a/source/RobotAPI/libraries/aron/aroncore/AronDebug.h +++ b/source/RobotAPI/libraries/aron/aroncore/AronDebug.h @@ -33,7 +33,7 @@ #include <RobotAPI/interface/aron.h> #include <RobotAPI/libraries/aron/aroncore/AronConfig.h> -#include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.h> +#include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.h> #include <RobotAPI/libraries/aron/aroncore/io/AronDataIO/classWriters/NlohmannJSONWriter/AronDataNlohmannJSONWriter.h> namespace armarx @@ -48,7 +48,7 @@ namespace armarx static std::string AronDataPtrToString(const data::AronDataPtr& data) { io::AronDataNlohmannJSONWriter w; - io::LegacyAronDataWriter::SetupWriterFromAronDataPtr(w, data); + io::AronDataWriterVisitor::SetupWriterFromAronDataPtr(w, data); return w.getResult().dump(4); } }; diff --git a/source/RobotAPI/libraries/aron/aroncore/CMakeLists.txt b/source/RobotAPI/libraries/aron/aroncore/CMakeLists.txt index c512246f2793b22f8d59e078b5c54a22468a1fac..ca62febd315774ce184005fdc018a5f1187329f0 100644 --- a/source/RobotAPI/libraries/aron/aroncore/CMakeLists.txt +++ b/source/RobotAPI/libraries/aron/aroncore/CMakeLists.txt @@ -56,8 +56,8 @@ set(LIB_FILES io/AronDataIO/classReaders/NavigatorReader/AronDataNavigatorReader.cpp io/AronDataIO/classReaders/NlohmannJSONReader/AronDataNlohmannJSONReader.cpp - io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.cpp - io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.cpp + io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.cpp + io/AronDataIO/AronDataConverter/AronDataConverter.cpp io/AronTypeIO/classWriters/NavigatorWriter/AronTypeNavigatorWriter.cpp io/AronTypeIO/classWriters/NlohmannJSONWriter/AronTypeNlohmannJSONWriter.cpp @@ -66,8 +66,8 @@ set(LIB_FILES io/AronTypeIO/classReaders/NavigatorReader/AronTypeNavigatorReader.cpp io/AronTypeIO/classReaders/NlohmannJSONReader/AronTypeNlohmannJSONReader.cpp - io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.cpp - io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.cpp + io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.cpp + io/AronTypeIO/AronTypeConverter/AronTypeConverter.cpp codegenerator/codeWriters/cppWriter/AronCppWriter.cpp codegenerator/codeWriters/cppWriter/typeSerializers/AronTypeCppSerializer.cpp @@ -148,8 +148,8 @@ set(LIB_HEADERS io/AronDataIO/classReaders/NlohmannJSONReader/AronDataNlohmannJSONReaderToken.h io/AronDataIO/classReaders/NlohmannJSONReader/AronDataNlohmannJSONReader.h - io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.h - io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.h + io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.h + io/AronDataIO/AronDataConverter/AronDataConverter.h io/AronTypeIO/AronTypeReaderWriter.h io/AronTypeIO/AronTypeWriter.h @@ -170,8 +170,8 @@ set(LIB_HEADERS io/AronTypeIO/classReaders/NlohmannJSONReader/AronTypeNlohmannJSONReader.h io/AronTypeIO/classReaders/NlohmannJSONReader/AronTypeNlohmannJSONReaderToken.h - io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.h - io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.h + io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.h + io/AronTypeIO/AronTypeConverter/AronTypeConverter.h codegenerator/AronCppClass.h codegenerator/AronWriterInfo.h diff --git a/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.cpp b/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataConverter/AronDataConverter.cpp similarity index 88% rename from source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.cpp rename to source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataConverter/AronDataConverter.cpp index 90d4359dc98689650283b8b19fc5d82f19ddef44..0953d7721e58ded8927cb4464eb903c217e4c386 100644 --- a/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.cpp +++ b/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataConverter/AronDataConverter.cpp @@ -23,7 +23,7 @@ #include <numeric> // Header -#include "LegacyAronDataConverter.h" +#include "AronDataConverter.h" @@ -34,7 +34,7 @@ namespace armarx { namespace io { - void LegacyAronDataConverter::ConvertFromReader(AronDataReader& reader, AronDataWriter& writer, const aron::typenavigator::AronTypeNavigatorPtr& expectedStructure) + void AronDataConverter::ConvertFromReader(AronDataReader& reader, AronDataWriter& writer, const aron::typenavigator::AronTypeNavigatorPtr& expectedStructure) { AronDataDescriptor desc = reader.getTypeOfNextAron(expectedStructure != nullptr ? expectedStructure->getDescriptor() : eAronUnknownType); switch (desc) @@ -48,7 +48,7 @@ namespace armarx { std::string key = reader.readKey(); writer.writeKey(key); - LegacyAronDataConverter::ConvertFromReader(reader, writer); + AronDataConverter::ConvertFromReader(reader, writer); } writer.writeEndDict(); @@ -63,7 +63,7 @@ namespace armarx for(int i = 0; i < elements; ++i) { - LegacyAronDataConverter::ConvertFromReader(reader, writer); + AronDataConverter::ConvertFromReader(reader, writer); } writer.writeEndList(); diff --git a/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.h b/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataConverter/AronDataConverter.h similarity index 87% rename from source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.h rename to source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataConverter/AronDataConverter.h index b3b38e3e35371c026deafa59324e4c1d11ab1e56..ee7912cb2173d7208cfb323ab7df4f6577f08d1e 100644 --- a/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataConverter/LegacyAronDataConverter.h +++ b/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataConverter/AronDataConverter.h @@ -41,13 +41,13 @@ namespace armarx { namespace io { - class LegacyAronDataConverter; - typedef std::shared_ptr<LegacyAronDataConverter> LegacyAronDataReaderPtr; + class AronDataConverter; + typedef std::shared_ptr<AronDataConverter> AronDataConverterPtr; - class LegacyAronDataConverter + class AronDataConverter { private: - LegacyAronDataConverter() = delete; + AronDataConverter() = delete; public: static void ConvertFromReader(AronDataReader&, AronDataWriter&, const aron::typenavigator::AronTypeNavigatorPtr& expectedStructure = nullptr); diff --git a/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.cpp b/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.cpp similarity index 86% rename from source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.cpp rename to source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.cpp index d4201a143b30dd525aada69c1cbca28c091ad1ac..91633187f53627ccb31d402fa037b6ac20fbc067 100644 --- a/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.cpp +++ b/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.cpp @@ -23,7 +23,7 @@ #include <numeric> // Header -#include "LegacyAronDataWriter.h" +#include "AronDataWriterVisitor.h" // ArmarX #include <RobotAPI/libraries/aron/aroncore/AronResolver.h> @@ -37,12 +37,12 @@ namespace armarx namespace io { - void LegacyAronDataWriter::SetupWriterFromAronDataPtr(AronDataWriter& writer, const datanavigator::AronDataNavigatorPtr& aron) + void AronDataWriterVisitor::SetupWriterFromAronDataPtr(AronDataWriter& writer, const datanavigator::AronDataNavigatorPtr& aron) { SetupWriterFromAronDataPtr(writer, aron->getResult()); } - void LegacyAronDataWriter::SetupWriterFromAronDataPtr(AronDataWriter& writer, const data::AronDataPtr& aron) + void AronDataWriterVisitor::SetupWriterFromAronDataPtr(AronDataWriter& writer, const data::AronDataPtr& aron) { AronDataDescriptor desc = AronResolver::GetDescriptorForAronData(aron); switch (desc) @@ -54,7 +54,7 @@ namespace armarx for (const auto& [key, value] : casted->elements) { writer.writeKey(key); - LegacyAronDataWriter::SetupWriterFromAronDataPtr(writer, value); + AronDataWriterVisitor::SetupWriterFromAronDataPtr(writer, value); } writer.writeEndDict(); break; @@ -65,7 +65,7 @@ namespace armarx writer.writeStartList(); for (const auto& value : casted->elements) { - LegacyAronDataWriter::SetupWriterFromAronDataPtr(writer, value); + AronDataWriterVisitor::SetupWriterFromAronDataPtr(writer, value); } writer.writeEndList(); break; diff --git a/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.h b/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.h similarity index 85% rename from source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.h rename to source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.h index 5bb3e3166c3cbce6738a8a6e7080be7e2de3ca69..902e9c59e7ba6ada4d18325fb1c527b2348cdf6d 100644 --- a/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/LegacyAronDataWriter/LegacyAronDataWriter.h +++ b/source/RobotAPI/libraries/aron/aroncore/io/AronDataIO/AronDataWriterVisitor/AronDataWriterVisitor.h @@ -40,14 +40,13 @@ namespace armarx { namespace io { - class LegacyAronDataWriter; - typedef std::shared_ptr<LegacyAronDataWriter> LegacyAronDataWriterPtr; + class AronDataWriterVisitor; + typedef std::shared_ptr<AronDataWriterVisitor> AronDataWriterVisitorPtr; - class LegacyAronDataWriter : - virtual public AronDataWriter + class AronDataWriterVisitor { private: - LegacyAronDataWriter() = delete; + AronDataWriterVisitor() = delete; public: static void SetupWriterFromAronDataPtr(AronDataWriter&, const datanavigator::AronDataNavigatorPtr&); diff --git a/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.cpp b/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeConverter/AronTypeConverter.cpp similarity index 88% rename from source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.cpp rename to source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeConverter/AronTypeConverter.cpp index cba697d877adde64d86ea8c64a8db76e4226f893..1c677549895e0cd4c1a84869f53970b124022f8d 100644 --- a/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.cpp +++ b/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeConverter/AronTypeConverter.cpp @@ -23,7 +23,7 @@ #include <numeric> // Header -#include "LegacyAronTypeConverter.h" +#include "AronTypeConverter.h" @@ -34,7 +34,7 @@ namespace armarx { namespace io { - void LegacyAronTypeConverter::ConvertFromReader(AronTypeReader& reader, AronTypeWriter& writer) + void AronTypeConverter::ConvertFromReader(AronTypeReader& reader, AronTypeWriter& writer) { AronTypeDescriptor desc = reader.getTypeOfNextAron(); switch (desc) @@ -51,7 +51,7 @@ namespace armarx { std::string key = reader.readKey(); writer.writeKey(key); - LegacyAronTypeConverter::ConvertFromReader(reader, writer); + AronTypeConverter::ConvertFromReader(reader, writer); } writer.writeEndObjectType(); @@ -63,7 +63,7 @@ namespace armarx reader.readStartDictType(); writer.writeStartDictType(); - LegacyAronTypeConverter::ConvertFromReader(reader, writer); + AronTypeConverter::ConvertFromReader(reader, writer); writer.writeEndDictType(); reader.readEndDictType(); @@ -76,7 +76,7 @@ namespace armarx for(int i = 0; i < elements; ++i) { - LegacyAronTypeConverter::ConvertFromReader(reader, writer); + AronTypeConverter::ConvertFromReader(reader, writer); } writer.writeEndTupleType(); @@ -88,7 +88,7 @@ namespace armarx reader.readStartListType(); writer.writeStartListType(); - LegacyAronTypeConverter::ConvertFromReader(reader, writer); + AronTypeConverter::ConvertFromReader(reader, writer); writer.writeEndListType(); reader.readEndListType(); diff --git a/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.h b/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeConverter/AronTypeConverter.h similarity index 86% rename from source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.h rename to source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeConverter/AronTypeConverter.h index e58739ac5e3edece43cedea7007ae8dfc1c15445..133d605cb4417910933fbd4983247ddc420cebee 100644 --- a/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeConverter/LegacyAronTypeConverter.h +++ b/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeConverter/AronTypeConverter.h @@ -41,13 +41,13 @@ namespace armarx { namespace io { - class LegacyAronTypeConverter; - typedef std::shared_ptr<LegacyAronTypeConverter> LegacyAronTypeReaderPtr; + class AronTypeConverter; + typedef std::shared_ptr<AronTypeConverter> AronTypeConverterPtr; - class LegacyAronTypeConverter + class AronTypeConverter { private: - LegacyAronTypeConverter() = delete; + AronTypeConverter() = delete; public: static void ConvertFromReader(AronTypeReader&, AronTypeWriter&); diff --git a/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.cpp b/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.cpp similarity index 84% rename from source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.cpp rename to source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.cpp index efd5a1218294f047b0b2d31bd8cb088f4749dbc0..3c3d099d8df5c6a67a12c643d91490ddf4412f2f 100644 --- a/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.cpp +++ b/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.cpp @@ -23,7 +23,7 @@ #include <numeric> // Header -#include "LegacyAronTypeWriter.h" +#include "AronTypeWriterVisitor.h" // ArmarX #include <RobotAPI/libraries/aron/aroncore/AronResolver.h> @@ -37,12 +37,12 @@ namespace armarx namespace io { - void LegacyAronTypeWriter::SetupWriterFromAronTypePtr(AronTypeWriter& writer, const typenavigator::AronTypeNavigatorPtr& aron) + void AronTypeWriterVisitor::SetupWriterFromAronTypePtr(AronTypeWriter& writer, const typenavigator::AronTypeNavigatorPtr& aron) { SetupWriterFromAronTypePtr(writer, aron->getResult()); } - void LegacyAronTypeWriter::SetupWriterFromAronTypePtr(AronTypeWriter& writer, const type::AronTypePtr& aron) + void AronTypeWriterVisitor::SetupWriterFromAronTypePtr(AronTypeWriter& writer, const type::AronTypePtr& aron) { AronTypeDescriptor desc = AronResolver::GetDescriptorForAronType(aron); switch (desc) @@ -55,7 +55,7 @@ namespace armarx for (const auto& [key, value] : casted->elementTypes) { writer.writeKey(key); - LegacyAronTypeWriter::SetupWriterFromAronTypePtr(writer, value); + AronTypeWriterVisitor::SetupWriterFromAronTypePtr(writer, value); } writer.writeEndObjectType(); break; @@ -64,7 +64,7 @@ namespace armarx { type::AronDictTypePtr casted = type::AronDictTypePtr::dynamicCast(aron); writer.writeStartDictType(); - LegacyAronTypeWriter::SetupWriterFromAronTypePtr(writer, casted->acceptedType); + AronTypeWriterVisitor::SetupWriterFromAronTypePtr(writer, casted->acceptedType); writer.writeEndDictType(); break; } @@ -74,7 +74,7 @@ namespace armarx writer.writeStartTupleType(); for (const auto& value : casted->elementTypes) { - LegacyAronTypeWriter::SetupWriterFromAronTypePtr(writer, value); + AronTypeWriterVisitor::SetupWriterFromAronTypePtr(writer, value); } writer.writeEndTupleType(); break; @@ -83,7 +83,7 @@ namespace armarx { type::AronListTypePtr casted = type::AronListTypePtr::dynamicCast(aron); writer.writeStartListType(); - LegacyAronTypeWriter::SetupWriterFromAronTypePtr(writer, casted->acceptedType); + AronTypeWriterVisitor::SetupWriterFromAronTypePtr(writer, casted->acceptedType); writer.writeEndListType(); break; } diff --git a/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.h b/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.h similarity index 87% rename from source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.h rename to source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.h index d1a29bddadc2752be0564388db7989e7629e098c..234a546c678bba4bd80efcae19555dd1b5c112b7 100644 --- a/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/LegacyAronTypeWriter/LegacyAronTypeWriter.h +++ b/source/RobotAPI/libraries/aron/aroncore/io/AronTypeIO/AronTypeWriterVisitor/AronTypeWriterVisitor.h @@ -40,14 +40,14 @@ namespace armarx { namespace io { - class LegacyAronTypeWriter; - typedef std::shared_ptr<LegacyAronTypeWriter> LegacyAronTypeWriterPtr; + class AronTypeWriterVisitor; + typedef std::shared_ptr<AronTypeWriterVisitor> AronTypeWriterVisitorPtr; - class LegacyAronTypeWriter : + class AronTypeWriterVisitor : virtual public AronTypeWriter { private: - LegacyAronTypeWriter() = delete; + AronTypeWriterVisitor() = delete; public: static void SetupWriterFromAronTypePtr(AronTypeWriter&, const typenavigator::AronTypeNavigatorPtr&); diff --git a/source/RobotAPI/libraries/aron/aroncore/navigators/datanavigator/AronPrimitiveDataNavigator.cpp b/source/RobotAPI/libraries/aron/aroncore/navigators/datanavigator/AronPrimitiveDataNavigator.cpp index e5d5a29c29b4dbe6e7878a9c59440a3c972525c1..e51d2bfd83555d7f3b2ea4e01f4761031d50aaec 100644 --- a/source/RobotAPI/libraries/aron/aroncore/navigators/datanavigator/AronPrimitiveDataNavigator.cpp +++ b/source/RobotAPI/libraries/aron/aroncore/navigators/datanavigator/AronPrimitiveDataNavigator.cpp @@ -47,7 +47,6 @@ namespace armarx AronDataNavigator(AronDataDescriptor::eAron##upperType, path), \ aron(new data::Aron##upperType()) \ { \ - aron->value = {}; \ } \ \ Aron##upperType##DataNavigator::Aron##upperType##DataNavigator(const lowerType& d, const AronPath& path) : \ diff --git a/source/RobotAPI/libraries/aron/aroncore/test/aronTest.cpp b/source/RobotAPI/libraries/aron/aroncore/test/aronTest.cpp index a4bb8061f36c6b6f63d8ecde6c13c25695725652..9693f8c451924017dfb00eb43109a6729ed323cf 100644 --- a/source/RobotAPI/libraries/aron/aroncore/test/aronTest.cpp +++ b/source/RobotAPI/libraries/aron/aroncore/test/aronTest.cpp @@ -146,7 +146,7 @@ void runTestWithInstances(T& k1, T& k2) std::string k1_aron_json_str = k1_aron_json.dump(4); armarx::aron::io::AronDataNlohmannJSONWriter direct_json_writer_for_k1; - armarx::aron::io::LegacyAronDataWriter::SetupWriterFromAronDataPtr(direct_json_writer_for_k1, k1_aron); + armarx::aron::io::AronDataWriterVisitor::SetupWriterFromAronDataPtr(direct_json_writer_for_k1, k1_aron); nlohmann::json direct_k1_aron_json = direct_json_writer_for_k1.getResult(); std::string direct_k1_aron_json_str = direct_k1_aron_json.dump(4); BOOST_CHECK_EQUAL((k1_aron_json_str == direct_k1_aron_json_str), true);