Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 124225 Details for
Bug 246149
delete task repository should delete the tasks and queries automatically
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
updated
patch.txt (text/plain), 11.30 KB, created by
David Shepherd
on 2009-01-29 19:20:54 EST
(
hide
)
Description:
updated
Filename:
MIME Type:
Creator:
David Shepherd
Created:
2009-01-29 19:20:54 EST
Size:
11.30 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/Messages.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/Messages.java,v >retrieving revision 1.6 >diff -u -r1.6 Messages.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/Messages.java 29 Jan 2009 20:52:17 -0000 1.6 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/Messages.java 30 Jan 2009 00:20:23 -0000 >@@ -103,6 +103,8 @@ > > public static String DeleteTaskRepositoryAction_Repository_In_Use_MESSAGE; > >+ public static String DeleteTaskRepositoryAction_Delete_Repository_In_Progress; >+ > public static String EditRepositoryPropertiesAction_Properties; > > public static String ExpandAllAction_Expand_All; >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/DeleteTaskRepositoryAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/DeleteTaskRepositoryAction.java,v >retrieving revision 1.27 >diff -u -r1.27 DeleteTaskRepositoryAction.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/DeleteTaskRepositoryAction.java 13 Jan 2009 07:07:35 -0000 1.27 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/DeleteTaskRepositoryAction.java 30 Jan 2009 00:20:23 -0000 >@@ -13,12 +13,16 @@ > > import java.util.ArrayList; > import java.util.Collection; >+import java.util.HashSet; > import java.util.List; > import java.util.Set; > >+import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Status; > import org.eclipse.jface.dialogs.MessageDialog; >+import org.eclipse.jface.dialogs.ProgressMonitorDialog; >+import org.eclipse.jface.operation.IRunnableWithProgress; > import org.eclipse.jface.viewers.IStructuredSelection; > import org.eclipse.mylyn.commons.core.StatusHandler; > import org.eclipse.mylyn.internal.tasks.core.AbstractTask; >@@ -29,6 +33,7 @@ > import org.eclipse.mylyn.tasks.core.IRepositoryQuery; > import org.eclipse.mylyn.tasks.core.ITask; > import org.eclipse.mylyn.tasks.core.TaskRepository; >+import org.eclipse.osgi.util.NLS; > import org.eclipse.ui.ISharedImages; > import org.eclipse.ui.IViewPart; > import org.eclipse.ui.PlatformUI; >@@ -58,69 +63,105 @@ > public void run() { > try { > >- boolean deleteConfirmed = MessageDialog.openQuestion(PlatformUI.getWorkbench() >- .getActiveWorkbenchWindow() >- .getShell(), Messages.DeleteTaskRepositoryAction_Confirm_Delete, Messages.DeleteTaskRepositoryAction_Delete_the_selected_task_repositories); >- if (deleteConfirmed) { >- IStructuredSelection selection = getStructuredSelection(); >+ IStructuredSelection selection = getStructuredSelection(); >+ Object[] array = selection.toArray(); >+ if (array == null || array.length != 1) { >+ return; >+ } > >- // check for queries over this repository >- Set<RepositoryQuery> queries = TasksUiInternal.getTaskList().getQueries(); >- List<TaskRepository> repositoriesInUse = new ArrayList<TaskRepository>(); >- List<TaskRepository> repositoriesToDelete = new ArrayList<TaskRepository>(); >- for (Object selectedObject : selection.toList()) { >- if (selectedObject instanceof TaskRepository) { >- TaskRepository taskRepository = (TaskRepository) selectedObject; >- if (queries != null && queries.size() > 0) { >- for (IRepositoryQuery query : queries) { >- if (query.getRepositoryUrl().equals(taskRepository.getRepositoryUrl())) { >+ final List<IRepositoryQuery> queriesToDelete = new ArrayList<IRepositoryQuery>(); >+ final List<AbstractTask> tasksToDelete = new ArrayList<AbstractTask>(); >+ final Set<TaskRepository> reposToDelete = new HashSet<TaskRepository>(); >+ >+ // check for queries over this repository >+ Set<RepositoryQuery> queries = TasksUiInternal.getTaskList().getQueries(); >+ List<TaskRepository> repositoriesInUse = new ArrayList<TaskRepository>(); >+ for (Object selectedObject : selection.toList()) { >+ if (selectedObject instanceof TaskRepository) { >+ TaskRepository taskRepository = (TaskRepository) selectedObject; >+ if (queries != null && queries.size() > 0) { >+ for (IRepositoryQuery query : queries) { >+ if (query.getRepositoryUrl().equals(taskRepository.getRepositoryUrl())) { >+ if (!repositoriesInUse.contains(taskRepository)) { > repositoriesInUse.add(taskRepository); >- break; > } >+ queriesToDelete.add(query); >+ reposToDelete.add(taskRepository); > } > } >- if (!repositoriesInUse.contains(taskRepository)) { >- repositoriesToDelete.add(taskRepository); >- } > } > } >+ } > >- // check for tasks from this repository >- // bug 243975 >- Collection<AbstractTask> tasks = TasksUiPlugin.getTaskList().getAllTasks(); >- for (Object selectedObject : selection.toList()) { >- if (selectedObject instanceof TaskRepository) { >- TaskRepository taskRepository = (TaskRepository) selectedObject; >- if (tasks != null && tasks.size() > 0) { >- for (ITask task : tasks) { >- if (task.getRepositoryUrl() != null >- && task.getRepositoryUrl().equals(taskRepository.getRepositoryUrl())) { >- repositoriesInUse.add(taskRepository); >- break; >- } >+ // check for tasks from this repository >+ // bug 243975 >+ final Collection<AbstractTask> tasks = TasksUiPlugin.getTaskList().getAllTasks(); >+ for (Object selectedObject : selection.toList()) { >+ if (selectedObject instanceof TaskRepository) { >+ TaskRepository taskRepository = (TaskRepository) selectedObject; >+ if (tasks != null && tasks.size() > 0) { >+ for (ITask task : tasks) { >+ if (task.getRepositoryUrl() != null >+ && task.getRepositoryUrl().equals(taskRepository.getRepositoryUrl())) { >+ reposToDelete.add(taskRepository); >+ tasksToDelete.add((AbstractTask) task); > } > } >- if (repositoriesInUse.contains(taskRepository)) { >- repositoriesToDelete.remove(taskRepository); >- } > } > } >+ } > >- for (TaskRepository taskRepository : repositoriesToDelete) { >- TasksUiPlugin.getRepositoryManager().removeRepository(taskRepository, >- TasksUiPlugin.getDefault().getRepositoriesFilePath()); >- // if repository is contributed via template, ensure it isn't added again >- TaskRepositoryUtil.disableAddAutomatically(taskRepository.getRepositoryUrl()); >- } >- >- if (repositoriesInUse.size() > 0) { >- MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), >- Messages.DeleteTaskRepositoryAction_Repository_In_Use, >- Messages.DeleteTaskRepositoryAction_Repository_In_Use_MESSAGE); >- } >+ Integer[] numbs = new Integer[2]; >+ numbs[0] = tasksToDelete.size(); >+ numbs[1] = queriesToDelete.size(); >+ boolean deleteConfirmed = MessageDialog.openQuestion(PlatformUI.getWorkbench() >+ .getActiveWorkbenchWindow() >+ .getShell(), Messages.DeleteTaskRepositoryAction_Confirm_Delete, NLS.bind( >+ Messages.DeleteTaskRepositoryAction_Delete_the_selected_task_repositories, numbs)); >+ if (deleteConfirmed) { >+ ProgressMonitorDialog monitor = new ProgressMonitorDialog(PlatformUI.getWorkbench() >+ .getActiveWorkbenchWindow() >+ .getShell()); >+ IRunnableWithProgress op = new IRunnableWithProgress() { >+ public void run(IProgressMonitor monitor) { >+ monitor.beginTask(Messages.DeleteTaskRepositoryAction_Delete_the_selected_task_repositories, >+ tasks.size()); >+ //delete the tasks >+ for (AbstractTask abstractTask : tasksToDelete) { >+ TasksUiPlugin.getTaskList().deleteTask(abstractTask); >+ if (monitor.isCanceled()) { >+ return; >+ } >+ monitor.worked(1); >+ } >+ //delete the queries >+ for (IRepositoryQuery query : queriesToDelete) { >+ TasksUiPlugin.getTaskList().deleteQuery((RepositoryQuery) query); >+ } >+ //delete the repo >+ for (TaskRepository taskRepository : reposToDelete) { >+ TasksUiPlugin.getRepositoryManager().removeRepository(taskRepository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); >+ // if repository is contributed via template, ensure it isn't added again >+ TaskRepositoryUtil.disableAddAutomatically(taskRepository.getRepositoryUrl()); >+ } >+ } >+ }; >+ monitor.run(false, true, op); > } > } catch (Exception e) { > StatusHandler.fail(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, e.getMessage(), e)); > } > } >+ >+ @Override >+ protected boolean updateSelection(IStructuredSelection selection) { >+ if (selection != null && !selection.isEmpty()) { >+ Object[] array = selection.toArray(); >+ if (!(array.length == 0 || array.length > 1)) { >+ return getTaskRepository(selection.getFirstElement()) != null; >+ } >+ } >+ return false; >+ } > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/messages.properties >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/messages.properties,v >retrieving revision 1.6 >diff -u -r1.6 messages.properties >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/messages.properties 29 Jan 2009 20:52:17 -0000 1.6 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/messages.properties 30 Jan 2009 00:20:23 -0000 >@@ -44,10 +44,12 @@ > > DeleteTaskRepositoryAction_Confirm_Delete=Confirm Delete > DeleteTaskRepositoryAction_Delete_Repository=Delete Repository >-DeleteTaskRepositoryAction_Delete_the_selected_task_repositories=Delete the selected task repositories? >+DeleteTaskRepositoryAction_Delete_Repository_In_Progress=Deleting Repository and related artifacts.. >+DeleteTaskRepositoryAction_Delete_the_selected_task_repositories=This repository is being used by {0} task(s) and {1} queries. Would you like to delete the repository, tasks, and queries? > DeleteTaskRepositoryAction_Repository_In_Use=Repository In Use > DeleteTaskRepositoryAction_Repository_In_Use_MESSAGE=One or more of the selected repositories is being used by a query or a task and can not be deleted. > >+ > EditRepositoryPropertiesAction_Properties=Properties > > ExpandAllAction_Expand_All=Expand All >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoriesView.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoriesView.java,v >retrieving revision 1.38 >diff -u -r1.38 TaskRepositoriesView.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoriesView.java 4 Jan 2009 16:21:54 -0000 1.38 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoriesView.java 30 Jan 2009 00:20:23 -0000 >@@ -256,7 +256,7 @@ > > private void fillContextMenu(IMenuManager manager) { > manager.add(addRepositoryAction); >- manager.add(new Separator()); >+ manager.add(new Separator("repositoryconfig")); > manager.add(deleteRepositoryAction); > manager.add(resetConfigurationAction); > manager.add(new Separator());
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 246149
:
124222
|
124223
|
124225
|
124226
|
124227
|
124230
|
124231
|
124300
|
124301
|
124305
|
124306
|
124367
|
124499
|
124500