From 7596b52be29ea3e8b3503ac1601aff3c9150487a Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 3 Jun 2013 14:46:35 +0400 Subject: [PATCH] saving todo filters: revert to restore patterns-filter mappings (IDEA-108293) --- .../src/com/intellij/ide/todo/TodoFilter.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/todo/TodoFilter.java b/platform/lang-impl/src/com/intellij/ide/todo/TodoFilter.java index 3a2b134aefe1..6a8cb62794a5 100644 --- a/platform/lang-impl/src/com/intellij/ide/todo/TodoFilter.java +++ b/platform/lang-impl/src/com/intellij/ide/todo/TodoFilter.java @@ -20,6 +20,8 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.psi.PsiFile; import com.intellij.psi.search.PsiTodoSearchHelper; import com.intellij.psi.search.TodoPattern; +import com.intellij.util.ArrayUtil; +import com.intellij.util.ArrayUtilRt; import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -145,11 +147,13 @@ public class TodoFilter implements Cloneable{ * @param element in which all data will be stored * @param patterns all available patterns */ - public void writeExternal(Element element,TodoPattern[] patterns){ + public void writeExternal(Element element, TodoPattern[] patterns){ element.setAttribute(ATTRIBUTE_NAME,myName); - for (int i = 0; i < patterns.length; i++) { + for (TodoPattern pattern : myTodoPatterns) { + int index = ArrayUtilRt.find(patterns, pattern); + LOG.assertTrue(index != -1); Element child = new Element(ELEMENT_PATTERN); - child.setAttribute(ATTRIBUTE_INDEX, Integer.toString(i)); + child.setAttribute(ATTRIBUTE_INDEX, Integer.toString(index)); element.addContent(child); } }