Added progress monitor to project set creation
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/IProjectSetSerializer.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/IProjectSetSerializer.java index 8b33861..000d3d3 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/IProjectSetSerializer.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/IProjectSetSerializer.java
@@ -34,9 +34,10 @@ * @param providerProjects an array of projects that the serializer should create * text references for * @param context a UI context object + * @param monitor a progress monitor * @return an array of serialized reference strings uniquely identifying the projects */ - public String[] asReference(IProject[] providerProjects, Object context) throws TeamException; + public String[] asReference(IProject[] providerProjects, Object context, IProgressMonitor monitor) throws TeamException; /** * For every String in referenceStrings, create in the workspace a
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSProjectSetSerializer.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSProjectSetSerializer.java index 5a43793..7ae1b7b 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSProjectSetSerializer.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSProjectSetSerializer.java
@@ -40,7 +40,7 @@ * * "1.0,repoLocation,module,projectName[,tag]" */ - public String[] asReference(IProject[] providerProjects, Object context) throws TeamException { + public String[] asReference(IProject[] providerProjects, Object context, IProgressMonitor monitor) throws TeamException { String[] result = new String[providerProjects.length]; for (int i = 0; i < providerProjects.length; i++) { StringBuffer buffer = new StringBuffer();
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/ProjectSetExportWizard.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/ProjectSetExportWizard.java index 1ef0859..af3be4c 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/ProjectSetExportWizard.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/ProjectSetExportWizard.java
@@ -25,6 +25,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.operation.IRunnableWithProgress; @@ -106,6 +107,7 @@ // For each provider id, do the writing Shell shell = getShell(); Iterator it = map.keySet().iterator(); + monitor.beginTask(null, 1000 * map.keySet().size()); while (it.hasNext()) { String id = (String)it.next(); writer.write("\t<provider id=\""); //$NON-NLS-1$ @@ -115,7 +117,7 @@ IProject[] projectArray = (IProject[])list.toArray(new IProject[list.size()]); IProjectSetSerializer serializer = Team.getProjectSetSerializer(id); if (serializer != null) { - String[] references = serializer.asReference(projectArray, shell); + String[] references = serializer.asReference(projectArray, shell, new SubProgressMonitor(monitor, 1000)); for (int i = 0; i < references.length; i++) { writer.write("\t\t<project reference=\""); //$NON-NLS-1$ writer.write(references[i]); @@ -133,6 +135,8 @@ throw new InvocationTargetException(e); } catch (TeamException e) { throw new InvocationTargetException(e); + } finally { + monitor.done(); } } });