diff options
Diffstat (limited to 'tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core')
15 files changed, 329 insertions, 344 deletions
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseSynchronizerTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseSynchronizerTest.java index ea95e3ec4..bd2f1eb15 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseSynchronizerTest.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseSynchronizerTest.java @@ -16,20 +16,15 @@ package org.eclipse.team.tests.ccvs.core.cvsresources; import java.util.Arrays; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Set; -import junit.framework.Test; -import junit.framework.TestSuite; - import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; @@ -49,6 +44,9 @@ import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter; import org.eclipse.team.tests.ccvs.core.CVSTestSetup; import org.eclipse.team.tests.ccvs.core.EclipseTest; +import junit.framework.Test; +import junit.framework.TestSuite; + /** * Tests the EclipseSynchronizer. * Does not test state change broadcasts. @@ -608,8 +606,8 @@ public class EclipseSynchronizerTest extends EclipseTest { "hassync.txt", "deleted_nosync.txt", "deleted.txt", "hassync/", "deleted/", "deleted_nosync/" }, true); // initially none of the resources have sync info and they all exist - Object[] ignores = new Object[] { project1.getFolder("CVS") }; - Set expectedMembers = new HashSet(Arrays.asList(project1.members())); + IResource[] ignores = new IResource[] { project1.getFolder("CVS") }; + Set<IResource> expectedMembers = new HashSet<>(Arrays.asList(project1.members())); members = sync.members(project1); assertBijection(expectedMembers.toArray(), members, ignores); @@ -680,20 +678,19 @@ public class EclipseSynchronizerTest extends EclipseTest { /** * Assert that there exists a bijection between the elements of the arrays. */ - private void assertBijection(Object[] a, Object[] b, Object[] ignores) { - List listA = new LinkedList(Arrays.asList(a)); - List listB = new LinkedList(Arrays.asList(b)); + private <T> void assertBijection(T[] a, T[] b, T[] ignores) { + List<T> listA = new LinkedList<>(Arrays.asList(a)); + List<T> listB = new LinkedList<>(Arrays.asList(b)); if (ignores != null) { - for (int i = 0; i < ignores.length; ++i ) { - listA.remove(ignores[i]); - listB.remove(ignores[i]); + for (Object ignore : ignores) { + listA.remove(ignore); + listB.remove(ignore); } } assertEquals("Should have same number of elements", listA.size(), listB.size()); - for (Iterator it = listB.iterator(); it.hasNext();) { - Object obj = it.next(); - assertTrue("Should contain the same elements", listA.contains(obj)); - listA.remove(obj); + for (T t : listB) { + assertTrue("Should contain the same elements", listA.contains(t)); + listA.remove(t); } } @@ -706,22 +703,21 @@ public class EclipseSynchronizerTest extends EclipseTest { * @param resourcePaths paths of resources to be generated * @return the create project */ + @Override protected IProject createProject(String[] resourcePaths) throws CoreException { // Create the project and build the resources IProject project = getUniqueTestProject(getName()); buildResources(project, resourcePaths, true); // Associate dummy sync info with al create resources - project.accept(new IResourceVisitor() { - public boolean visit(IResource resource) throws CoreException { - if (resource.getType() != IResource.PROJECT) { - sync.setResourceSync(resource, dummyResourceSync(resource)); - } - if (resource.getType() != IResource.FILE) { - sync.setFolderSync((IContainer)resource, dummyFolderSync((IContainer)resource)); - } - return true; + project.accept(resource -> { + if (resource.getType() != IResource.PROJECT) { + sync.setResourceSync(resource, dummyResourceSync(resource)); + } + if (resource.getType() != IResource.FILE) { + sync.setFolderSync((IContainer)resource, dummyFolderSync((IContainer)resource)); } + return true; }); // Map the project to CVS so the Move/Delete hook works @@ -737,8 +733,7 @@ public class EclipseSynchronizerTest extends EclipseTest { * @throws CVSException */ protected void assertHasSyncInfo(IProject project, String[] resourcePaths) throws CVSException { - for (int i = 0; i < resourcePaths.length; i++) { - String path = resourcePaths[i]; + for (String path : resourcePaths) { IResource resource = findResource(project, path); assertHasSyncInfo(resource); } @@ -779,8 +774,7 @@ public class EclipseSynchronizerTest extends EclipseTest { * @throws CVSException */ private void assertHasNoSyncInfo(IProject project, String[] resourcePaths) throws CoreException { - for (int i = 0; i < resourcePaths.length; i++) { - String path = resourcePaths[i]; + for (String path : resourcePaths) { IResource resource = findResource(project, path); assertHasNoSyncInfo(resource); } @@ -791,8 +785,7 @@ public class EclipseSynchronizerTest extends EclipseTest { if (resource.getType() != IResource.FILE) { assertNull("Folder should not have folder sync but does: " + resource.getProjectRelativePath(), sync.getFolderSync((IContainer)resource)); IResource[] members = ((IContainer)resource).members(); - for (int i = 0; i < members.length; i++) { - IResource child = members[i]; + for (IResource child : members) { assertHasNoSyncInfo(child); } } diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/ResourceMapperTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/ResourceMapperTests.java index e27771a77..433c56932 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/ResourceMapperTests.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/ResourceMapperTests.java @@ -25,13 +25,24 @@ import java.util.List; import java.util.Map; import java.util.Set; -import junit.framework.Test; - +import org.eclipse.core.internal.resources.mapping.SimpleResourceMapping; +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.resources.mapping.RemoteResourceMappingContext; +import org.eclipse.core.resources.mapping.ResourceMapping; +import org.eclipse.core.resources.mapping.ResourceMappingContext; +import org.eclipse.core.resources.mapping.ResourceTraversal; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.MultiStatus; +import org.eclipse.jface.util.Util; import org.eclipse.osgi.util.NLS; import org.eclipse.team.core.TeamException; import org.eclipse.team.core.TeamStatus; import org.eclipse.team.core.diff.IDiff; -import org.eclipse.team.core.diff.IDiffVisitor; import org.eclipse.team.core.diff.IThreeWayDiff; import org.eclipse.team.core.mapping.IResourceDiffTree; import org.eclipse.team.core.mapping.provider.ResourceDiffTree; @@ -60,23 +71,7 @@ import org.eclipse.team.internal.core.mapping.SyncInfoToDiffConverter; import org.eclipse.team.tests.ccvs.core.EclipseTest; import org.eclipse.team.tests.ccvs.core.TeamCVSTestPlugin; -import org.eclipse.core.internal.resources.mapping.SimpleResourceMapping; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; - -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.resources.mapping.RemoteResourceMappingContext; -import org.eclipse.core.resources.mapping.ResourceMapping; -import org.eclipse.core.resources.mapping.ResourceMappingContext; -import org.eclipse.core.resources.mapping.ResourceTraversal; - -import org.eclipse.jface.util.Util; +import junit.framework.Test; /** * Tests for using CVS operations with deep and shallow resource mappings. @@ -166,21 +161,18 @@ public class ResourceMapperTests extends EclipseTest { private void assertAdded(ResourceMapping mapping, final SyncInfoTree set) throws CoreException { // Assert that all resources covered by the mapping are now under version control (i.e. are in-sync) // Remove the resources contained in the mapping from the set of unadded resources. - visit(mapping, ResourceMappingContext.LOCAL_CONTEXT, new IResourceVisitor() { - public boolean visit(IResource resource) throws CoreException { - ICVSResource cvsResource = getCVSResource(resource); - assertTrue("Resource was not added but should have been: " + resource.getFullPath(), - (cvsResource.isManaged() - || (cvsResource.isFolder() - && ((ICVSFolder)cvsResource).isCVSFolder()))); - set.remove(resource); - return true; - } - }); + visit(mapping, ResourceMappingContext.LOCAL_CONTEXT, (IResourceVisitor) resource -> { + ICVSResource cvsResource = getCVSResource(resource); + assertTrue("Resource was not added but should have been: " + resource.getFullPath(), + (cvsResource.isManaged() + || (cvsResource.isFolder() + && ((ICVSFolder)cvsResource).isCVSFolder()))); + set.remove(resource); + return true; + }); // Assert that the remaining unadded resources are still unadded SyncInfo[] infos = set.getSyncInfos(); - for (int i = 0; i < infos.length; i++) { - SyncInfo info = infos[i]; + for (SyncInfo info : infos) { ICVSResource cvsResource = getCVSResource(info.getLocal()); assertTrue("Resource was added but should not have been: " + info.getLocal().getFullPath(), !cvsResource.isManaged()); } @@ -194,12 +186,12 @@ public class ResourceMapperTests extends EclipseTest { // First, make sure the proper resources are tagged in the repo assertTagged(mapping, branch); // Now make sure the proper local files are tagged - final Map remotes = getTaggedRemoteFilesByPath(mapping, branch); - final Map locals = getTaggedLocalFilesByPath(mapping, branch); - for (Iterator iter = remotes.keySet().iterator(); iter.hasNext();) { - String key = (String)iter.next(); + final Map<String, ICVSResource> remotes = getTaggedRemoteFilesByPath(mapping, branch); + final Map<String, ICVSFile> locals = getTaggedLocalFilesByPath(mapping, branch); + for (Iterator<String> iter = remotes.keySet().iterator(); iter.hasNext();) { + String key = iter.next(); ICVSRemoteFile remote = (ICVSRemoteFile)remotes.get(key); - ICVSFile local = (ICVSFile)locals.get(key); + ICVSFile local = locals.get(key); assertNotNull("Remotely tagged resource was not tagged locally: " + remote.getRepositoryRelativePath(), local); assertEquals(local.getIResource().getParent().getFullPath(), remote, local, false, false /* include tags */); assertEquals("Remotely tagged resource was not tagged locally: " + remote.getRepositoryRelativePath(), branch, local.getSyncInfo().getTag()); @@ -207,89 +199,81 @@ public class ResourceMapperTests extends EclipseTest { iter.remove(); } // The remote map should be empty after traversal - for (Iterator iter = remotes.keySet().iterator(); iter.hasNext();) { - String path = (String) iter.next(); + for (Object element : remotes.keySet()) { + String path = (String) element; fail("Remote file " + path + " was tagged remotely but not locally."); } // The local map should be empty after traversal - for (Iterator iter = locals.keySet().iterator(); iter.hasNext();) { - String path = (String) iter.next(); + for (Object element : locals.keySet()) { + String path = (String) element; fail("Local file " + path + " was tagged locally but not remotely."); } } private void assertTagged(ResourceMapping mapping, final CVSTag tag) throws CoreException { - final Map tagged = getTaggedRemoteFilesByPath(mapping, tag); + final Map<String, ICVSResource> tagged = getTaggedRemoteFilesByPath(mapping, tag); // Visit all the resources in the traversal and ensure that they are tagged - visit(mapping, ResourceMappingContext.LOCAL_CONTEXT, new IResourceVisitor() { - public boolean visit(IResource resource) throws CoreException { - if (resource.getType() == IResource.FILE) { - ICVSRemoteFile file = popRemote(resource, tagged); - assertNotNull("Resource was not tagged: " + resource.getFullPath(), file); - } - return true; - } - }); + visit(mapping, ResourceMappingContext.LOCAL_CONTEXT, (IResourceVisitor) resource -> { + if (resource.getType() == IResource.FILE) { + ICVSRemoteFile file = popRemote(resource, tagged); + assertNotNull("Resource was not tagged: " + resource.getFullPath(), file); + } + return true; + }); - // The tagged map should be empty after traversal - for (Iterator iter = tagged.keySet().iterator(); iter.hasNext();) { - String path = (String) iter.next(); + for (String path : tagged.keySet()) { fail("Remote file " + path + " was tagged but should not have been."); - } + } } - private Map getTaggedLocalFilesByPath(ResourceMapping mapping, final CVSTag branch) throws CoreException { - final Map tagged = new HashMap(); + private Map<String, ICVSFile> getTaggedLocalFilesByPath(ResourceMapping mapping, final CVSTag branch) + throws CoreException { + final Map<String, ICVSFile> tagged = new HashMap<>(); IProject[] projects = mapping.getProjects(); - for (int i = 0; i < projects.length; i++) { - IProject project = projects[i]; - project.accept(new IResourceVisitor() { - public boolean visit(IResource resource) throws CoreException { - if (resource.getType() == IResource.FILE) { - ICVSFile file = (ICVSFile)getCVSResource(resource); - ResourceSyncInfo info = file.getSyncInfo(); - if (info != null && info.getTag() != null && info.getTag().equals(branch)) { - tagged.put(file.getRepositoryRelativePath(), file); - } - } - return true; - } - }); + for (IProject project : projects) { + project.accept(resource -> { + if (resource.getType() == IResource.FILE) { + ICVSFile file = (ICVSFile)getCVSResource(resource); + ResourceSyncInfo info = file.getSyncInfo(); + if (info != null && info.getTag() != null && info.getTag().equals(branch)) { + tagged.put(file.getRepositoryRelativePath(), file); + } + } + return true; + }); } return tagged; } - private Map getTaggedRemoteFilesByPath(ResourceMapping mapping, final CVSTag tag) throws CVSException { + private Map<String, ICVSResource> getTaggedRemoteFilesByPath(ResourceMapping mapping, final CVSTag tag) + throws CVSException { IProject[] projects = mapping.getProjects(); ICVSResource[] remotes = getRemoteTrees(projects, tag); - final Map tagged = getFilesByPath(remotes); + final Map<String, ICVSResource> tagged = getFilesByPath(remotes); return tagged; } private ICVSResource[] getRemoteTrees(IProject[] projects, CVSTag tag) throws CVSException { - List result = new ArrayList(); - for (int i = 0; i < projects.length; i++) { - IProject project = projects[i]; + List<ICVSResource> result = new ArrayList<>(); + for (IProject project : projects) { RemoteFolderTree tree = RemoteFolderTreeBuilder.buildRemoteTree(getRepository(), project, tag, DEFAULT_MONITOR); result.add(tree); } - return (ICVSResource[]) result.toArray(new ICVSResource[result.size()]); + return result.toArray(new ICVSResource[result.size()]); } - private Map getFilesByPath(ICVSResource[] remotes) throws CVSException { - Map result = new HashMap(); - for (int i = 0; i < remotes.length; i++) { - ICVSResource resource = remotes[i]; + private Map<String, ICVSResource> getFilesByPath(ICVSResource[] remotes) throws CVSException { + Map<String, ICVSResource> result = new HashMap<>(); + for (ICVSResource resource : remotes) { collectFiles(resource, result); } return result; } - private void collectFiles(ICVSResource resource, Map result) throws CVSException { + private void collectFiles(ICVSResource resource, Map<String, ICVSResource> result) throws CVSException { if (resource.isFolder()) { ICVSResource[] members = ((ICVSFolder)resource).members(ICVSFolder.ALL_EXISTING_MEMBERS); - for (int i = 0; i < members.length; i++) { - ICVSResource member = members[i]; + for (ICVSResource member : members) { collectFiles(member, result); } } else { @@ -297,7 +281,7 @@ public class ResourceMapperTests extends EclipseTest { } } - private ICVSRemoteFile popRemote(IResource resource, Map tagged) throws CVSException { + private ICVSRemoteFile popRemote(IResource resource, Map<String, ICVSResource> tagged) throws CVSException { ICVSResource cvsResource = getCVSResource(resource); ICVSRemoteFile remote = (ICVSRemoteFile)tagged.get(cvsResource.getRepositoryRelativePath()); if (remote != null) { @@ -309,25 +293,28 @@ public class ResourceMapperTests extends EclipseTest { private ResourceMapping asResourceMapping(final IResource[] resources, final int depth) { return new ResourceMapping() { private Object object = new Object(); - public Object getModelObject() { + @Override + public Object getModelObject() { return object; } - public IProject[] getProjects() { + @Override + public IProject[] getProjects() { return getProjects(resources); } private IProject[] getProjects(IResource[] resources) { - Set projects = new HashSet(); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + Set<IProject> projects = new HashSet<>(); + for (IResource resource : resources) { projects.add(resource.getProject()); } - return (IProject[]) projects.toArray(new IProject[projects.size()]); + return projects.toArray(new IProject[projects.size()]); } - public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException { + @Override + public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException { return new ResourceTraversal[] { new ResourceTraversal(resources, depth, IResource.NONE) }; } + @Override public String getModelProviderId() { return "org.eclipse.team.tests.cvs.core.modelProvider"; } @@ -336,25 +323,23 @@ public class ResourceMapperTests extends EclipseTest { private void assertUpdate(ResourceMapping mapper, final SyncInfoTree set) throws Exception { final Exception[] exception = new Exception[] { null }; - visit(mapper, new SyncInfoSetTraveralContext(set), new IResourceVisitor() { - public boolean visit(IResource resource) throws CoreException { - SyncInfo info = set.getSyncInfo(resource); - if (info != null) { - set.remove(resource); - try { - // Assert that the local sync info matches the remote info - assertEquals(resource.getParent().getFullPath(), getCVSResource(resource), (ICVSResource)info.getRemote(), false, false); - } catch (CVSException e) { - exception[0] = e; - } catch (CoreException e) { - exception[0] = e; - } catch (IOException e) { - exception[0] = e; - } - } - return true; - } - }); + visit(mapper, new SyncInfoSetTraveralContext(set), (IResourceVisitor) resource -> { + SyncInfo info = set.getSyncInfo(resource); + if (info != null) { + set.remove(resource); + try { + // Assert that the local sync info matches the remote info + assertEquals(resource.getParent().getFullPath(), getCVSResource(resource), (ICVSResource)info.getRemote(), false, false); + } catch (CVSException e1) { + exception[0] = e1; + } catch (CoreException e2) { + exception[0] = e2; + } catch (IOException e3) { + exception[0] = e3; + } + } + return true; + }); if (exception[0] != null) throw exception[0]; // check the the state of the remaining resources has not changed @@ -362,16 +347,14 @@ public class ResourceMapperTests extends EclipseTest { } private void assertCommit(ResourceMapping mapper, final SyncInfoTree set) throws CoreException { - visit(mapper, new SyncInfoSetTraveralContext(set), new IResourceVisitor() { - public boolean visit(IResource resource) throws CoreException { - SyncInfo info = set.getSyncInfo(resource); - if (info != null) { - set.remove(resource); - assertTrue("Committed resource is not in-sync: " + resource.getFullPath(), getSyncInfo(resource).getKind() == SyncInfo.IN_SYNC); - } - return true; - } - }); + visit(mapper, new SyncInfoSetTraveralContext(set), (IResourceVisitor) resource -> { + SyncInfo info = set.getSyncInfo(resource); + if (info != null) { + set.remove(resource); + assertTrue("Committed resource is not in-sync: " + resource.getFullPath(), getSyncInfo(resource).getKind() == SyncInfo.IN_SYNC); + } + return true; + }); // check the the state of the remaining resources has not changed assertUnchanged(set); } @@ -383,8 +366,7 @@ public class ResourceMapperTests extends EclipseTest { //TODO: Need to refresh the subscriber since flush of remote state is deep CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().refresh(set.getResources(), IResource.DEPTH_ZERO, DEFAULT_MONITOR); SyncInfo[] infos = set.getSyncInfos(); - for (int i = 0; i < infos.length; i++) { - SyncInfo info = infos[i]; + for (SyncInfo info : infos) { assertUnchanged(info); } } @@ -416,7 +398,8 @@ public class ResourceMapperTests extends EclipseTest { private SyncInfoTree getUnaddedResource(ResourceMapping mapping) { SyncInfoTree set = getAllOutOfSync(mapping.getProjects()); set.selectNodes(new FastSyncInfoFilter() { - public boolean select(SyncInfo info) { + @Override + public boolean select(SyncInfo info) { try { if (info.getLocal().getType() != IResource.PROJECT && info.getRemote() == null && info.getBase() == null) { ICVSResource resource = getCVSResource(info.getLocal()); @@ -439,44 +422,42 @@ public class ResourceMapperTests extends EclipseTest { private IResourceDiffTree getAllDiffs(IProject[] projects) throws CoreException { final ResourceDiffTree tree = new ResourceDiffTree(); - CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().accept(projects, IResource.DEPTH_INFINITE, new IDiffVisitor() { - public boolean visit(IDiff delta) { - tree.add(delta); - return true; - } + CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().accept(projects, IResource.DEPTH_INFINITE, delta -> { + tree.add(delta); + return true; }); return tree; } private void visit(ResourceMapping mapper, ResourceMappingContext context, IResourceVisitor visitor) throws CoreException { ResourceTraversal[] traversals = mapper.getTraversals(context, null); - for (int i = 0; i < traversals.length; i++) { - ResourceTraversal traversal = traversals[i]; + for (ResourceTraversal traversal : traversals) { visit(traversal, context, visitor); } } private void visit(ResourceTraversal traversal, ResourceMappingContext context, IResourceVisitor visitor) throws CoreException { IResource[] resources = traversal.getResources(); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + for (IResource resource : resources) { visit(resource, visitor, context, traversal.getDepth()); } } - private void visit(IResource resource, IResourceVisitor visitor, ResourceMappingContext context, int depth) throws CoreException { - if (!visitor.visit(resource) || depth == IResource.DEPTH_ZERO || resource.getType() == IResource.FILE) return; - Set members = new HashSet(); - members.addAll(Arrays.asList(((IContainer)resource).members(false))); - if (context instanceof RemoteResourceMappingContext) { - RemoteResourceMappingContext remoteContext = (RemoteResourceMappingContext) context; - members.addAll(Arrays.asList(remoteContext.fetchMembers((IContainer)resource, DEFAULT_MONITOR))); - } - for (Iterator iter = members.iterator(); iter.hasNext();) { - IResource member = (IResource) iter.next(); - visit(member, visitor, context, depth == IResource.DEPTH_ONE ? IResource.DEPTH_ZERO : IResource.DEPTH_INFINITE); - } - } + private void visit(IResource resource, IResourceVisitor visitor, ResourceMappingContext context, int depth) + throws CoreException { + if (!visitor.visit(resource) || depth == IResource.DEPTH_ZERO || resource.getType() == IResource.FILE) + return; + Set<IResource> members = new HashSet<>(); + members.addAll(Arrays.asList(((IContainer) resource).members(false))); + if (context instanceof RemoteResourceMappingContext) { + RemoteResourceMappingContext remoteContext = (RemoteResourceMappingContext) context; + members.addAll(Arrays.asList(remoteContext.fetchMembers((IContainer) resource, DEFAULT_MONITOR))); + } + for (IResource member : members) { + visit(member, visitor, context, + depth == IResource.DEPTH_ONE ? IResource.DEPTH_ZERO : IResource.DEPTH_INFINITE); + } + } private boolean isTimeout(Throwable e) { if (e == null) { @@ -737,8 +718,7 @@ public class ResourceMapperTests extends EclipseTest { private void ensureRemoteCached(IResourceDiffTree tree) { IResource[] resources = tree.getAffectedResources(); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + for (IResource resource : resources) { IDiff node = tree.getDiff(resource); if (node instanceof IThreeWayDiff) { IThreeWayDiff twd = (IThreeWayDiff) node; @@ -758,8 +738,7 @@ public class ResourceMapperTests extends EclipseTest { private void ensureBaseCached(IResourceDiffTree tree, boolean includeOutgoing) throws TeamException, CoreException { IResource[] resources = tree.getAffectedResources(); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + for (IResource resource : resources) { IDiff node = tree.getDiff(resource); if (node instanceof IThreeWayDiff) { IThreeWayDiff twd = (IThreeWayDiff) node; @@ -795,8 +774,7 @@ public class ResourceMapperTests extends EclipseTest { ResourceVariantCache cache = ResourceVariantCache.getCache(CVSProviderPlugin.ID); if (cache != null) { ResourceVariantCacheEntry[] entries = cache.getEntries(); - for (int i = 0; i < entries.length; i++) { - ResourceVariantCacheEntry entry = entries[i]; + for (ResourceVariantCacheEntry entry : entries) { entry.dispose(); } } diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/SyncInfoSetTraveralContext.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/SyncInfoSetTraveralContext.java index c406764e7..2345e6638 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/SyncInfoSetTraveralContext.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/SyncInfoSetTraveralContext.java @@ -13,14 +13,24 @@ *******************************************************************************/ package org.eclipse.team.tests.ccvs.core.mappings; -import java.util.*; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; -import org.eclipse.core.resources.*; +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IStorage; +import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.resources.mapping.RemoteResourceMappingContext; import org.eclipse.core.resources.mapping.ResourceTraversal; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.team.core.synchronize.*; +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.core.variants.IResourceVariant; /** @@ -41,17 +51,12 @@ public class SyncInfoSetTraveralContext extends RemoteResourceMappingContext { return set.getSyncInfo(file); } - /* (non-Javadoc) - * @see org.eclipse.core.resources.mapping.ITraversalContext#contentDiffers(org.eclipse.core.resources.IFile, org.eclipse.core.runtime.IProgressMonitor) - */ public boolean contentDiffers(IFile file, IProgressMonitor monitor) { return getSyncInfo(file) != null; } - /* (non-Javadoc) - * @see org.eclipse.core.resources.mapping.ITraversalContext#fetchContents(org.eclipse.core.resources.IFile, org.eclipse.core.runtime.IProgressMonitor) - */ - public IStorage fetchRemoteContents(IFile file, IProgressMonitor monitor) throws CoreException { + @Override + public IStorage fetchRemoteContents(IFile file, IProgressMonitor monitor) throws CoreException { SyncInfo info = getSyncInfo(file); if (info == null) return null; @@ -61,34 +66,36 @@ public class SyncInfoSetTraveralContext extends RemoteResourceMappingContext { return remote.getStorage(monitor); } - /* (non-Javadoc) - * @see org.eclipse.core.resources.mapping.ITraversalContext#fetchMembers(org.eclipse.core.resources.IContainer, org.eclipse.core.runtime.IProgressMonitor) - */ - public IResource[] fetchMembers(IContainer container, IProgressMonitor monitor) throws CoreException { - Set members = new HashSet(); + @Override + public IResource[] fetchMembers(IContainer container, IProgressMonitor monitor) throws CoreException { + Set<IResource> members = new HashSet<>(); members.addAll(Arrays.asList(container.members(false))); members.addAll(Arrays.asList(set.members(container))); - return (IResource[]) members.toArray(new IResource[members.size()]); + return members.toArray(new IResource[members.size()]); } - public void refresh(ResourceTraversal[] traversals, int flags, IProgressMonitor monitor) throws CoreException { + @Override + public void refresh(ResourceTraversal[] traversals, int flags, IProgressMonitor monitor) throws CoreException { // Do nothing } + @Override public boolean isThreeWay() { - for (Iterator iter = set.iterator(); iter.hasNext();) { - SyncInfo info = (SyncInfo) iter.next(); + for (Iterator<SyncInfo> iter = set.iterator(); iter.hasNext();) { + SyncInfo info = iter.next(); return info.getComparator().isThreeWay(); } return true; } + @Override public boolean hasRemoteChange(IResource resource, IProgressMonitor monitor) throws CoreException { SyncInfo info = set.getSyncInfo(resource); int direction = SyncInfo.getDirection(info.getKind()); return direction == SyncInfo.INCOMING || direction == SyncInfo.CONFLICTING; } + @Override public boolean hasLocalChange(IResource resource, IProgressMonitor monitor) throws CoreException { SyncInfo info = set.getSyncInfo(resource); int direction = SyncInfo.getDirection(info.getKind()); @@ -96,6 +103,7 @@ public class SyncInfoSetTraveralContext extends RemoteResourceMappingContext { } + @Override public IStorage fetchBaseContents(IFile file, IProgressMonitor monitor) throws CoreException { SyncInfo info = getSyncInfo(file); if (info == null) @@ -106,6 +114,7 @@ public class SyncInfoSetTraveralContext extends RemoteResourceMappingContext { return base.getStorage(monitor); } + @Override public IProject[] getProjects() { return ResourcesPlugin.getWorkspace().getRoot().getProjects(); } diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/TestModelProvider.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/TestModelProvider.java index 978afd638..e39a345be 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/TestModelProvider.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/TestModelProvider.java @@ -19,13 +19,15 @@ import org.eclipse.team.core.mapping.ResourceMappingMerger; public class TestModelProvider extends ModelProvider { - public Object getAdapter(Class adapter) { + @Override + public <T> T getAdapter(Class<T> adapter) { if (adapter == IResourceMappingMerger.class) { - return new ResourceMappingMerger() { + return adapter.cast(new ResourceMappingMerger() { + @Override protected ModelProvider getModelProvider() { return TestModelProvider.this; - } - }; + } + }); } return super.getAdapter(adapter); } diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelFile.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelFile.java index e5263acaa..a9a41e328 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelFile.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelFile.java @@ -38,18 +38,20 @@ public class ModelFile extends ModelObject { IStorage storage) { if (storage == null) return new IResource[0]; - List result = new ArrayList(); - return (IResource[]) result.toArray(new IResource[result.size()]); + List<IResource> result = new ArrayList<>(); + return result.toArray(new IResource[result.size()]); } public ModelFile(IFile file) { super(file); } + @Override public ModelObject[] getChildren() throws CoreException { return null; } + @Override public String getName() { String name = super.getName(); int index = name.lastIndexOf("."); diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelProject.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelProject.java index aa953be56..731e09963 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelProject.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/model/ModelProject.java @@ -37,12 +37,12 @@ public class ModelProject extends ModelObject { throws CoreException { IProjectDescription description = project.getDescription(); String[] natureIds = description.getNatureIds(); - List result = new ArrayList(); - for (int i = 0; i < natureIds.length; i++) { - result.add(natureIds[i]); + List<String> result = new ArrayList<>(); + for (String natureId : natureIds) { + result.add(natureId); } result.add(ModelNature.NATURE_ID); - description.setNatureIds((String[]) result.toArray(new String[result + description.setNatureIds(result.toArray(new String[result .size()])); project.setDescription(description, monitor); } @@ -55,11 +55,11 @@ public class ModelProject extends ModelObject { return (IContainer) getResource(); } + @Override public ModelObject[] getChildren() throws CoreException { IResource[] members = getContainer().members(); - List result = new ArrayList(); - for (int i = 0; i < members.length; i++) { - IResource resource = members[i]; + List<ModelObject> result = new ArrayList<>(); + for (IResource resource : members) { if (ModelFile.isModFile(resource)) { result.add(new ModelFile((IFile) resource)); } else if (resource instanceof IProject @@ -67,7 +67,7 @@ public class ModelProject extends ModelObject { result.add(new ModelProject((IProject) resource)); } } - return (ModelObject[]) result.toArray(new ModelObject[result.size()]); + return result.toArray(new ModelObject[result.size()]); } } diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java index 395fbc03e..ee22b33aa 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java @@ -19,8 +19,6 @@ import java.util.Date; import java.util.HashMap; import java.util.Map; -import junit.framework.Test; - import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; @@ -54,6 +52,8 @@ import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; import org.eclipse.team.internal.ccvs.ui.ICVSUIConstants; import org.eclipse.team.tests.ccvs.core.EclipseTest; +import junit.framework.Test; + /* * This class tests both the CVSProvider and the CVSTeamProvider */ @@ -386,7 +386,7 @@ public class CVSProviderTest extends EclipseTest { assertHasKSubstOption(project, "added.xtxt", CVSProviderPlugin.DEFAULT_TEXT_KSUBST_OPTION); // change keyword substitution - Map map = new HashMap(); + Map<IFile, KSubstOption> map = new HashMap<>(); map.put(project.getFile("binary.xbin"), ksubst); map.put(project.getFile("added.xbin"), ksubst); map.put(project.getFile("text.xtxt"), ksubst); @@ -434,7 +434,7 @@ public class CVSProviderTest extends EclipseTest { assertHasKSubstOption(project, "dummy", Command.KSUBST_BINARY); // change keyword substitution - Map map = new HashMap(); + Map<IFile, KSubstOption> map = new HashMap<>(); map.put(project.getFile("dummy"), ksubst); // change from binary to text should commit a new file with @@ -515,7 +515,7 @@ public class CVSProviderTest extends EclipseTest { setContentsAndEnsureModified(project.getFile("a.txt"), "line 1"); setContentsAndEnsureModified(project.getFile("b.txt"), ("line 1" + EOL + "line 2" + EOL + "line3")); - Map kMode = new HashMap(); + Map<IFile, KSubstOption> kMode = new HashMap<>(); kMode.put(project.getFile("a.txt"), Command.KSUBST_TEXT); kMode.put(project.getFile("b.txt"), Command.KSUBST_TEXT); getProvider(project).setKeywordSubstitution(kMode, "", null); diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ConcurrencyTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ConcurrencyTests.java index 73c5aee6f..019382a06 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ConcurrencyTests.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ConcurrencyTests.java @@ -53,7 +53,7 @@ public class ConcurrencyTests extends EclipseTest { public void testBackgroundMemberFetch() throws CoreException, InvocationTargetException, InterruptedException { IProject project = createProject("testBackgroundMemberFetch", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt", "folder2/folder3/", "folder2/folder3/b.txt", "folder2/folder3/c.txt"}); ICVSRemoteFolder folder = (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project); - final List result = new ArrayList(); + final List<Object> result = new ArrayList<>(); final boolean[] done = new boolean[] { false }; IElementCollector collector = new IElementCollector() { public void add(Object element, IProgressMonitor monitor) { @@ -83,7 +83,7 @@ public class ConcurrencyTests extends EclipseTest { } } assertTrue(result.size() == project.members().length); - for (Iterator iter = result.iterator(); iter.hasNext();) { + for (Iterator<Object> iter = result.iterator(); iter.hasNext();) { ICVSRemoteResource remote = (ICVSRemoteResource) iter.next(); IResource local = project.findMember(remote.getName()); assertNotNull(local); diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ImportTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ImportTest.java index c3ff6aaf9..ac5cbb540 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ImportTest.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ImportTest.java @@ -61,17 +61,17 @@ public class ImportTest extends EclipseTest { // Assert that the two containers have equal contents protected void assertEquals(IContainer container1, IContainer container2) throws CoreException { assertEquals(container1.getName(), container2.getName()); - List members1 = new ArrayList(); + List<IResource> members1 = new ArrayList<>(); members1.addAll(Arrays.asList(container1.members())); members1.remove(container1.findMember("CVS")); - List members2 = new ArrayList(); + List<IResource> members2 = new ArrayList<>(); members2.addAll(Arrays.asList(container2.members())); members2.remove(container2.findMember("CVS")); assertTrue(members1.size() == members2.size()); for (int i=0;i<members1.size();i++) { - IResource member1 = (IResource)members1.get(i); + IResource member1 = members1.get(i); IResource member2 = container2.findMember(member1.getName()); assertNotNull(member2); assertEquals(member1, member2); @@ -87,19 +87,19 @@ public class ImportTest extends EclipseTest { // Assert that the two projects have equal contents ignoreing the project name // and the .vcm_meta file protected void assertEquals(IProject container1, IProject container2) throws CoreException { - List members1 = new ArrayList(); + List<IResource> members1 = new ArrayList<>(); members1.addAll(Arrays.asList(container1.members())); members1.remove(container1.findMember(".project")); members1.remove(container1.findMember("CVS")); - List members2 = new ArrayList(); + List<IResource> members2 = new ArrayList<>(); members2.addAll(Arrays.asList(container2.members())); members2.remove(container2.findMember(".project")); members2.remove(container2.findMember("CVS")); assertTrue("Number of children differs for " + container1.getFullPath(), members1.size() == members2.size()); for (int i=0;i<members1.size();i++) { - IResource member1 = (IResource)members1.get(i); + IResource member1 = members1.get(i); IResource member2 = container2.findMember(member1.getName()); assertNotNull(member2); assertEquals(member1, member2); diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/IsModifiedTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/IsModifiedTests.java index 0e64a8140..799187e35 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/IsModifiedTests.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/IsModifiedTests.java @@ -21,9 +21,15 @@ import java.util.List; import java.util.Map; import java.util.Set; -import junit.framework.Test; -import junit.framework.TestSuite; - +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.jface.util.Util; import org.eclipse.team.core.TeamException; import org.eclipse.team.internal.ccvs.core.CVSException; import org.eclipse.team.internal.ccvs.core.ICVSFile; @@ -37,17 +43,8 @@ import org.eclipse.team.tests.ccvs.core.CVSTestSetup; import org.eclipse.team.tests.ccvs.core.EclipseTest; import org.eclipse.team.tests.ccvs.core.TeamCVSTestPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; - -import org.eclipse.jface.util.Util; +import junit.framework.Test; +import junit.framework.TestSuite; /** * Test isModified on file, folders and projects. @@ -57,10 +54,10 @@ public class IsModifiedTests extends EclipseTest { Set previouslyModified = new HashSet(); Map changedResources = new HashMap(); IResourceStateChangeListener listener = new IResourceStateChangeListener() { + @Override public void resourceSyncInfoChanged(IResource[] changedResources) { try { - for (int i = 0; i < changedResources.length; i++) { - IResource resource = changedResources[i]; + for (IResource resource : changedResources) { ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource); recordModificationState(cvsResource); recordParents(cvsResource); @@ -72,15 +69,18 @@ public class IsModifiedTests extends EclipseTest { fail(e.getMessage()); } } + @Override public void externalSyncInfoChange(IResource[] changedResources) { resourceSyncInfoChanged(changedResources); } private void recordChildren(ICVSFolder folder) { try { folder.accept(new ICVSResourceVisitor() { + @Override public void visitFile(ICVSFile file) throws CVSException { recordModificationState(file); } + @Override public void visitFolder(ICVSFolder folder) throws CVSException { recordModificationState(folder); folder.acceptChildren(this); @@ -98,10 +98,10 @@ public class IsModifiedTests extends EclipseTest { private void recordModificationState(ICVSResource cvsResource) throws CVSException { IsModifiedTests.this.changedResources.put(cvsResource.getIResource(), cvsResource.isModified(null) ? Boolean.TRUE : Boolean.FALSE); } + @Override public void resourceModified(IResource[] changedResources) { try { - for (int i = 0; i < changedResources.length; i++) { - IResource resource = changedResources[i]; + for (IResource resource : changedResources) { ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource); IsModifiedTests.this.changedResources.put(resource, cvsResource.isModified(null) ? Boolean.TRUE : Boolean.FALSE); recordParents(cvsResource); @@ -113,8 +113,10 @@ public class IsModifiedTests extends EclipseTest { fail(e.getMessage()); } } + @Override public void projectConfigured(IProject project) { } + @Override public void projectDeconfigured(IProject project) { } }; @@ -146,6 +148,7 @@ public class IsModifiedTests extends EclipseTest { /** * @see junit.framework.TestCase#setUp() */ + @Override protected void setUp() throws Exception { super.setUp(); previouslyModified.clear(); @@ -156,6 +159,7 @@ public class IsModifiedTests extends EclipseTest { /** * @see junit.framework.TestCase#tearDown() */ + @Override protected void tearDown() throws Exception { previouslyModified.clear(); changedResources.clear(); @@ -169,19 +173,20 @@ public class IsModifiedTests extends EclipseTest { */ private void assertModificationState(IContainer container, String[] resources, final boolean listedResourcesShouldBeModified) throws CVSException { final ICVSFolder rootFolder = CVSWorkspaceRoot.getCVSFolderFor(container); - final List resourceList = new ArrayList(); + final List<Path> resourceList = new ArrayList<>(); final Set modifiedResources = new HashSet(); if (resources != null) { - for (int i = 0; i < resources.length; i++) { - String string = resources[i]; + for (String string : resources) { resourceList.add(new Path(string)); } } waitForIgnoreFileHandling(); rootFolder.accept(new ICVSResourceVisitor() { + @Override public void visitFile(ICVSFile file) throws CVSException { assertModificationState(file); } + @Override public void visitFolder(ICVSFolder folder) throws CVSException { // find the deepest mistake folder.acceptChildren(this); @@ -238,6 +243,7 @@ public class IsModifiedTests extends EclipseTest { * * @see org.eclipse.team.tests.ccvs.core.EclipseTest#createProject(java.lang.String, java.lang.String) */ + @Override protected IProject createProject(String prefix, String[] resources) throws CoreException, TeamException { IProject project = super.createProject(prefix, resources); assertModificationState(project, null, true); diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/RepositoryRootTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/RepositoryRootTest.java index 0340a6fab..66e6d126e 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/RepositoryRootTest.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/RepositoryRootTest.java @@ -17,8 +17,6 @@ import java.util.Arrays; import java.util.Date; import java.util.List; -import junit.framework.Test; - import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; @@ -34,11 +32,14 @@ import org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager; import org.eclipse.team.internal.ccvs.ui.repo.RepositoryRoot; import org.eclipse.team.tests.ccvs.core.EclipseTest; +import junit.framework.Test; + public class RepositoryRootTest extends EclipseTest { private RepositoryRoot repositoryRoot; private RepositoryManager repositoryManager; + @Override protected void setUp() throws Exception { super.setUp(); repositoryManager = CVSUIPlugin.getPlugin().getRepositoryManager(); @@ -53,9 +54,9 @@ public class RepositoryRootTest extends EclipseTest { private void clearRepositoryRootCache() { String remotePaths[] = repositoryRoot.getKnownRemotePaths(); - for (int i = 0; i < remotePaths.length; i++) { - repositoryRoot.removeTags(remotePaths[i], - repositoryRoot.getAllKnownTags(remotePaths[i])); + for (String remotePath : remotePaths) { + repositoryRoot.removeTags(remotePath, + repositoryRoot.getAllKnownTags(remotePath)); } assertEquals("Repository cache was not cleaned.", 0, repositoryRoot.getAllKnownTags().length); @@ -85,21 +86,21 @@ public class RepositoryRootTest extends EclipseTest { return project; } - private void assertTags(List knownTags, CVSTag[] tagsToHave, + private void assertTags(List<CVSTag> knownTags, CVSTag[] tagsToHave, CVSTag[] tagsNotToHave) { - for (int i = 0; i < tagsToHave.length; i++) { - assertTrue("Missing tag " + tagsToHave[i].getName(), - knownTags.contains(tagsToHave[i])); + for (CVSTag element : tagsToHave) { + assertTrue("Missing tag " + element.getName(), + knownTags.contains(element)); } - for (int i = 0; i < tagsNotToHave.length; i++) { - assertFalse("Extraneous tag " + tagsNotToHave[i].getName(), - knownTags.contains(tagsNotToHave[i])); + for (CVSTag element : tagsNotToHave) { + assertFalse("Extraneous tag " + element.getName(), + knownTags.contains(element)); } } private void assertProjectTags(CVSCacheTestData data) throws CVSException { // Root should contain all known tags - List knownTags = Arrays.asList(repositoryRoot.getAllKnownTags()); + List<CVSTag> knownTags = Arrays.asList(repositoryRoot.getAllKnownTags()); assertTags(knownTags, new CVSTag[] { data.branch_1, data.branch_2, data.branch_3, data.version_1, data.version_2, data.version_3 }, @@ -181,7 +182,7 @@ public class RepositoryRootTest extends EclipseTest { refreshTags(data.project2); assertProjectTags(data); // verify that parent module has tags from both projects - List knownTags = Arrays.asList(repositoryManager + List<CVSTag> knownTags = Arrays.asList(repositoryManager .getKnownTags(submoduleFolder)); assertTags(knownTags, new CVSTag[] { data.branch_1, data.branch_2, data.branch_3, @@ -218,7 +219,7 @@ public class RepositoryRootTest extends EclipseTest { assertProjectTags(data); // verify that parent modules have tags from subordinate project, but // not the other project - List knownTags = Arrays.asList(repositoryManager + List<CVSTag> knownTags = Arrays.asList(repositoryManager .getKnownTags(submoduleFolder1)); assertTags(knownTags, new CVSTag[] { data.branch_1, data.branch_2, data.version_1, data.version_2 }, new CVSTag[] { data.branch_3, @@ -284,7 +285,8 @@ public class RepositoryRootTest extends EclipseTest { subProject2Branch, true); // check if subProjects have tags from superProject but not tags from // each other, check if superProject has tags from all subProjects - List knownTags = Arrays.asList(repositoryManager + List<CVSTag> knownTags = Arrays + .asList(repositoryManager .getKnownTags(CVSWorkspaceRoot.getCVSFolderFor(superProject))); assertTags(knownTags, new CVSTag[] { superProjectBranch, superProjectVersion, subProject1Branch, subProject1Version, @@ -334,7 +336,7 @@ public class RepositoryRootTest extends EclipseTest { makeBranch(new IResource[] { project }, version1, branch1, true); // verify if project's tags are known for subfolder ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(folder); - List knownTags = Arrays.asList(repositoryManager + List<CVSTag> knownTags = Arrays.asList(repositoryManager .getKnownTags(cvsFolder)); assertTags(knownTags, new CVSTag[] { branch1, version1 }, new CVSTag[0]); // verify if removing tags from subfolder is correctly handled @@ -383,10 +385,9 @@ public class RepositoryRootTest extends EclipseTest { // cache should contain branches from auto refresh file, but no branches // from other files - List knownTags = Arrays.asList(repositoryManager - .getKnownTags(CVSWorkspaceRoot.getCVSFolderFor(project))); - assertTags(knownTags, new CVSTag[] { branch1, version1 }, new CVSTag[] { - branch2, version2 }); + List<CVSTag> knownTags = Arrays + .asList(repositoryManager.getKnownTags(CVSWorkspaceRoot.getCVSFolderFor(project))); + assertTags(knownTags, new CVSTag[] { branch1, version1 }, new CVSTag[] { branch2, version2 }); } public void testProjectWithNoTags() throws CoreException { diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java index cf7cd1d33..4466b2304 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java @@ -65,7 +65,7 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { String message = messages[i]; ChangeSetDiffNode node = getCommitSetFor(root, message); assertNotNull("The commit set for '" + message + "' is not in the sync view", node); - List filesInSet = new ArrayList(); + List<IResource> filesInSet = new ArrayList<>(); getFileChildren(node, filesInSet); assertTrue("The number of files in the set do not match the expected number", files[i].length == filesInSet.size()); for (int j = 0; j < files[i].length; j++) { @@ -80,14 +80,14 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant); TreeViewer viewer = (TreeViewer)page.getViewer(); Tree tree = viewer.getTree(); - List nodeList = new ArrayList(); + List<ChangeSetDiffNode> nodeList = new ArrayList<>(); nodeList.addAll(Arrays.asList(nodes)); TreeItem[] items = tree.getItems(); removeTreeItemsFromList(nodeList, items); assertTrue("Not all nodes are visible in the view", nodeList.isEmpty()); } - private void removeTreeItemsFromList(List nodeList, TreeItem[] items) { + private void removeTreeItemsFromList(List<?> nodeList, TreeItem[] items) { for (int i = 0; i < items.length; i++) { TreeItem item = items[i]; nodeList.remove(item.getData()); @@ -97,7 +97,7 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { } private ChangeSetDiffNode[] getCheckedInChangeSetNodes(ISynchronizeModelElement root) { - List result = new ArrayList(); + List<ChangeSetDiffNode> result = new ArrayList<>(); IDiffElement[] children = root.getChildren(); for (int i = 0; i < children.length; i++) { IDiffElement element = children[i]; @@ -108,11 +108,11 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { } } } - return (ChangeSetDiffNode[]) result.toArray(new ChangeSetDiffNode[result.size()]); + return result.toArray(new ChangeSetDiffNode[result.size()]); } private ChangeSetDiffNode[] getActiveChangeSetNodes(ISynchronizeModelElement root) { - List result = new ArrayList(); + List<ChangeSetDiffNode> result = new ArrayList<>(); IDiffElement[] children = root.getChildren(); for (int i = 0; i < children.length; i++) { IDiffElement element = children[i]; @@ -123,13 +123,13 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { } } } - return (ChangeSetDiffNode[]) result.toArray(new ChangeSetDiffNode[result.size()]); + return result.toArray(new ChangeSetDiffNode[result.size()]); } /** * Adds IFiles to the list */ - private void getFileChildren(ISynchronizeModelElement node, List list) { + private void getFileChildren(ISynchronizeModelElement node, List<IResource> list) { IResource resource = node.getResource(); if (resource != null && resource.getType() == IResource.FILE) { list.add(resource); @@ -260,9 +260,9 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { } private IResource[] getOutOfSyncResources(ISynchronizeModelElement element) { - ArrayList arrayList = new ArrayList(); + ArrayList<SyncInfo> arrayList = new ArrayList<>(); getOutOfSync(element, arrayList); - SyncInfo[] infos = (SyncInfo[]) arrayList.toArray(new SyncInfo[arrayList.size()]); + SyncInfo[] infos = arrayList.toArray(new SyncInfo[arrayList.size()]); IResource[] resources = getResources(infos); return resources; } @@ -275,7 +275,7 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { return resources; } - private void getOutOfSync(ISynchronizeModelElement node, List list) { + private void getOutOfSync(ISynchronizeModelElement node, List<SyncInfo> list) { SyncInfo info = getSyncInfo(node); if (info != null && info.getKind() != SyncInfo.IN_SYNC) { list.add(info); @@ -332,12 +332,12 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { */ private void assertInRootSet(IResource[] resources) throws CoreException { ISynchronizeModelElement[] nodes = getNonChangeSetRoots(getModelRoot(((SubscriberChangeSetManager)getActiveChangeSetManager()).getSubscriber())); - List list = new ArrayList(); + List<SyncInfo> list = new ArrayList<>(); for (int i = 0; i < nodes.length; i++) { ISynchronizeModelElement element = nodes[i]; getOutOfSync(element, list); } - IResource[] outOfSync = getResources((SyncInfo[]) list.toArray(new SyncInfo[list.size()])); + IResource[] outOfSync = getResources(list.toArray(new SyncInfo[list.size()])); // Only require that the expected resources are there but allow extra. // This is required because of junk left over from previous tests. // This means there is a bug somewhere. But where? @@ -346,15 +346,15 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { } private ISynchronizeModelElement[] getNonChangeSetRoots(ISynchronizeModelElement modelRoot) { - List result = new ArrayList(); + List<ISynchronizeModelElement> result = new ArrayList<>(); IDiffElement[] children = modelRoot.getChildren(); for (int i = 0; i < children.length; i++) { IDiffElement element = children[i]; if (!(element instanceof ChangeSetDiffNode)) { - result.add(element); + result.add((ISynchronizeModelElement) element); } } - return (ISynchronizeModelElement[]) result.toArray(new ISynchronizeModelElement[result.size()]); + return result.toArray(new ISynchronizeModelElement[result.size()]); } public void testSimpleCommit() throws CoreException { 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 index 572a003f7..23ae57dbc 100644 --- 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 @@ -34,7 +34,7 @@ import org.eclipse.team.tests.ccvs.ui.ModelParticipantSyncInfoSource; public abstract class CVSSyncSubscriberTest extends EclipseTest { private ISubscriberChangeListener listener; - private List accumulatedTeamDeltas = new ArrayList(); + private List<ISubscriberChangeEvent> accumulatedTeamDeltas = new ArrayList<>(); private static SyncInfoSource source = new ModelParticipantSyncInfoSource(); public CVSSyncSubscriberTest() { @@ -131,13 +131,14 @@ public abstract class CVSSyncSubscriberTest extends EclipseTest { } public static class ResourceCondition { + @SuppressWarnings("unused") 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(); + final Set<IResource> affected = new HashSet<>(); for (int i = 0; i < resources.length; i++) { IResource resource = resources[i]; if (resource.exists() || resource.isPhantom()) { @@ -159,11 +160,11 @@ public abstract class CVSSyncSubscriberTest extends EclipseTest { } } } - return (IResource[]) affected.toArray(new IResource[affected.size()]); + return affected.toArray(new IResource[affected.size()]); } protected IResource[] collectAncestors(IResource[] resources, ResourceCondition condition) throws CoreException, TeamException { - Set affected = new HashSet(); + Set<IResource> affected = new HashSet<>(); for (int i = 0; i < resources.length; i++) { IResource resource = resources[i]; while (resource.getType() != IResource.ROOT) { @@ -175,12 +176,12 @@ public abstract class CVSSyncSubscriberTest extends EclipseTest { resource = resource.getParent(); } } - return (IResource[]) affected.toArray(new IResource[affected.size()]); + return affected.toArray(new IResource[affected.size()]); } protected ISubscriberChangeEvent[] deregisterSubscriberListener(Subscriber subscriber) { subscriber.removeListener(listener); - return (ISubscriberChangeEvent[]) accumulatedTeamDeltas.toArray(new SubscriberChangeEvent[accumulatedTeamDeltas.size()]); + return accumulatedTeamDeltas.toArray(new SubscriberChangeEvent[accumulatedTeamDeltas.size()]); } protected ISubscriberChangeListener registerSubscriberListener(Subscriber subscriber) { diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java index 41cc42c21..7b6707aec 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java @@ -20,9 +20,18 @@ import java.util.Arrays; import java.util.HashSet; import java.util.Set; -import junit.framework.Test; -import junit.framework.TestSuite; - +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IProjectDescription; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceVisitor; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Path; +import org.eclipse.jface.util.Util; import org.eclipse.team.core.RepositoryProvider; import org.eclipse.team.core.TeamException; import org.eclipse.team.core.subscribers.ISubscriberChangeEvent; @@ -46,20 +55,8 @@ import org.eclipse.team.tests.ccvs.core.mappings.model.ModelProject; import org.eclipse.team.tests.ccvs.core.mappings.model.mapping.ModelResourceMapping; import org.eclipse.team.tests.ccvs.ui.ModelParticipantSyncInfoSource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceVisitor; -import org.eclipse.core.resources.ResourcesPlugin; - -import org.eclipse.jface.util.Util; +import junit.framework.Test; +import junit.framework.TestSuite; /** * This class tests the CVSWorkspaceSubscriber @@ -91,6 +88,7 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { } + @Override protected boolean isFailOnSyncInfoMismatch() { return CVSTestSetup.FAIL_ON_BAD_DIFF ; } @@ -104,6 +102,7 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { * The shareProject method is invoked when creating new projects. * @see org.eclipse.team.tests.ccvs.core.EclipseTest#shareProject(org.eclipse.core.resources.IProject) */ + @Override protected void shareProject(final IProject project) throws TeamException, CoreException { mapNewProject(project); // Everything should be outgoing addition except he project @@ -120,27 +119,19 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { assertTrue(kind == SyncInfo.IN_SYNC); return; } - rootResource.accept(new IResourceVisitor() { - public boolean visit(IResource resource) throws CoreException { - assertSyncEquals(rootResource.getName(), getSubscriber(), resource, kind); - return true; - } + rootResource.accept((IResourceVisitor) resource -> { + assertSyncEquals(rootResource.getName(), getSubscriber(), resource, kind); + return true; }, depth, true); } private void assertAllSyncEquals(IResource[] resources, int kind, int depth) throws CoreException { - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + for (IResource resource : resources) { assertAllSyncEquals(resource, kind, depth); } } - /* (non-Javadoc) - * - * Override to check that the proper sync state is achieved. - * - * @see org.eclipse.team.tests.ccvs.core.EclipseTest#setContentsAndEnsureModified(org.eclipse.core.resources.IFile) - */ + @Override protected void setContentsAndEnsureModified(IFile file) throws CoreException, TeamException { // The delta will indicate to any interested parties that the sync state of the // file has changed @@ -163,12 +154,11 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { assertSyncEquals(message, getSubscriber(), resource, syncKind); } - /* (non-Javadoc) - * @see org.eclipse.team.tests.ccvs.core.EclipseTest#addResources(org.eclipse.core.resources.IResource[]) - */ + @Override protected void addResources(IResource[] resources) throws TeamException, CVSException, CoreException { // first, get affected children IResource[] affectedChildren = collect(resources, new ResourceCondition() { + @Override public boolean matches(IResource resource) throws TeamException { ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource); return (!cvsResource.isManaged() && !cvsResource.isIgnored()); @@ -176,22 +166,22 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { }, IResource.DEPTH_INFINITE); // also get affected parents IResource[] affectedParents = collectAncestors(resources, new ResourceCondition() { + @Override public boolean matches(IResource resource) throws CoreException, TeamException { if (resource.getType() == IResource.PROJECT) return false; ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource); return (!cvsResource.isManaged() && !cvsResource.isIgnored()); } }); - Set affected = new HashSet(); + Set<IResource> affected = new HashSet<>(); affected.addAll(Arrays.asList(affectedChildren)); affected.addAll(Arrays.asList(affectedParents)); registerSubscriberListener(); super.addResources(resources); ISubscriberChangeEvent[] changes = deregisterSubscriberListener(); - assertSyncChangesMatch(changes, (IResource[]) affected.toArray(new IResource[affected.size()])); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + assertSyncChangesMatch(changes, affected.toArray(new IResource[affected.size()])); + for (IResource resource : resources) { if (resource.getType() == IResource.FILE) { assertSyncEquals("Add", resource, SyncInfo.OUTGOING | SyncInfo.ADDITION); } else { @@ -209,14 +199,14 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { /* (non-Javadoc) * @see org.eclipse.team.tests.ccvs.core.EclipseTest#deleteResources(org.eclipse.core.resources.IResource[]) */ + @Override protected void deleteResources(IResource[] resources) throws TeamException, CoreException { IResource[] affected = collect(resources, new ResourceCondition(), IResource.DEPTH_INFINITE); registerSubscriberListener(); super.deleteResources(resources); ISubscriberChangeEvent[] changes = deregisterSubscriberListener(); assertSyncChangesMatch(changes, affected); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + for (IResource resource : resources) { // After deletion, folders should be in-sync while files should be outgoing deletions if (resource.getType() == IResource.FILE) { assertSyncEquals("Delete", resource, SyncInfo.OUTGOING | SyncInfo.DELETION); @@ -233,8 +223,10 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { /* (non-Javadoc) * @see org.eclipse.team.tests.ccvs.core.EclipseTest#commitResources(org.eclipse.core.resources.IResource[]) */ + @Override protected void commitResources(IResource[] resources, int depth) throws TeamException, CVSException, CoreException { IResource[] affected = collect(resources, new ResourceCondition() { + @Override public boolean matches(IResource resource) throws CoreException, TeamException { ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource); return (!cvsResource.isFolder() && cvsResource.isManaged() && cvsResource.isModified(DEFAULT_MONITOR)); @@ -244,8 +236,7 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { super.commitResources(resources, depth); ISubscriberChangeEvent[] changes = deregisterSubscriberListener(); assertSyncChangesMatch(changes, affected); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + for (IResource resource : resources) { if (resource.exists()) assertSyncEquals("Commit", resource, SyncInfo.IN_SYNC); } @@ -254,8 +245,10 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { /* (non-Javadoc) * @see org.eclipse.team.tests.ccvs.core.EclipseTest#unmanageResources(org.eclipse.core.resources.IResource[]) */ + @Override protected void unmanageResources(IResource[] resources) throws CoreException, TeamException { IResource[] affected = collect(resources, new ResourceCondition() { + @Override public boolean matches(IResource resource) throws CoreException, TeamException { ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource); return (cvsResource.isManaged()); @@ -265,8 +258,7 @@ public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest { super.unmanageResources(resources); ISubscriberChangeEvent[] changes = deregisterSubscriberListener(); assertSyncChangesMatch(changes, affected); - for (int i = 0; i < resources.length; i++) { - IResource resource = resources[i]; + for (IResource resource : resources) { if (resource.exists()) assertSyncEquals("Unmanage", resource, SyncInfo.IN_SYNC); } diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncInfoSource.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncInfoSource.java index 2487ac2ef..02dd4d60a 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncInfoSource.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncInfoSource.java @@ -15,7 +15,6 @@ package org.eclipse.team.tests.ccvs.core.subscriber; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import org.eclipse.compare.structuremergeviewer.IDiffElement; @@ -51,8 +50,8 @@ import junit.framework.AssertionFailedError; public class SyncInfoSource { protected static IProgressMonitor DEFAULT_MONITOR = new NullProgressMonitor(); - protected List mergeSubscribers = new ArrayList(); - protected List compareSubscribers = new ArrayList(); + protected List<CVSMergeSubscriber> mergeSubscribers = new ArrayList<>(); + protected List<CVSCompareSubscriber> compareSubscribers = new ArrayList<>(); public CVSMergeSubscriber createMergeSubscriber(IProject project, CVSTag root, CVSTag branch) { return createMergeSubscriber(project, root, branch, false /*default*/); @@ -74,6 +73,9 @@ public class SyncInfoSource { // Nothing to do } + /** + * @throws TeamException + */ public Subscriber createWorkspaceSubscriber() throws TeamException { return CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber(); } @@ -117,8 +119,7 @@ public class SyncInfoSource { } public void tearDown() { - for (Iterator it = mergeSubscribers.iterator(); it.hasNext(); ) { - CVSMergeSubscriber s = (CVSMergeSubscriber) it.next(); + for (CVSMergeSubscriber s : mergeSubscribers) { s.cancel(); } } @@ -145,7 +146,7 @@ public class SyncInfoSource { // Only test if kinds are equal assertDiffKindEquals(message, subscriber, resource, SyncInfoToDiffConverter.asDiffFlags(syncKind)); } - junit.framework.Assert.assertTrue(message + ": improper sync state for " + resource + " expected " + + Assert.assertTrue(message + ": improper sync state for " + resource + " expected " + SyncInfo.kindToString(kindOther) + " but was " + SyncInfo.kindToString(kind), kind == kindOther); |