Bug 575365: [Ltk-Issues] Improve definition of TaskTag preferences
Change-Id: I300f6b470488775174c7405ee52d0e7386a5547c
diff --git a/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/Issues.java b/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/Issues.java
index db3b7ce..5ec57d9 100644
--- a/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/Issues.java
+++ b/ltk/org.eclipse.statet.ltk.core/src/org/eclipse/statet/ltk/issues/core/Issues.java
@@ -23,7 +23,7 @@
import org.eclipse.statet.ecommons.preferences.core.Preference;
import org.eclipse.statet.ecommons.preferences.core.Preference.EnumListPref;
-import org.eclipse.statet.ecommons.preferences.core.Preference.StringArrayPref;
+import org.eclipse.statet.ecommons.preferences.core.Preference.StringListPref;
import org.eclipse.statet.ecommons.preferences.core.PreferenceAccess;
import org.eclipse.statet.ltk.issues.core.impl.BasicTaskTag;
@@ -38,20 +38,22 @@
public static final String TASK_TAG_KEYWORD_PREF_KEY= "TaskTags.keyword"; //$NON-NLS-1$
public static final String TASK_TAG_PRIORITY_PREF_KEY= "TaskTags.priority"; //$NON-NLS-1$
- public static final Preference<@NonNull String[]> TASK_TAG_KEYWORD_PREF=
- new StringArrayPref(TASK_TAG_QUALIFIER, TASK_TAG_KEYWORD_PREF_KEY);
+ public static final Preference<List<String>> TASK_TAG_KEYWORD_PREF=
+ new StringListPref(TASK_TAG_QUALIFIER, TASK_TAG_KEYWORD_PREF_KEY);
public static final Preference<List<TaskPriority>> TASK_TAG_PRIORITY_PREF=
new EnumListPref<>(TASK_TAG_QUALIFIER, TASK_TAG_PRIORITY_PREF_KEY, TaskPriority.class);
- public static ImList<TaskTag> loadTaskTags(final PreferenceAccess prefs) {
- final @NonNull String[] keywords= prefs.getPreferenceValue(TASK_TAG_KEYWORD_PREF);
- final List<TaskPriority> priorities= prefs.getPreferenceValue(TASK_TAG_PRIORITY_PREF);
+ public static ImList<TaskTag> loadTaskTags(final PreferenceAccess prefs,
+ final Preference<List<String>> keywordPerf,
+ final Preference<List<TaskPriority>> priorityPref) {
+ final List<String> keywords= prefs.getPreferenceValue(keywordPerf);
+ final List<TaskPriority> priorities= prefs.getPreferenceValue(priorityPref);
- if (keywords.length == priorities.size()) {
- final var array= new @NonNull TaskTag[keywords.length];
+ if (keywords.size() == priorities.size()) {
+ final var array= new @NonNull TaskTag[keywords.size()];
for (int i= 0; i < array.length; i++) {
- array[i]= new BasicTaskTag(keywords[i], priorities.get(i));
+ array[i]= new BasicTaskTag(keywords.get(i), priorities.get(i));
}
return ImCollections.newList(array);
}
@@ -60,6 +62,10 @@
}
}
+ public static ImList<TaskTag> loadTaskTags(final PreferenceAccess prefs) {
+ return loadTaskTags(prefs, TASK_TAG_KEYWORD_PREF, TASK_TAG_PRIORITY_PREF);
+ }
+
public static ImList<String> getKeywords(final ImList<TaskTag> taskTags) {
final var array= new @NonNull String[taskTags.size()];
for (int i= 0; i < array.length; i++) {