Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2004-11-22 18:26:00 +0000
committerMichael Valenta2004-11-22 18:26:00 +0000
commit0edefde1a2a4604e0907642d2f60dcf53ecb2e1e (patch)
tree6109130cbcb88eca5f6876b484eea4a13d0d0d4f
parent39bb3d349fc377fdd0882eee1172957fc5656247 (diff)
downloadeclipse.platform.team-0edefde1a2a4604e0907642d2f60dcf53ecb2e1e.tar.gz
eclipse.platform.team-0edefde1a2a4604e0907642d2f60dcf53ecb2e1e.tar.xz
eclipse.platform.team-0edefde1a2a4604e0907642d2f60dcf53ecb2e1e.zip
Changing test case support
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java32
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelProvider.java14
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SynchronizeViewTestAdapter.java59
3 files changed, 39 insertions, 66 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java
index c5ee46202..176ac6270 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelManager.java
@@ -17,14 +17,11 @@ import org.eclipse.jface.action.*;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.widgets.Display;
import org.eclipse.team.core.synchronize.SyncInfoSet;
import org.eclipse.team.internal.core.Assert;
import org.eclipse.team.internal.ui.*;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.team.ui.synchronize.SynchronizePageActionGroup;
+import org.eclipse.team.ui.synchronize.*;
import org.eclipse.ui.IActionBars;
/**
@@ -173,21 +170,12 @@ public abstract class SynchronizeModelManager extends SynchronizePageActionGroup
}
/**
- * Gets a new selection that contains the view model objects that
- * correspond to the given objects. The advisor will try and
- * convert the objects into the appropriate viewer objects.
- * This is required because the model provider controls the actual
- * model elements in the viewer and must be consulted in order to
- * understand what objects can be selected in the viewer.
- * <p>
- * This method does not affect the selection of the viewer itself.
- * It's main purpose is for testing and should not be used by other
- * clients.
- * </p>
- * @param object the objects to select
- * @return a selection corresponding to the given objects
+ * Return the model root of the currently active model provider.
+ * This method will wait until the model is done updating.
+ * It is for use by test purposes only.
+ * @return the model root
*/
- public ISelection getSelection(Object[] objects) {
+ public ISynchronizeModelElement getModelRoot() {
if (modelProvider != null && modelProvider instanceof SynchronizeModelProvider) {
((SynchronizeModelProvider)modelProvider).waitUntilDone(new IProgressMonitor() {
public void beginTask(String name, int totalWork) {
@@ -209,13 +197,9 @@ public abstract class SynchronizeModelManager extends SynchronizePageActionGroup
while (Display.getCurrent().readAndDispatch()) {}
}
});
- Object[] viewerObjects = new Object[objects.length];
- for (int i = 0; i < objects.length; i++) {
- viewerObjects[i] = ((SynchronizeModelProvider)modelProvider).getMapping(objects[i]);
- }
- return new StructuredSelection(viewerObjects);
+ return modelProvider.getModelRoot();
} else {
- return StructuredSelection.EMPTY;
+ return null;
}
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelProvider.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelProvider.java
index b10f0f752..69f8cd13e 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelProvider.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelProvider.java
@@ -53,20 +53,6 @@ public abstract class SynchronizeModelProvider extends AbstractSynchronizeModelP
// associate the root resource with the provider's root element
resourceMap.put(ResourcesPlugin.getWorkspace().getRoot(), modelRoot);
}
-
- /**
- * The provider can try and return a mapping for the provided object. Providers often use mappings
- * to store the source of a logical element they have created. For example, when displaying resource
- * based logical elements, a provider will cache the resource -> element mapping for quick retrieval
- * of the element when resource based changes are made.
- *
- * @param object the object to query for a mapping
- * @return an object created by this provider that would be shown in a viewer, or <code>null</code>
- * if the provided object is not mapped by this provider.
- */
- public Object getMapping(Object object) {
- return resourceMap.get(object);
- }
/**
* Dispose of the builder
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SynchronizeViewTestAdapter.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SynchronizeViewTestAdapter.java
index af25bd586..5ba4458a8 100644
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SynchronizeViewTestAdapter.java
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SynchronizeViewTestAdapter.java
@@ -12,37 +12,22 @@ package org.eclipse.team.tests.ccvs.ui;
import junit.framework.AssertionFailedError;
+import org.eclipse.compare.structuremergeviewer.IDiffElement;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.widgets.Display;
import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.synchronize.SyncInfoSet;
-import org.eclipse.team.core.synchronize.SyncInfoTree;
-import org.eclipse.team.internal.ccvs.core.CVSCompareSubscriber;
-import org.eclipse.team.internal.ccvs.core.CVSMergeSubscriber;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.ui.subscriber.CompareParticipant;
-import org.eclipse.team.internal.ccvs.ui.subscriber.MergeSynchronizeParticipant;
-import org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceSynchronizeParticipant;
+import org.eclipse.team.core.synchronize.*;
+import org.eclipse.team.internal.ccvs.core.*;
+import org.eclipse.team.internal.ccvs.ui.subscriber.*;
import org.eclipse.team.internal.core.subscribers.SubscriberSyncInfoCollector;
import org.eclipse.team.internal.ui.TeamUIPlugin;
-import org.eclipse.team.internal.ui.synchronize.SubscriberParticipantPage;
-import org.eclipse.team.internal.ui.synchronize.SyncInfoModelElement;
-import org.eclipse.team.internal.ui.synchronize.SynchronizeView;
+import org.eclipse.team.internal.ui.synchronize.*;
import org.eclipse.team.tests.ccvs.core.EclipseTest;
import org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource;
import org.eclipse.team.ui.TeamUI;
import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.team.ui.synchronize.ISynchronizeManager;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipant;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipantReference;
-import org.eclipse.team.ui.synchronize.ISynchronizeView;
-import org.eclipse.team.ui.synchronize.SubscriberParticipant;
-import org.eclipse.team.ui.synchronize.WorkspaceScope;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.IPage;
@@ -234,13 +219,9 @@ public class SynchronizeViewTestAdapter extends SyncInfoSource {
IPage page = ((SynchronizeView)view).getPage(participant);
if (page instanceof SubscriberParticipantPage) {
SubscriberParticipantPage subscriberPage = (SubscriberParticipantPage)page;
- ISelection selection = subscriberPage.getViewerAdvisor().getModelManager().getSelection(new Object[] { resource });
- if (!selection.isEmpty() && selection instanceof StructuredSelection) {
- StructuredSelection ss = (StructuredSelection)selection;
- Object o = ss.getFirstElement();
- if (o instanceof SyncInfoModelElement) {
- return ((SyncInfoModelElement)o).getSyncInfo();
- }
+ ISynchronizeModelElement root = subscriberPage.getViewerAdvisor().getModelManager().getModelRoot();
+ if (root != null) {
+ return findSyncInfo(root, resource);
}
}
} catch (PartInitException e) {
@@ -249,7 +230,29 @@ public class SynchronizeViewTestAdapter extends SyncInfoSource {
return null;
}
- public static ISynchronizePage getSyncViewPage(ISynchronizeParticipant participant) throws PartInitException {
+ /**
+ * @param root
+ * @param resource
+ * @return
+ */
+ private SyncInfo findSyncInfo(ISynchronizeModelElement node, IResource resource) {
+ if (node instanceof SyncInfoModelElement) {
+ SyncInfoModelElement element = (SyncInfoModelElement)node;
+ if (element.getResource().equals(resource)) {
+ return element.getSyncInfo();
+ }
+ }
+ IDiffElement[] children = node.getChildren();
+ for (int i = 0; i < children.length; i++) {
+ ISynchronizeModelElement child = (ISynchronizeModelElement)children[i];
+ SyncInfo info = findSyncInfo(child, resource);
+ if (info != null)
+ return info;
+ }
+ return null;
+ }
+
+ public static ISynchronizePage getSyncViewPage(ISynchronizeParticipant participant) throws PartInitException {
IWorkbenchPage activePage = TeamUIPlugin.getActivePage();
ISynchronizeView view = (ISynchronizeView)activePage.showView(ISynchronizeView.VIEW_ID);
IPage page = ((SynchronizeView)view).getPage(participant);

Back to the top