diff --git a/hoot-core/src/main/cpp/hoot/core/algorithms/changeset/ChangesetDeriver.h b/hoot-core/src/main/cpp/hoot/core/algorithms/changeset/ChangesetDeriver.h
index d022bac..b0c0fc8 100644
--- a/hoot-core/src/main/cpp/hoot/core/algorithms/changeset/ChangesetDeriver.h
+++ b/hoot-core/src/main/cpp/hoot/core/algorithms/changeset/ChangesetDeriver.h
@@ -29,7 +29,7 @@
#include <hoot/core/algorithms/changeset/ChangesetProvider.h>
#include <hoot/core/io/ElementInputStream.h>
-#include <hoot/core/algorithms/changeset/ElementComparer.h>
+#include <hoot/core/elements/ElementComparer.h>
namespace hoot
{
@@ -69,14 +69,19 @@ public:
long getNumFromElementsParsed() const { return _numFromElementsParsed; }
long getNumToElementsParsed() const { return _numToElementsParsed; }
+
int getNumCreateChanges() const { return _changesByType[Change::ChangeType::Create]; }
int getNumModifyChanges() const { return _changesByType[Change::ChangeType::Modify]; }
int getNumDeleteChanges() const { return _changesByType[Change::ChangeType::Delete]; }
int getNumChanges() const
{ return getNumCreateChanges() + getNumModifyChanges() + getNumDeleteChanges(); }
+ void setAllowDeletingReferenceFeatures(bool allow) { _allowDeletingReferenceFeatures = allow; }
+
private:
+ friend class ChangesetReplacementCreatorTest;
+
Change _nextChange();
ElementInputStreamPtr _from;
@@ -87,9 +92,10 @@ private:
long _numFromElementsParsed;
long _numToElementsParsed;
+ // Prevents any reference features from being deleted. This is useful for Differential Conflation
+ // and can be used as a safety feature for other conflation workflows.
bool _allowDeletingReferenceFeatures;
QMap<Change::ChangeType, int> _changesByType;
-
};
typedef std::shared_ptr<ChangesetDeriver> ChangesetDeriverPtr;