v0.2.48..v0.2.49 changeset TagCriterion.cpp
Garret Voltz edited this page Oct 2, 2019
·
1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/criterion/TagCriterion.cpp b/hoot-core/src/main/cpp/hoot/core/criterion/TagCriterion.cpp
index 97c90e5..251e4f6 100644
--- a/hoot-core/src/main/cpp/hoot/core/criterion/TagCriterion.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/criterion/TagCriterion.cpp
@@ -30,6 +30,7 @@
#include <hoot/core/util/Factory.h>
#include <hoot/core/util/ConfigOptions.h>
#include <hoot/core/elements/Element.h>
+#include <hoot/core/util/Log.h>
namespace hoot
{
@@ -63,11 +64,18 @@ void TagCriterion::setKvps(const QStringList kvps)
void TagCriterion::setConfiguration(const Settings &s)
{
setKvps(ConfigOptions(s).getTagCriterionKvps());
+ LOG_VART(_kvps);
}
bool TagCriterion::isSatisfied(const ConstElementPtr& e) const
{
- LOG_VART(e->getTags());
+ if (_kvps.size() == 0)
+ {
+ throw IllegalArgumentException(
+ "No tag key/value pairs specified for: " + QString::fromStdString(className()));
+ }
+
+ LOG_VART(e);
for (int i = 0; i < _kvps.size(); i++)
{
const QStringList kvpParts = _kvps.at(i).split("=");
@@ -84,4 +92,9 @@ bool TagCriterion::isSatisfied(const ConstElementPtr& e) const
return false;
}
+QString TagCriterion::toString() const
+{
+ return QString::fromStdString(className()).remove("hoot::")+ ":kvps:" + _kvps.join(",");
+}
+
}