From 6606b9a9c74a86667145247f4787b7712c10e217 Mon Sep 17 00:00:00 2001 From: Hosang Kim Date: Fri, 1 Apr 2022 17:27:56 +0900 Subject: [PATCH] Comparer: add condition for searching object with XPath. Change-Id: Id327cc2ce7173559d4a01df5108a86e49af3042f --- libaurum/src/Comparer.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libaurum/src/Comparer.cc b/libaurum/src/Comparer.cc index 634d2e2..e559730 100644 --- a/libaurum/src/Comparer.cc +++ b/libaurum/src/Comparer.cc @@ -57,6 +57,22 @@ std::vector> Comparer::findObjects(const std::sh return merged; } + if (selector->mMatchXPath) { + std::vector> merged{}; + + auto XMLDocMap = AccessibleWatcher::getInstance()->getXMLDocMap(); + std::string pkg = root->getPkg(); + + if (XMLDocMap.count(pkg) == 0) return merged; + + auto XMLDoc = XMLDocMap[pkg]; + + auto tmp = XMLDoc->findObjects(selector->mXPath); + std::move(std::begin(tmp), std::end(tmp), std::back_inserter(merged)); + + return merged; + } + return comparer.findObjects(root); } -- 2.7.4