diff --git a/hoot-js/src/main/cpp/hoot/js/conflate/merging/ElementMergerJs.cpp b/hoot-js/src/main/cpp/hoot/js/conflate/merging/ElementMergerJs.cpp
index ca7931c..7ce5826 100644
--- a/hoot-js/src/main/cpp/hoot/js/conflate/merging/ElementMergerJs.cpp
+++ b/hoot-js/src/main/cpp/hoot/js/conflate/merging/ElementMergerJs.cpp
@@ -22,7 +22,7 @@
* This will properly maintain the copyright information. DigitalGlobe
* copyrights will be updated automatically.
*
- * @copyright Copyright (C) 2018, 2019 DigitalGlobe (http://www.digitalglobe.com/)
+ * @copyright Copyright (C) 2018, 2019, 2020 DigitalGlobe (http://www.digitalglobe.com/)
*/
#include "ElementMergerJs.h"
@@ -39,7 +39,7 @@
#include <hoot/core/util/ConfPath.h>
#include <hoot/core/util/HootException.h>
#include <hoot/core/schema/MetadataTags.h>
-#include <hoot/core/elements/OsmUtils.h>
+#include <hoot/core/criterion/CriterionUtils.h>
#include <hoot/core/visitors/FilteredVisitor.h>
#include <hoot/core/visitors/ElementCountVisitor.h>
#include <hoot/core/visitors/UniqueElementIdVisitor.h>
@@ -226,30 +226,36 @@ ElementMergerJs::MergeType ElementMergerJs::_determineMergeType(ConstOsmMapPtr m
MergeType mergeType;
- const bool containsPolys = OsmUtils::contains<PoiPolygonPolyCriterion>(map);
+ const bool containsPolys =
+ CriterionUtils::containsSatisfyingElements<PoiPolygonPolyCriterion>(map);
LOG_VART(containsPolys);
- const bool containsAreas = OsmUtils::contains<NonBuildingAreaCriterion>(map); //non-building areas
+ //non-building areas
+ const bool containsAreas =
+ CriterionUtils::containsSatisfyingElements<NonBuildingAreaCriterion>(map);
LOG_VART(containsAreas);
- const bool containsBuildings = OsmUtils::contains<BuildingCriterion>(map);
+ const bool containsBuildings =
+ CriterionUtils::containsSatisfyingElements<BuildingCriterion>(map);
LOG_VART(containsBuildings);
- const bool containsPois = OsmUtils::contains<PoiCriterion>(map); //general poi definition
+ const bool containsPois =
+ CriterionUtils::containsSatisfyingElements<PoiCriterion>(map); //general poi definition
LOG_VART(containsPois);
- if (OsmUtils::contains<PoiPolygonPoiCriterion>(map, 1, true) &&
- OsmUtils::contains<PoiPolygonPolyCriterion>(map, 1, true))
+ if (CriterionUtils::containsSatisfyingElements<PoiPolygonPoiCriterion>(map, 1, true) &&
+ CriterionUtils::containsSatisfyingElements<PoiPolygonPolyCriterion>(map, 1, true))
{
mergeType = MergeType::PoiToPolygon;
}
- else if (OsmUtils::contains<PoiCriterion>(map, 2) && !containsPolys && !containsAreas &&
- !containsBuildings)
+ else if (CriterionUtils::containsSatisfyingElements<PoiCriterion>(map, 2) && !containsPolys &&
+ !containsAreas && !containsBuildings)
{
mergeType = MergeType::PoiToPoi;
}
- else if (OsmUtils::contains<BuildingCriterion>(map, 2) && !containsAreas && !containsPois)
+ else if (CriterionUtils::containsSatisfyingElements<BuildingCriterion>(map, 2) &&
+ !containsAreas && !containsPois)
{
mergeType = MergeType::BuildingToBuilding;
}
- else if (OsmUtils::contains<NonBuildingAreaCriterion>(map, 2) && !containsBuildings &&
- !containsPois)
+ else if (CriterionUtils::containsSatisfyingElements<NonBuildingAreaCriterion>(map, 2) &&
+ !containsBuildings && !containsPois)
{
mergeType = MergeType::AreaToArea;
}