From 74333e63b60440be5ff9f591f2203b635e26e3a0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 16 Aug 2011 12:18:39 -0700 Subject: PackWriter: Make want/have actual sets During parsing these are used with contains(). If they are a List type, the contains operation is not efficient. Some callers such as UploadPack often pass a List here, so convert to Set when the type isn't efficient for contains(). Change-Id: If948ae3bf1f46e756bd2d5db14795e12ba7a6207 Signed-off-by: Shawn O. Pearce --- .../eclipse/jgit/storage/file/PackWriterTest.java | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'org.eclipse.jgit.test/tst') diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/PackWriterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/PackWriterTest.java index fb78ec02c7..b609b4766b 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/PackWriterTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/PackWriterTest.java @@ -55,11 +55,11 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.Comparator; -import java.util.LinkedList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.eclipse.jgit.errors.MissingObjectException; import org.eclipse.jgit.junit.JGitTestUtil; @@ -79,8 +79,8 @@ import org.junit.Test; public class PackWriterTest extends SampleDataRepositoryTestCase { - private static final List EMPTY_LIST_OBJECT = Collections - . emptyList(); + private static final Set EMPTY_SET_OBJECT = Collections + . emptySet(); private static final List EMPTY_LIST_REVS = Collections . emptyList(); @@ -162,7 +162,7 @@ public class PackWriterTest extends SampleDataRepositoryTestCase { */ @Test public void testWriteEmptyPack1() throws IOException { - createVerifyOpenPack(EMPTY_LIST_OBJECT, EMPTY_LIST_OBJECT, false, false); + createVerifyOpenPack(EMPTY_SET_OBJECT, EMPTY_SET_OBJECT, false, false); assertEquals(0, writer.getObjectCount()); assertEquals(0, pack.getObjectCount()); @@ -195,7 +195,7 @@ public class PackWriterTest extends SampleDataRepositoryTestCase { final ObjectId nonExisting = ObjectId .fromString("0000000000000000000000000000000000000001"); try { - createVerifyOpenPack(EMPTY_LIST_OBJECT, Collections.nCopies(1, + createVerifyOpenPack(EMPTY_SET_OBJECT, Collections.singleton( nonExisting), false, false); fail("Should have thrown MissingObjectException"); } catch (MissingObjectException x) { @@ -212,7 +212,7 @@ public class PackWriterTest extends SampleDataRepositoryTestCase { public void testIgnoreNonExistingObjects() throws IOException { final ObjectId nonExisting = ObjectId .fromString("0000000000000000000000000000000000000001"); - createVerifyOpenPack(EMPTY_LIST_OBJECT, Collections.nCopies(1, + createVerifyOpenPack(EMPTY_SET_OBJECT, Collections.singleton( nonExisting), false, true); // shouldn't throw anything } @@ -451,10 +451,10 @@ public class PackWriterTest extends SampleDataRepositoryTestCase { // TODO: testWritePackDeltasDepth() private void writeVerifyPack1() throws IOException { - final LinkedList interestings = new LinkedList(); + final HashSet interestings = new HashSet(); interestings.add(ObjectId .fromString("82c6b885ff600be425b4ea96dee75dca255b69e7")); - createVerifyOpenPack(interestings, EMPTY_LIST_OBJECT, false, false); + createVerifyOpenPack(interestings, EMPTY_SET_OBJECT, false, false); final ObjectId expectedOrder[] = new ObjectId[] { ObjectId.fromString("82c6b885ff600be425b4ea96dee75dca255b69e7"), @@ -474,10 +474,10 @@ public class PackWriterTest extends SampleDataRepositoryTestCase { private void writeVerifyPack2(boolean deltaReuse) throws IOException { config.setReuseDeltas(deltaReuse); - final LinkedList interestings = new LinkedList(); + final HashSet interestings = new HashSet(); interestings.add(ObjectId .fromString("82c6b885ff600be425b4ea96dee75dca255b69e7")); - final LinkedList uninterestings = new LinkedList(); + final HashSet uninterestings = new HashSet(); uninterestings.add(ObjectId .fromString("540a36d136cf413e4b064c2b0e0a4db60f77feab")); createVerifyOpenPack(interestings, uninterestings, false, false); @@ -502,10 +502,10 @@ public class PackWriterTest extends SampleDataRepositoryTestCase { } private void writeVerifyPack4(final boolean thin) throws IOException { - final LinkedList interestings = new LinkedList(); + final HashSet interestings = new HashSet(); interestings.add(ObjectId .fromString("82c6b885ff600be425b4ea96dee75dca255b69e7")); - final LinkedList uninterestings = new LinkedList(); + final HashSet uninterestings = new HashSet(); uninterestings.add(ObjectId .fromString("c59759f143fb1fe21c197981df75a7ee00290799")); createVerifyOpenPack(interestings, uninterestings, thin, false); @@ -531,8 +531,8 @@ public class PackWriterTest extends SampleDataRepositoryTestCase { .computeName().name()); } - private void createVerifyOpenPack(final Collection interestings, - final Collection uninterestings, final boolean thin, + private void createVerifyOpenPack(final Set interestings, + final Set uninterestings, final boolean thin, final boolean ignoreMissingUninteresting) throws MissingObjectException, IOException { NullProgressMonitor m = NullProgressMonitor.INSTANCE; -- cgit v1.2.3