diff options
author | relves | 2007-06-19 20:01:03 +0000 |
---|---|---|
committer | relves | 2007-06-19 20:01:03 +0000 |
commit | 2efab2ce370db45dfee64f28c7d8f40dc70ff7f7 (patch) | |
tree | b62348b8c359b1cb7a0b75b2a0f4cb315d4fefea | |
parent | 31f7cb7cebf603fc5cb1fc368480a176f3b9b076 (diff) | |
download | org.eclipse.mylyn.tasks-2efab2ce370db45dfee64f28c7d8f40dc70ff7f7.tar.gz org.eclipse.mylyn.tasks-2efab2ce370db45dfee64f28c7d8f40dc70ff7f7.tar.xz org.eclipse.mylyn.tasks-2efab2ce370db45dfee64f28c7d8f40dc70ff7f7.zip |
ASSIGNED - bug 176513: [api] add support for requesting multiple task data in single request
https://bugs.eclipse.org/bugs/show_bug.cgi?id=176513
5 files changed, 25 insertions, 31 deletions
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/AbstractReportFactory.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/AbstractReportFactory.java index 592f42443..55116c784 100644 --- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/AbstractReportFactory.java +++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/AbstractReportFactory.java @@ -20,6 +20,7 @@ import java.io.Reader; import java.io.StringReader; import java.security.GeneralSecurityException; +import org.eclipse.mylyn.web.core.XmlUtil; import org.xml.sax.EntityResolver; import org.xml.sax.ErrorHandler; import org.xml.sax.InputSource; @@ -58,24 +59,23 @@ public class AbstractReportFactory { final BufferedInputStream is = new BufferedInputStream(inStream, 1024); - // filtered upon tasklist and offline taskdata externalization -// InputStream iis = new InputStream() { -// public int read() throws IOException { -// int c; -// while ((c = is.read()) != -1) { -// if (!Character.isISOControl(c) || c == '\n' || c == '\r') { -// return c; -// } -// } -// return -1; -// } -// }; + InputStream iis = new InputStream() { + public int read() throws IOException { + int c; + while ((c = is.read()) != -1) { + if (XmlUtil.isValid((char) c)) { + return c; + } + } + return -1; + } + }; Reader in; if (characterEncoding != null) { - in = new InputStreamReader(is, characterEncoding); + in = new InputStreamReader(iis, characterEncoding); } else { - in = new InputStreamReader(is); + in = new InputStreamReader(iis); } if (in != null && clean) { diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java index 8c2ccc3ee..a2c2cc28e 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java @@ -19,7 +19,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import org.eclipse.mylyn.context.core.ContextCorePlugin; import org.eclipse.mylyn.internal.monitor.core.util.StatusManager; import org.eclipse.mylyn.internal.tasks.core.LocalTask; import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil; @@ -27,6 +26,7 @@ import org.eclipse.mylyn.internal.tasks.core.TaskArchive; import org.eclipse.mylyn.internal.tasks.core.UnfiledCategory; import org.eclipse.mylyn.tasks.core.AbstractTask.PriorityLevel; import org.eclipse.mylyn.tasks.core.AbstractTask.RepositoryTaskSyncState; +import org.eclipse.mylyn.web.core.XmlUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -272,7 +272,7 @@ public class DelegatingTaskExternalizer implements ITaskListExternalizer { protected String stripControlCharacters(String text) { if (text == null) return ""; - return ContextCorePlugin.cleanXmlString(text); + return XmlUtil.cleanXmlString(text); } protected String formatExternDate(Date date) { diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OfflineFileStorage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OfflineFileStorage.java index a1f75a67c..467c5e8f2 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OfflineFileStorage.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OfflineFileStorage.java @@ -30,7 +30,6 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; -import org.eclipse.mylyn.context.core.ContextCorePlugin; import org.eclipse.mylyn.internal.monitor.core.util.StatusManager; import org.eclipse.mylyn.internal.tasks.core.ITaskDataStorage; import org.eclipse.mylyn.internal.tasks.core.TaskDataState; @@ -40,6 +39,7 @@ import org.eclipse.mylyn.tasks.core.RepositoryOperation; import org.eclipse.mylyn.tasks.core.RepositoryTaskAttribute; import org.eclipse.mylyn.tasks.core.RepositoryTaskData; import org.eclipse.mylyn.tasks.core.TaskComment; +import org.eclipse.mylyn.web.core.XmlUtil; import org.eclipse.ui.IMemento; import org.eclipse.ui.XMLMemento; @@ -607,7 +607,7 @@ public class OfflineFileStorage implements ITaskDataStorage { } private String getText(String text) { - String result = ContextCorePlugin.cleanXmlString(text); + String result = XmlUtil.cleanXmlString(text); if (result == null) { result = ""; } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/PersonProposalProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/PersonProposalProvider.java index 333b189a4..dd412f271 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/PersonProposalProvider.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/PersonProposalProvider.java @@ -37,7 +37,7 @@ public class PersonProposalProvider implements IContentProposalProvider { private RepositoryTaskData currentTaskData; private String currentUser; - + private Set<String> addressSet = null; public PersonProposalProvider(AbstractTask repositoryTask, RepositoryTaskData taskData) { @@ -61,10 +61,10 @@ public class PersonProposalProvider implements IContentProposalProvider { } private Set<String> getAddressSet() { - if(addressSet!=null) { + if (addressSet != null) { return addressSet; } - + addressSet = new TreeSet<String>(new Comparator<String>() { public int compare(String s1, String s2) { if (currentUser != null) { @@ -80,7 +80,7 @@ public class PersonProposalProvider implements IContentProposalProvider { } }); - if(currentTask!=null) { + if (currentTask != null) { addAddress(currentTask.getOwner(), addressSet); } addAddresses(currentTaskData, addressSet); @@ -134,16 +134,10 @@ public class PersonProposalProvider implements IContentProposalProvider { } private void addAddresses(AbstractTask task, Set<String> addressSet) { - // TODO: Owner, Creator, and CC should be stored on + // TODO: Creator, and CC should be stored on // AbstractTask - // RepositoryTaskData data = - // TasksUiPlugin.getDefault().getTaskData(task); addAddress(task.getOwner(), addressSet); - - RepositoryTaskData data = TasksUiPlugin.getDefault().getTaskDataManager() // - .getOldTaskData(task.getRepositoryUrl(), task.getTaskId()); - addAddresses(data, addressSet); } private void addAddresses(RepositoryTaskData data, Set<String> addressSet) { @@ -167,5 +161,5 @@ public class PersonProposalProvider implements IContentProposalProvider { addressSet.add(address.trim()); } } - + } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java index 3bb475b20..18bcfd65e 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java @@ -86,7 +86,7 @@ public class TasksUiUtil { try { if (useRichEditorIfAvailable) { AbstractTask task = TasksUiPlugin.getTaskListManager().getTaskList().getRepositoryTask(url); - if (task != null) { + if (task != null && !(task instanceof LocalTask)) { refreshAndOpenTaskListElement(task); } else { openUrl(url, 0); |