v0.2.54..v0.2.55 changeset PreserveTypesTagMerger.h
Garret Voltz edited this page Aug 14, 2020
·
1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/schema/PreserveTypesTagMerger.h b/hoot-core/src/main/cpp/hoot/core/schema/PreserveTypesTagMerger.h
index d6d84e4..851e3e4 100644
--- a/hoot-core/src/main/cpp/hoot/core/schema/PreserveTypesTagMerger.h
+++ b/hoot-core/src/main/cpp/hoot/core/schema/PreserveTypesTagMerger.h
@@ -53,7 +53,7 @@ public:
* @param skipTagKeys optional; Any additional type tags found during merging with a key in this
* list will be not be preserved.
*/
- PreserveTypesTagMerger(const std::set<QString>& skipTagKeys = std::set<QString>());
+ PreserveTypesTagMerger(const QSet<QString>& skipTagKeys = QSet<QString>());
/**
* @see TagMerger
@@ -63,8 +63,14 @@ public:
virtual QString getDescription() const
{ return "Keeps tags from both features and preserves overlapping type tags"; }
+ virtual QString getClassName() const { return QString::fromStdString(className()); }
+
+ virtual void setConfiguration(const Settings& conf);
+
void setOverwrite1(bool overwrite) { _overwrite1 = overwrite; }
- void setSkipTagKeys(const std::set<QString>& keys) { _skipTagKeys = keys; }
+ void setSkipTagKeys(const QSet<QString>& keys) { _skipTagKeys = keys; }
+ void setOverwriteExcludeTagKeys(const QStringList& overwriteExcludeTagKeys)
+ { _overwriteExcludeTagKeys = overwriteExcludeTagKeys; }
private:
@@ -72,7 +78,9 @@ private:
// is overwritten
bool _overwrite1;
// any type tag that would otherwise be preserved will be skipped if in this list
- std::set<QString> _skipTagKeys;
+ QSet<QString> _skipTagKeys;
+ // keys of general tags not to be overwritten (see OverwriteTagMerger)
+ QStringList _overwriteExcludeTagKeys;
Tags _preserveAltTypes(const Tags& source, const Tags& target) const;
// can probably eventually get rid of this by correcting logic that's duplicating tags in