Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten2006-06-10 02:37:47 +0000
committermkersten2006-06-10 02:37:47 +0000
commitf40af7a2b3bf3a21e1d2c7844561430369b5d965 (patch)
tree60ef66a2c114f79c0d9748f593cd441bd7eba5bd /org.eclipse.mylyn.tasks.ui
parent6f1db2d4a702191c70fd34fb44cdd0bc5758c433 (diff)
downloadorg.eclipse.mylyn.tasks-f40af7a2b3bf3a21e1d2c7844561430369b5d965.tar.gz
org.eclipse.mylyn.tasks-f40af7a2b3bf3a21e1d2c7844561430369b5d965.tar.xz
org.eclipse.mylyn.tasks-f40af7a2b3bf3a21e1d2c7844561430369b5d965.zip
Completed: 146362: extract offline synchronization from AbstractRepositoryConnector
https://bugs.eclipse.org/bugs/show_bug.cgi?id=146362
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/OfflineTaskManager.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskUiUtil.java54
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryConnector.java160
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/IOfflineTaskHandler.java10
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java3
5 files changed, 97 insertions, 134 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/OfflineTaskManager.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/OfflineTaskManager.java
index 60cdb961a..6350977a7 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/OfflineTaskManager.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/OfflineTaskManager.java
@@ -502,8 +502,8 @@ public class OfflineTaskManager {
// try {
RepositoryTaskData item = (RepositoryTaskData) in.readObject();
AbstractRepositoryConnector connector = MylarTaskListPlugin.getRepositoryManager().getRepositoryConnector(item.getRepositoryKind());
- if(connector != null) {
- AbstractAttributeFactory factory = connector.getAttributeFactory();
+ if(connector != null && connector.getOfflineTaskHandler() != null) {
+ AbstractAttributeFactory factory = connector.getOfflineTaskHandler().getAttributeFactory();
if(factory != null) {
item.setAttributeFactory(factory);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskUiUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskUiUtil.java
index ab5a92f11..e80c77dc9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskUiUtil.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskUiUtil.java
@@ -65,7 +65,7 @@ public class TaskUiUtil {
return null;
}
switch (priorityLevel) {
- case P1:
+ case P1:
return TaskListImages.getImage(TaskListImages.PRIORITY_1);
case P2:
return TaskListImages.getImage(TaskListImages.PRIORITY_2);
@@ -79,7 +79,7 @@ public class TaskUiUtil {
return null;
}
}
-
+
public static void closeEditorInActivePage(ITask task) {
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (window == null) {
@@ -102,15 +102,15 @@ public class TaskUiUtil {
public static boolean openRepositoryTask(String repositoryUrl, String taskId, String fullUrl) {
boolean opened = false;
String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
- ITask task = MylarTaskListPlugin.getTaskListManager().getTaskList().getTask(handle);
- if (task == null) {
+ ITask task = MylarTaskListPlugin.getTaskListManager().getTaskList().getTask(handle);
+ if (task == null) {
// search for it
for (ITask currTask : MylarTaskListPlugin.getTaskListManager().getTaskList().getAllTasks()) {
if (currTask instanceof AbstractRepositoryTask) {
- String currUrl = ((AbstractRepositoryTask)currTask).getUrl();
+ String currUrl = ((AbstractRepositoryTask) currTask).getUrl();
if (currUrl != null && currUrl.equals(fullUrl)) {
task = currTask;
- break;
+ break;
}
}
}
@@ -119,19 +119,20 @@ public class TaskUiUtil {
TaskUiUtil.refreshAndOpenTaskListElement(task);
opened = true;
} else {
- AbstractRepositoryConnector connector = MylarTaskListPlugin.getRepositoryManager().getRepositoryForTaskUrl(fullUrl);
+ AbstractRepositoryConnector connector = MylarTaskListPlugin.getRepositoryManager().getRepositoryForTaskUrl(
+ fullUrl);
if (connector != null) {
connector.openRemoteTask(repositoryUrl, taskId);
opened = true;
}
- }
- if (!opened) {
+ }
+ if (!opened) {
TaskUiUtil.openUrl(fullUrl);
opened = true;
}
return opened;
}
-
+
public static void refreshAndOpenTaskListElement(ITaskListElement element) {
if (element instanceof ITask || element instanceof AbstractQueryHit
|| element instanceof DateRangeActivityDelegate) {
@@ -149,27 +150,28 @@ public class TaskUiUtil {
String repositoryKind = repositoryTask.getRepositoryKind();
final AbstractRepositoryConnector connector = MylarTaskListPlugin.getRepositoryManager()
.getRepositoryConnector(repositoryKind);
-
- TaskRepository repository = MylarTaskListPlugin.getRepositoryManager().getRepository(repositoryKind, repositoryTask.getRepositoryUrl());
+
+ TaskRepository repository = MylarTaskListPlugin.getRepositoryManager().getRepository(repositoryKind,
+ repositoryTask.getRepositoryUrl());
if (!repository.hasCredentials()) {
- MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- MylarTaskListPlugin.TITLE_DIALOG,
- "Repository does not have credentials set, verify via " + TaskRepositoriesView.NAME + " view");
+ MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
+ MylarTaskListPlugin.TITLE_DIALOG, "Repository does not have credentials set, verify via "
+ + TaskRepositoriesView.NAME + " view");
}
if (connector != null)
if (repositoryTask.getTaskData() != null) {
TaskUiUtil.openEditor(task, false);
- // TODO: Eventually will need to check that this task
- // isn't a new report awaiting submission if so
- // don't synchronize
+ // TODO: Eventually will need to check that this task
+ // isn't a new report awaiting submission if so
+ // don't synchronize
connector.synchronize((AbstractRepositoryTask) task, false, null);
} else {
Job refreshJob = connector.synchronize((AbstractRepositoryTask) task, true,
new JobChangeAdapter() {
public void done(IJobChangeEvent event) {
- if (repositoryTask.getTaskData() != null) {
- TaskUiUtil.openEditor(task, false);
- }
+// if (repositoryTask.getTaskData() != null) {
+ TaskUiUtil.openEditor(task, false);
+// }
}
});
if (refreshJob == null) {
@@ -188,7 +190,7 @@ public class TaskUiUtil {
client.openEditQueryDialog(query);
}
}
-
+
public static void openEditor(final ITask task, boolean newTask) {
openEditor(task, true, newTask);
}
@@ -247,15 +249,15 @@ public class TaskUiUtil {
if (WorkbenchBrowserSupport.getInstance().isInternalWebBrowserAvailable()) {
flags = WorkbenchBrowserSupport.AS_EDITOR | WorkbenchBrowserSupport.LOCATION_BAR
| WorkbenchBrowserSupport.NAVIGATION_BAR;
-
+
} else {
flags = WorkbenchBrowserSupport.AS_EXTERNAL | WorkbenchBrowserSupport.LOCATION_BAR
| WorkbenchBrowserSupport.NAVIGATION_BAR;
}
String title = "Browser";
String tooltip = url;
- browser = WorkbenchBrowserSupport.getInstance().createBrowser(flags, MylarTaskListPlugin.PLUGIN_ID + title,
- title, tooltip);
+ browser = WorkbenchBrowserSupport.getInstance().createBrowser(flags,
+ MylarTaskListPlugin.PLUGIN_ID + title, title, tooltip);
browser.openURL(new URL(url));
}
} catch (PartInitException e) {
@@ -274,7 +276,7 @@ public class TaskUiUtil {
for (int i = 0; i < editorReferences.length; i++) {
IEditorPart editor = editorReferences[i].getEditor(false);
if (editor instanceof MylarTaskEditor) {
- TaskEditorInput input = (TaskEditorInput) ((MylarTaskEditor)editor).getEditorInput();
+ TaskEditorInput input = (TaskEditorInput) ((MylarTaskEditor) editor).getEditorInput();
if (input.getTask() instanceof AbstractRepositoryTask) {
repositoryTaskEditors.add((MylarTaskEditor) editor);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryConnector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryConnector.java
index 398fea3c2..2b01684f2 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryConnector.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/AbstractRepositoryConnector.java
@@ -34,7 +34,6 @@ import org.eclipse.jface.wizard.IWizard;
import org.eclipse.mylar.internal.core.util.DateUtil;
import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
import org.eclipse.mylar.internal.core.util.ZipFileUtil;
-import org.eclipse.mylar.internal.tasklist.AbstractAttributeFactory;
import org.eclipse.mylar.internal.tasklist.OfflineTaskManager;
import org.eclipse.mylar.internal.tasklist.RepositoryAttachment;
import org.eclipse.mylar.internal.tasklist.RepositoryTaskData;
@@ -65,20 +64,26 @@ public abstract class AbstractRepositoryConnector {
protected List<String> supportedVersions;
- protected AbstractAttributeFactory attributeFactory;
-
protected boolean forceSyncExecForTesting = false;
private boolean updateLocalCopy = false;
- public abstract boolean canCreateTaskFromKey();
-
- public abstract boolean canCreateNewTask();
+ /**
+ * @return null if not supported
+ */
+ public abstract IAttachmentHandler getAttachmentHandler();
- protected abstract IAttachmentHandler getAttachmentHandler();
+ /**
+ * @return null if not supported
+ */
+ public abstract IOfflineTaskHandler getOfflineTaskHandler();
public abstract String getRepositoryUrlFromTaskUrl(String url);
+ public abstract boolean canCreateTaskFromKey();
+
+ public abstract boolean canCreateNewTask();
+
/**
* Implementors must execute query synchronously.
*
@@ -90,8 +95,6 @@ public abstract class AbstractRepositoryConnector {
*/
public abstract List<AbstractQueryHit> performQuery(AbstractRepositoryQuery query, IProgressMonitor monitor,
MultiStatus queryStatus);
-
- protected abstract RepositoryTaskData downloadTaskData(AbstractRepositoryTask repositoryTask) throws CoreException;
public abstract String getLabel();
@@ -105,7 +108,6 @@ public abstract class AbstractRepositoryConnector {
* identifier, e.g. "123" bug Bugzilla bug 123
* @return null if task could not be created
*/
-
public abstract ITask createTaskFromExistingKey(TaskRepository repository, String id);
public abstract AbstractRepositorySettingsPage getSettingsPage();
@@ -120,17 +122,14 @@ public abstract class AbstractRepositoryConnector {
public abstract List<String> getSupportedVersions();
+ protected abstract void updateTaskState(AbstractRepositoryTask repositoryTask);
+
/**
* returns all tasks if date is null or an error occurs
*/
public abstract Set<AbstractRepositoryTask> getChangedSinceLastSync(TaskRepository repository,
Set<AbstractRepositoryTask> tasks) throws Exception;
-
- protected AbstractRepositoryConnector(AbstractAttributeFactory attributeFactory) {
- this.attributeFactory = attributeFactory;
- }
-
/**
* Implementors of this repositoryOperations must perform it locally without
* going to the server since it is used for frequent repositoryOperations
@@ -138,7 +137,7 @@ public abstract class AbstractRepositoryConnector {
*
* @return an emtpy set if no contexts
*/
- public Set<RepositoryAttachment> getContextAttachments(TaskRepository repository, AbstractRepositoryTask task) {
+ public final Set<RepositoryAttachment> getContextAttachments(TaskRepository repository, AbstractRepositoryTask task) {
Set<RepositoryAttachment> contextAttachments = new HashSet<RepositoryAttachment>();
if (task.getTaskData() != null) {
for (RepositoryAttachment attachment : task.getTaskData().getAttachments()) {
@@ -150,7 +149,8 @@ public abstract class AbstractRepositoryConnector {
return contextAttachments;
}
- public boolean hasRepositoryContext(TaskRepository repository, AbstractRepositoryTask task) {
+ // TODO: move
+ public final boolean hasRepositoryContext(TaskRepository repository, AbstractRepositoryTask task) {
if (repository == null || task == null) {
return false;
} else {
@@ -159,7 +159,7 @@ public abstract class AbstractRepositoryConnector {
}
}
- public void attachContext(TaskRepository repository, AbstractRepositoryTask task, String longComment)
+ public final void attachContext(TaskRepository repository, AbstractRepositoryTask task, String longComment)
throws CoreException {
if (!repository.hasCredentials()) {
MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
@@ -177,16 +177,15 @@ public abstract class AbstractRepositoryConnector {
File destinationFile = File.createTempFile(sourceContextFile.getName(), ZIPFILE_EXTENSION);
destinationFile.deleteOnExit();
ZipFileUtil.createZipFile(destinationFile, filesToZip, new NullProgressMonitor());
-
- IAttachmentHandler handler = getAttachmentHandler();
+
+ IAttachmentHandler handler = getAttachmentHandler();
if (handler != null) {
handler.uploadAttachment(repository, task, longComment, MYLAR_CONTEXT_DESCRIPTION,
destinationFile, APPLICATION_OCTET_STREAM, false, null);
synchronize(task, false, null);
} else {
MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- MylarTaskListPlugin.TITLE_DIALOG, MESSAGE_ATTACHMENTS_NOT_SUPPORTED
- + getLabel());
+ MylarTaskListPlugin.TITLE_DIALOG, MESSAGE_ATTACHMENTS_NOT_SUPPORTED + getLabel());
}
} catch (Exception e) {
MylarStatusHandler.fail(e, "Could not export task context as zip file", true);
@@ -194,8 +193,8 @@ public abstract class AbstractRepositoryConnector {
}
}
}
-
- public void retrieveContext(TaskRepository repository, AbstractRepositoryTask task,
+
+ public final void retrieveContext(TaskRepository repository, AbstractRepositoryTask task,
RepositoryAttachment attachment) throws CoreException, IOException {
boolean wasActive = false;
if (task.isActive()) {
@@ -210,7 +209,8 @@ public abstract class AbstractRepositoryConnector {
Proxy proxySettings = MylarTaskListPlugin.getDefault().getProxySettings();
IAttachmentHandler attachmentHandler = getAttachmentHandler();
if (attachmentHandler != null) {
- attachmentHandler.downloadAttachment(repository, task, attachment.getId(), destinationZipFile, proxySettings);
+ attachmentHandler.downloadAttachment(repository, task, attachment.getId(), destinationZipFile,
+ proxySettings);
ZipFileUtil.unzipFiles(destinationZipFile, MylarPlugin.getDefault().getDataDirectory());
if (destinationContextFile.exists()) {
MylarTaskListPlugin.getTaskListManager().getTaskList().notifyLocalInfoChanged(task);
@@ -220,16 +220,19 @@ public abstract class AbstractRepositoryConnector {
}
} else {
MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- MylarTaskListPlugin.TITLE_DIALOG, MESSAGE_ATTACHMENTS_NOT_SUPPORTED
- + getLabel());
+ MylarTaskListPlugin.TITLE_DIALOG, MESSAGE_ATTACHMENTS_NOT_SUPPORTED + getLabel());
}
}
-
+
// Precondition of note: offline file is removed upon submit to repository
// resulting in a synchronized state.
- protected void updateOfflineState(final AbstractRepositoryTask repositoryTask, boolean forceSync) {
+ void updateOfflineState(final AbstractRepositoryTask repositoryTask, boolean forceSync) {
+ IOfflineTaskHandler offlineTaskHandler = getOfflineTaskHandler();
+ if (offlineTaskHandler == null) {
+ return;
+ }
RepositoryTaskSyncState status = repositoryTask.getSyncState();
- RepositoryTaskData downloadedTaskData;
+ RepositoryTaskData downloadedTaskData = null;
final TaskRepository repository = MylarTaskListPlugin.getRepositoryManager().getRepository(
repositoryTask.getRepositoryKind(), repositoryTask.getRepositoryUrl());
@@ -241,7 +244,7 @@ public abstract class AbstractRepositoryConnector {
}
try {
- downloadedTaskData = downloadTaskData(repositoryTask);
+ downloadedTaskData = offlineTaskHandler.downloadTaskData(repositoryTask);
} catch (final CoreException e) {
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
public void run() {
@@ -320,7 +323,7 @@ public abstract class AbstractRepositoryConnector {
* @param listener
* can be null
*/
- public Job synchronize(AbstractRepositoryTask repositoryTask, boolean forceSynch, IJobChangeListener listener) {
+ public final Job synchronize(AbstractRepositoryTask repositoryTask, boolean forceSynch, IJobChangeListener listener) {
Set<AbstractRepositoryTask> toSync = new HashSet<AbstractRepositoryTask>();
toSync.add(repositoryTask);
return synchronize(toSync, forceSynch, listener);
@@ -330,7 +333,7 @@ public abstract class AbstractRepositoryConnector {
* @param listener
* can be null
*/
- public Job synchronize(Set<AbstractRepositoryTask> repositoryTasks, boolean forceSynch, IJobChangeListener listener) {
+ private Job synchronize(Set<AbstractRepositoryTask> repositoryTasks, boolean forceSynch, IJobChangeListener listener) {
final SynchronizeTaskJob synchronizeJob = new SynchronizeTaskJob(this, repositoryTasks);
synchronizeJob.setForceSynch(forceSynch);
@@ -356,13 +359,13 @@ public abstract class AbstractRepositoryConnector {
* For synchronizing a single query. Use synchronize(Set,
* IJobChangeListener) if synchronizing multiple queries at a time.
*/
- public Job synchronize(final AbstractRepositoryQuery repositoryQuery, IJobChangeListener listener) {
+ public final Job synchronize(final AbstractRepositoryQuery repositoryQuery, IJobChangeListener listener) {
HashSet<AbstractRepositoryQuery> items = new HashSet<AbstractRepositoryQuery>();
items.add(repositoryQuery);
return synchronize(items, listener, Job.LONG, 0, true);
}
- public Job synchronize(final Set<AbstractRepositoryQuery> repositoryQueries, IJobChangeListener listener,
+ public final Job synchronize(final Set<AbstractRepositoryQuery> repositoryQueries, IJobChangeListener listener,
int priority, long delay, boolean syncTasks) {
SynchronizeQueryJob job = new SynchronizeQueryJob(this, repositoryQueries);
job.setSynchTasks(syncTasks);
@@ -379,7 +382,7 @@ public abstract class AbstractRepositoryConnector {
* given repository was synchronized. Calls to this method set
* TaskRepository.syncTime to now.
*/
- public void synchronizeChanged(final TaskRepository repository) {
+ public final void synchronizeChanged(final TaskRepository repository) {
TaskList taskList = MylarTaskListPlugin.getTaskListManager().getTaskList();
Set<AbstractRepositoryTask> repositoryTasks = Collections.unmodifiableSet(taskList
.getRepositoryTasks(repository.getUrl()));
@@ -414,99 +417,46 @@ public abstract class AbstractRepositoryConnector {
}
}
- refreshTasks(tasksToSync, false);
+ synchronize(tasksToSync, false, null);
MylarTaskListPlugin.getRepositoryManager().setSyncTime(repository, new Date());
- // } catch (GeneralSecurityException e) {
- // PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- // public void run() {
- // MessageDialog.openError(Display.getDefault().getActiveShell(),
- // MylarTaskListPlugin.TITLE_DIALOG,
- // "Authentication error. Check setting in " + TaskRepositoriesView.NAME
- // + ".");
- // }
- // });
- // } catch (final IOException e) {
- // PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- // public void run() {
- // MessageDialog.openError(Display.getDefault().getActiveShell(),
- // MylarTaskListPlugin.TITLE_DIALOG,
- // "Communication error during query synchronization. Error
- // reported:\n\n" + e.getMessage());
- // }
- // });
- // }
- }
-
- /**
- * refresh the given tasks with latest content from repository
- *
- * @param tasks -
- * to synchronize
- * @param force -
- * if true will overwrite local changes and incoming status
- */
- public void refreshTasks(Set<AbstractRepositoryTask> tasks, boolean force) {
- synchronize(tasks, force, null);
}
/**
* Force the given task to be refreshed from the repository
*/
- public void forceRefresh(AbstractRepositoryTask task) {
+ public final void forceRefresh(AbstractRepositoryTask task) {
Set<AbstractRepositoryTask> toRefresh = new HashSet<AbstractRepositoryTask>();
toRefresh.add(task);
- refreshTasks(toRefresh, true);
+ synchronize(toRefresh, true, null);
}
/**
* For testing
*/
- public void setForceSyncExec(boolean forceSyncExec) {
+ public final void setForceSyncExec(boolean forceSyncExec) {
this.forceSyncExecForTesting = forceSyncExec;
}
- public void openRemoteTask(String repositoryUrl, String idString) {
- MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- MylarTaskListPlugin.TITLE_DIALOG, "Opening JIRA issues not added to task list is not implemented.");
- }
-
- public AbstractAttributeFactory getAttributeFactory() {
- return attributeFactory;
+ protected final void removeOfflineTaskData(RepositoryTaskData bug) {
+ if (bug == null)
+ return;
+ // bug.setOfflineState(false);
+ // offlineStatusChange(bug, RepositoryTaskSyncState.SYNCHRONIZED);
+ ArrayList<RepositoryTaskData> bugList = new ArrayList<RepositoryTaskData>();
+ bugList.add(bug);
+ MylarTaskListPlugin.getDefault().getOfflineReportsFile().remove(bugList);
}
- public void saveOffline(RepositoryTaskData taskData) {
+ public final void saveOffline(RepositoryTaskData taskData) {
try {
MylarTaskListPlugin.getDefault().getOfflineReportsFile().add(taskData);
} catch (CoreException e) {
MylarStatusHandler.fail(e, e.getMessage(), false);
}
-
- // if (report.isSavedOffline()) {
- // // There is already an offline report for this bug, update the file.
- // MylarTaskListPlugin.getDefault().getOfflineReportsFile().update();
- // } else {
- // try {
- // RepositoryTaskSyncState offlineStatus =
- // MylarTaskListPlugin.getDefault().getOfflineReportsFile().add(
- // report, forceSynch);
- // report.setOfflineState(true);
- // offlineStatusChange(report, offlineStatus);
- //
- // } catch (CoreException e) {
- // MylarStatusHandler.fail(e, e.getMessage(), false);
- // }
- // }
-
}
- protected void removeOfflineTaskData(RepositoryTaskData bug) {
- if (bug == null)
- return;
- // bug.setOfflineState(false);
- // offlineStatusChange(bug, RepositoryTaskSyncState.SYNCHRONIZED);
- ArrayList<RepositoryTaskData> bugList = new ArrayList<RepositoryTaskData>();
- bugList.add(bug);
- MylarTaskListPlugin.getDefault().getOfflineReportsFile().remove(bugList);
+ public void openRemoteTask(String repositoryUrl, String idString) {
+ MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
+ MylarTaskListPlugin.TITLE_DIALOG, "Not supported by connector: " + getLabel());
}
-
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/IOfflineTaskHandler.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/IOfflineTaskHandler.java
index 9f3543f18..5ef9b86d9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/IOfflineTaskHandler.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/IOfflineTaskHandler.java
@@ -11,10 +11,18 @@
package org.eclipse.mylar.provisional.tasklist;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.mylar.internal.tasklist.AbstractAttributeFactory;
+import org.eclipse.mylar.internal.tasklist.RepositoryTaskData;
+
/**
* @author Mik Kersten
* @author Rob Elves
*/
public interface IOfflineTaskHandler {
-
+
+ public AbstractAttributeFactory getAttributeFactory();
+
+ public RepositoryTaskData downloadTaskData(AbstractRepositoryTask repositoryTask) throws CoreException;
+
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java
index e4e2b90cf..ea5698ba9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java
@@ -75,7 +75,10 @@ class SynchronizeTaskJob extends Job {
monitor.setTaskName(LABEL_SYNCHRONIZING+repositoryTask.getDescription());
repositoryTask.setCurrentlyDownloading(true);
MylarTaskListPlugin.getTaskListManager().getTaskList().notifyRepositoryInfoChanged(repositoryTask);
+
this.connector.updateOfflineState(repositoryTask, forceSync);
+ this.connector.updateTaskState(repositoryTask);
+
repositoryTask.setCurrentlyDownloading(false);
MylarTaskListPlugin.getTaskListManager().getTaskList().notifyRepositoryInfoChanged(repositoryTask);
}

Back to the top