Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2003-09-05 20:18:26 +0000
committerMichael Valenta2003-09-05 20:18:26 +0000
commitad710fca4fd764b909188b117043918eb35ff7f3 (patch)
treed13489aaf0c553f33e70c69fc0adf224a6eddf44
parent565f66b34de819277857caef03eef599a534a199 (diff)
downloadeclipse.platform.team-ad710fca4fd764b909188b117043918eb35ff7f3.tar.gz
eclipse.platform.team-ad710fca4fd764b909188b117043918eb35ff7f3.tar.xz
eclipse.platform.team-ad710fca4fd764b909188b117043918eb35ff7f3.zip
Added code to make working Sets work
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java6
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java17
2 files changed, 22 insertions, 1 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java
index ac50900a2..d641f93c8 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java
@@ -27,6 +27,7 @@ import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
import org.eclipse.team.internal.ccvs.ui.ICVSUIConstants;
import org.eclipse.team.internal.ccvs.ui.Policy;
import org.eclipse.team.internal.ccvs.ui.operations.FetchMembersOperation;
+import org.eclipse.team.internal.ccvs.ui.operations.FetchMembersOperation.RemoteFolderFilter;
import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
public class CVSTagElement extends CVSModelElement implements IDeferredWorkbenchAdapter {
@@ -103,6 +104,11 @@ public class CVSTagElement extends CVSModelElement implements IDeferredWorkbench
RemoteFolder folder = new RemoteFolder(null, root, ICVSRemoteFolder.REPOSITORY_ROOT_FOLDER_NAME, tag);
monitor.beginTask(Policy.bind("RemoteFolderElement.fetchingRemoteChildren", root.toString()), 100); //$NON-NLS-1$
FetchMembersOperation operation = new FetchMembersOperation(null, folder, collector);
+ operation.setFilter(new RemoteFolderFilter() {
+ public ICVSRemoteResource[] filter(ICVSRemoteFolder[] folders) {
+ return CVSUIPlugin.getPlugin().getRepositoryManager().filterResources(getWorkingSet(), folders);
+ }
+ });
operation.run(Policy.subMonitorFor(monitor, 100));
} catch (InvocationTargetException e) {
CVSUIPlugin.log(CVSException.wrapException(e));
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java
index 3f9e7c531..f245e154e 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java
@@ -36,6 +36,13 @@ import org.eclipse.team.internal.ccvs.ui.Policy;
public class FetchMembersOperation extends RemoteOperation {
private IElementCollector collector;
+ private RemoteFolderFilter filter = new RemoteFolderFilter();
+
+ public static class RemoteFolderFilter {
+ public ICVSRemoteResource[] filter(ICVSRemoteFolder[] folders) {
+ return folders;
+ }
+ }
public class InternalRemoteFolderMemberFetcher extends RemoteFolderMemberFetcher {
int sendIncrement = 100;
@@ -68,7 +75,7 @@ public class FetchMembersOperation extends RemoteOperation {
}
private void sendFolders() {
updateParentFolderChildren();
- collector.add((Object[]) unsent.toArray(new Object[unsent.size()]), getProgressMonitor());
+ collector.add(filter.filter((ICVSRemoteFolder[]) unsent.toArray(new ICVSRemoteFolder[unsent.size()])), getProgressMonitor());
unsent.clear();
}
private void sendFiles() {
@@ -129,4 +136,12 @@ public class FetchMembersOperation extends RemoteOperation {
return (ICVSRemoteFolder)getRemoteResources()[0];
}
+ public RemoteFolderFilter getFilter() {
+ return filter;
+ }
+
+ public void setFilter(RemoteFolderFilter filter) {
+ this.filter = filter;
+ }
+
}

Back to the top