Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 318045 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/provisional/tasks/core/TasksUtil.java (+21 lines)
Lines 64-67 Link Here
64
		return sb.toString();
64
		return sb.toString();
65
	}
65
	}
66
66
67
	/**
68
	 * Trim a search string outside of quotes and remove existing quotes if not escaped
69
	 * 
70
	 * @param toTrim
71
	 * @return
72
	 */
73
	public static String trimAndCleanFilterString(String toTrim) {
74
		if (toTrim != null) {
75
			//trim string, then remove quotes
76
			toTrim = toTrim.trim();
77
			String quote = "\""; //$NON-NLS-1$
78
			String escapedQuote = "\\\""; //$NON-NLS-1$
79
			if (toTrim.startsWith(quote) && toTrim.endsWith(quote)) {
80
				toTrim = toTrim.substring(1, toTrim.length() - 1);
81
			} else if (toTrim.startsWith(escapedQuote) && toTrim.endsWith(escapedQuote)) {
82
				//check if quotes were escaped, and remove the escape character then
83
				toTrim = toTrim.substring(1, toTrim.length() - 2) + quote;
84
			}
85
		}
86
		return toTrim;
87
	}
67
}
88
}
(-)src/org/eclipse/mylyn/tasks/tests/TasksUtilTest.java (+18 lines)
Lines 44-47 Link Here
44
		assertEquals("abc-123", TasksUtil.decode(TasksUtil.decode(TasksUtil.encode(TasksUtil.encode("abc-123")))));
44
		assertEquals("abc-123", TasksUtil.decode(TasksUtil.decode(TasksUtil.encode(TasksUtil.encode("abc-123")))));
45
	}
45
	}
46
46
47
	public void testTrimAndCleanFilterString() {
48
		assertEquals("Test", TasksUtil.trimAndCleanFilterString("\"Test\""));
49
		assertEquals("Test", TasksUtil.trimAndCleanFilterString(" \"Test\""));
50
		assertEquals("Test", TasksUtil.trimAndCleanFilterString("\"Test\" "));
51
		assertEquals(" Test", TasksUtil.trimAndCleanFilterString("\" Test\""));
52
		assertEquals("Test ", TasksUtil.trimAndCleanFilterString("\"Test \""));
53
		assertEquals("Tes t", TasksUtil.trimAndCleanFilterString("\"Tes t\""));
54
		assertEquals("\"Test\"", TasksUtil.trimAndCleanFilterString("\\" + "\"Test\\" + "\""));
55
		assertEquals("\" Test\"", TasksUtil.trimAndCleanFilterString("\\\" Test\\\""));
56
		assertEquals("\"Test \"", TasksUtil.trimAndCleanFilterString("\\\"Test \\\""));
57
		assertEquals("\"Test", TasksUtil.trimAndCleanFilterString("\"\"Test\""));
58
		assertEquals("Te\"st\"", TasksUtil.trimAndCleanFilterString(" \"Te\"st\"\""));
59
		assertEquals("T\"est\"", TasksUtil.trimAndCleanFilterString("T\"est\""));
60
		assertEquals("T\"est\"", TasksUtil.trimAndCleanFilterString(" T\"est\""));
61
		assertEquals("T\"est\"", TasksUtil.trimAndCleanFilterString(" T\"est\" "));
62
		assertEquals(null, TasksUtil.trimAndCleanFilterString(null));
63
		assertEquals("", TasksUtil.trimAndCleanFilterString(""));
64
	}
47
}
65
}
(-)src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListFilteredTree.java (-1 / +2 lines)
Lines 29-34 Link Here
29
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages;
29
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages;
30
import org.eclipse.mylyn.internal.provisional.commons.ui.SearchHistoryPopUpDialog;
30
import org.eclipse.mylyn.internal.provisional.commons.ui.SearchHistoryPopUpDialog;
31
import org.eclipse.mylyn.internal.provisional.commons.ui.SelectionProviderAdapter;
31
import org.eclipse.mylyn.internal.provisional.commons.ui.SelectionProviderAdapter;
32
import org.eclipse.mylyn.internal.provisional.tasks.core.TasksUtil;
32
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
33
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
33
import org.eclipse.mylyn.internal.tasks.core.ITaskListChangeListener;
34
import org.eclipse.mylyn.internal.tasks.core.ITaskListChangeListener;
34
import org.eclipse.mylyn.internal.tasks.core.TaskContainerDelta;
35
import org.eclipse.mylyn.internal.tasks.core.TaskContainerDelta;
Lines 556-562 Link Here
556
	@Override
557
	@Override
557
	protected String getFilterString() {
558
	protected String getFilterString() {
558
		String text = super.getFilterString();
559
		String text = super.getFilterString();
559
		return (text != null) ? text.trim() : null;
560
		return (text != null) ? TasksUtil.trimAndCleanFilterString(text) : null;
560
	}
561
	}
561
562
562
	public TaskWorkingSetFilter getWorkingSetFilter() {
563
	public TaskWorkingSetFilter getWorkingSetFilter() {

Return to bug 318045