-
Notifications
You must be signed in to change notification settings - Fork 74
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;