Skip to content

v0.2.54..v0.2.55 changeset ScriptMergerCreator.cpp

Garret Voltz edited this page Aug 14, 2020 · 1 revision
diff --git a/hoot-js/src/main/cpp/hoot/js/conflate/merging/ScriptMergerCreator.cpp b/hoot-js/src/main/cpp/hoot/js/conflate/merging/ScriptMergerCreator.cpp
index 86addce..d0f19f8 100644
--- a/hoot-js/src/main/cpp/hoot/js/conflate/merging/ScriptMergerCreator.cpp
+++ b/hoot-js/src/main/cpp/hoot/js/conflate/merging/ScriptMergerCreator.cpp
@@ -94,7 +94,8 @@ bool ScriptMergerCreator::createMergers(const MatchSet& matches, vector<MergerPt
   LOG_VART(eids);
 
   std::shared_ptr<ScriptMerger> sm(new ScriptMerger(script, plugin, eids));
-  // only add the merger if there are elements to merge.
+  sm->setMatchType(matchType.join(";"));
+  // only add the merger if there are elements to merge
   if (sm->hasFunction("mergeSets"))
   {
     if (eids.size() >= 1)
@@ -111,11 +112,10 @@ bool ScriptMergerCreator::createMergers(const MatchSet& matches, vector<MergerPt
       result = true;
     }
     else if (eids.size() > 1)
-    {
-      LOG_TRACE("Overlapping matches: " << eids);
+    { 
+      LOG_TRACE("Overlapping matches:\n" << eids << "\nmatch types: " << matchType.join(";"));
       mergers.push_back(
-        MergerPtr(
-          new MarkForReviewMerger(eids, "Overlapping matches", matchType.join(";"), 1.0)));
+        MergerPtr(new MarkForReviewMerger(eids, "Overlapping matches", matchType.join(";"), 1.0)));
       result = true;
     }
   }
@@ -137,8 +137,9 @@ vector<CreatorDescription> ScriptMergerCreator::getAllCreators() const
   return result;
 }
 
-bool ScriptMergerCreator::isConflicting(const ConstOsmMapPtr& map, ConstMatchPtr m1,
-  ConstMatchPtr m2) const
+bool ScriptMergerCreator::isConflicting(
+  const ConstOsmMapPtr& map, ConstMatchPtr m1, ConstMatchPtr m2,
+  const QHash<QString, ConstMatchPtr>& matches) const
 {
   const ScriptMatch* sm1 = dynamic_cast<const ScriptMatch*>(m1.get());
   const ScriptMatch* sm2 = dynamic_cast<const ScriptMatch*>(m2.get());
@@ -146,7 +147,7 @@ bool ScriptMergerCreator::isConflicting(const ConstOsmMapPtr& map, ConstMatchPtr
   bool result = false;
   if (sm1 && sm2)
   {
-    result = m1->isConflicting(m2, map);
+    result = m1->isConflicting(m2, map, matches);
   }
 
   return result;
Clone this wiki locally