Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java')
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java247
1 files changed, 0 insertions, 247 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java
deleted file mode 100644
index dfc760296..000000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.AssertionFailedError;
-
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.ISubscriberChangeEvent;
-import org.eclipse.team.core.subscribers.ISubscriberChangeListener;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.subscribers.SubscriberChangeEvent;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.internal.ccvs.core.CVSSyncTreeSubscriber;
-import org.eclipse.team.internal.ccvs.ui.subscriber.ConfirmMergedOperation;
-import org.eclipse.team.internal.ui.synchronize.SyncInfoModelElement;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.team.tests.ccvs.ui.SynchronizeViewTestAdapter;
-
-/**
- * Provides test methods common to CVS sync subscribers
- */
-public abstract class CVSSyncSubscriberTest extends EclipseTest {
-
- private ISubscriberChangeListener listener;
- private List accumulatedTeamDeltas = new ArrayList();
- private static SyncInfoSource source = new SynchronizeViewTestAdapter();
-
- public CVSSyncSubscriberTest() {
- super();
- }
-
- public CVSSyncSubscriberTest(String name) {
- super(name);
- }
-
- public static void setSyncSource(SyncInfoSource newSource) {
- source = newSource;
- }
-
- protected Subscriber getWorkspaceSubscriber() throws TeamException {
- return getSyncInfoSource().createWorkspaceSubscriber();
- }
-
- public SyncInfoSource getSyncInfoSource() {
- assertNotNull(source);
- return source;
- }
-
- protected void refresh(Subscriber subscriber, IResource resource) throws TeamException {
- getSyncInfoSource().refresh(subscriber, resource);
- }
-
- /*
- * Assert that the specified resources in the subscriber have the specified sync kind
- * Ignore conflict types if they are not specified in the assert statement
- */
- protected void assertSyncEquals(String message, Subscriber subscriber, IContainer root, String[] resourcePaths, boolean refresh, int[] syncKinds) throws CoreException, TeamException {
- assertTrue(resourcePaths.length == syncKinds.length);
- if (refresh) refresh(subscriber, root);
- IResource[] resources = getResources(root, resourcePaths);
- for (int i=0;i<resources.length;i++) {
- assertSyncEquals(message, subscriber, resources[i], syncKinds[i]);
- }
-
- }
-
- protected void assertSyncEquals(String message, Subscriber subscriber, IResource resource, int syncKind) throws TeamException {
- int conflictTypeMask = 0x0F; // ignore manual and auto merge sync types for now.
- SyncInfo info = getSyncInfo(subscriber, resource);
- int kind;
- int kindOther = syncKind & conflictTypeMask;
- if (info == null) {
- kind = SyncInfo.IN_SYNC;
- } else {
- kind = info.getKind() & conflictTypeMask;
- }
- assertTrue(message + ": improper sync state for " + resource + " expected " +
- SyncInfo.kindToString(kindOther) + " but was " +
- SyncInfo.kindToString(kind), kind == kindOther);
- }
-
- protected SyncInfo getSyncInfo(Subscriber subscriber, IResource resource) throws TeamException {
- return getSyncInfoSource().getSyncInfo(subscriber, resource);
- }
-
- /**
- * @param changes
- * @param resources
- */
- protected void assertSyncChangesMatch(ISubscriberChangeEvent[] changes, IResource[] resources) {
- // First, ensure that all the resources appear in the delta
- for (int i = 0; i < resources.length; i++) {
- IResource resource = resources[i];
- boolean found = false;
- for (int j = 0; j < changes.length; j++) {
- ISubscriberChangeEvent delta = changes[j];
- if (delta.getResource().equals(resource)) {
- found = true;
- break;
- }
- }
- assertTrue("No change reported for " + resource, found);
- }
- // TODO: We'll worry about extra deltas later
-// // Next, ensure there are no extra deltas
-// List changedResources = new ArrayList(resources.length);
-// changedResources.addAll(Arrays.asList(resources));
-// for (int i = 0; i < changes.length; i++) {
-// TeamDelta change = changes[i];
-// IResource resource = change.getResource();
-// assertTrue("Unanticipated change reported for " + resource, changedResources.contains(resource));
-// }
- }
-
- /*
- * Assert that the named resources have no local resource or sync info
- */
- protected void assertDeleted(String message, IContainer root, String[] resourcePaths) throws CoreException, TeamException {
- IResource[] resources = getResources(root, resourcePaths);
- for (int i=0;i<resources.length;i++) {
- try {
- if (! resources[i].exists())
- break;
- } catch (AssertionFailedError e) {
- break;
- }
- assertTrue(message + ": resource " + resources[i] + " still exists in some form", false);
- }
- }
-
- public static class ResourceCondition {
- public boolean matches(IResource resource) throws CoreException, TeamException {
- return true;
- }
- }
-
- protected IResource[] collect(IResource[] resources, final ResourceCondition condition, int depth) throws CoreException, TeamException {
- final Set affected = new HashSet();
- for (int i = 0; i < resources.length; i++) {
- IResource resource = resources[i];
- if (resource.exists() || resource.isPhantom()) {
- resource.accept(new IResourceVisitor() {
- public boolean visit(IResource r) throws CoreException {
- try {
- if (condition.matches(r)) {
- affected.add(r);
- }
- } catch (TeamException e) {
- throw new CoreException(e.getStatus());
- }
- return true;
- }
- }, depth, true /* include phantoms */);
- } else {
- if (condition.matches(resource)) {
- affected.add(resource);
- }
- }
- }
- return (IResource[]) affected.toArray(new IResource[affected.size()]);
- }
-
- /**
- * @param resources
- * @param condition
- * @return
- */
- protected IResource[] collectAncestors(IResource[] resources, ResourceCondition condition) throws CoreException, TeamException {
- Set affected = new HashSet();
- for (int i = 0; i < resources.length; i++) {
- IResource resource = resources[i];
- while (resource.getType() != IResource.ROOT) {
- if (condition.matches(resource)) {
- affected.add(resource);
- } else {
- break;
- }
- resource = resource.getParent();
- }
- }
- return (IResource[]) affected.toArray(new IResource[affected.size()]);
- }
-
- protected ISubscriberChangeEvent[] deregisterSubscriberListener(Subscriber subscriber) throws TeamException {
- subscriber.removeListener(listener);
- return (ISubscriberChangeEvent[]) accumulatedTeamDeltas.toArray(new SubscriberChangeEvent[accumulatedTeamDeltas.size()]);
- }
-
- protected ISubscriberChangeListener registerSubscriberListener(Subscriber subscriber) throws TeamException {
- listener = new ISubscriberChangeListener() {
- public void subscriberResourceChanged(ISubscriberChangeEvent[] deltas) {
- accumulatedTeamDeltas.addAll(Arrays.asList(deltas));
- }
- };
- accumulatedTeamDeltas.clear();
- subscriber.addListener(listener);
- return listener;
- }
-
- protected SyncInfo[] createSyncInfos(Subscriber subscriber, IResource[] resources) throws TeamException {
- SyncInfo[] result = new SyncInfo[resources.length];
- for (int i = 0; i < resources.length; i++) {
- IResource resource = resources[i];
- result[i] = getSyncInfo(subscriber, resource);
- }
- return result;
- }
-
- protected void assertProjectRemoved(Subscriber subscriber, IProject project) throws TeamException {
- getSyncInfoSource().assertProjectRemoved(subscriber, project);
- }
-
- protected void markAsMerged(CVSSyncTreeSubscriber subscriber, IProject project, String[] resourcePaths) throws CoreException, TeamException, InvocationTargetException, InterruptedException {
- IResource[] resources = getResources(project, resourcePaths);
- SyncInfo[] infos = createSyncInfos(subscriber, resources);
- new ConfirmMergedOperation(null, getElements(infos)).run(DEFAULT_MONITOR);
- }
-
- protected IDiffElement[] getElements(SyncInfo[] infos) {
- SyncInfoModelElement[] elements = new SyncInfoModelElement[infos.length];
- for (int i = 0; i < elements.length; i++) {
- elements[i] = new SyncInfoModelElement(null, infos[i]);
- }
- return elements;
- }
-}

Back to the top