Bug 575365: [Ltk-Issues] Add implementation for TaskIssueConfig.equals
Change-Id: I63e16f3491942faf82d148fa23ddfc0a91a02cee
diff --git a/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/TaskIssueConfig.java b/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/TaskIssueConfig.java
index 47cddf6..4035d18 100644
--- a/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/TaskIssueConfig.java
+++ b/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/TaskIssueConfig.java
@@ -14,6 +14,8 @@
package org.eclipse.statet.ltk.issues.core;
+import java.util.Objects;
+
import org.eclipse.statet.jcommons.collections.ImCollections;
import org.eclipse.statet.jcommons.collections.ImList;
import org.eclipse.statet.jcommons.lang.Immutable;
@@ -51,6 +53,26 @@
}
+ @Override
+ public int hashCode() {
+ return this.taskTags.hashCode();
+ }
+
+ @Override
+ public boolean equals(final @Nullable Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj instanceof TaskIssueConfig) {
+ final var other= (TaskIssueConfig)obj;
+ return (this.taskTags.equals(other.getTaskTags())
+ && Objects.equals(getDefaultTaskTag(), other.getDefaultTaskTag()) );
+ }
+ return super.equals(obj);
+ }
+
+
+
private static final PreferenceObjectDef<TaskIssueConfig> CONFIG_PREF_FACTORY=
PreferenceObjectDef.createFactory(TaskIssueConfig.class, ImCollections.newSet(
Issues.TASK_TAG_QUALIFIER ),
diff --git a/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/impl/BasicTaskTag.java b/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/impl/BasicTaskTag.java
index 69b5a65..54615e4 100644
--- a/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/impl/BasicTaskTag.java
+++ b/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/impl/BasicTaskTag.java
@@ -15,6 +15,7 @@
package org.eclipse.statet.ltk.issues.core.impl;
import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+import org.eclipse.statet.jcommons.lang.Nullable;
import org.eclipse.statet.ltk.issues.core.TaskPriority;
import org.eclipse.statet.ltk.issues.core.TaskTag;
@@ -52,6 +53,19 @@
}
@Override
+ public boolean equals(@Nullable final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj instanceof TaskTag) {
+ final var other= (TaskTag)obj;
+ return (this.keyword.equals(other.getKeyword())
+ && this.priority == other.getPriority() );
+ }
+ return false;
+ }
+
+ @Override
public String toString() {
return this.keyword;
}