diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/notes/LeafBucketTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/notes/LeafBucketTest.java index 7c4069553..881cf9e8f 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/notes/LeafBucketTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/notes/LeafBucketTest.java @@ -57,9 +57,9 @@ public class LeafBucketTest { @Test public void testEmpty() { LeafBucket b = new LeafBucket(0); - assertNull(b.get(id(0x00), null)); - assertNull(b.get(id(0x01), null)); - assertNull(b.get(id(0xfe), null)); + assertNull(b.getNote(id(0x00), null)); + assertNull(b.getNote(id(0x01), null)); + assertNull(b.getNote(id(0xfe), null)); } @Test @@ -72,13 +72,13 @@ public void testParseFive() { b.parseOneEntry(id(0x44), id(0x84)); b.parseOneEntry(id(0x55), id(0x85)); - assertNull(b.get(id(0x01), null)); - assertEquals(id(0x81), b.get(id(0x11), null)); - assertEquals(id(0x82), b.get(id(0x22), null)); - assertEquals(id(0x83), b.get(id(0x33), null)); - assertEquals(id(0x84), b.get(id(0x44), null)); - assertEquals(id(0x85), b.get(id(0x55), null)); - assertNull(b.get(id(0x66), null)); + assertNull(b.getNote(id(0x01), null)); + assertEquals(id(0x81), b.getNote(id(0x11), null).getData()); + assertEquals(id(0x82), b.getNote(id(0x22), null).getData()); + assertEquals(id(0x83), b.getNote(id(0x33), null).getData()); + assertEquals(id(0x84), b.getNote(id(0x44), null).getData()); + assertEquals(id(0x85), b.getNote(id(0x55), null).getData()); + assertNull(b.getNote(id(0x66), null)); } @Test @@ -91,13 +91,13 @@ public void testSetFive_InOrder() throws IOException { assertSame(b, b.set(id(0x44), id(0x84), null)); assertSame(b, b.set(id(0x55), id(0x85), null)); - assertNull(b.get(id(0x01), null)); - assertEquals(id(0x81), b.get(id(0x11), null)); - assertEquals(id(0x82), b.get(id(0x22), null)); - assertEquals(id(0x83), b.get(id(0x33), null)); - assertEquals(id(0x84), b.get(id(0x44), null)); - assertEquals(id(0x85), b.get(id(0x55), null)); - assertNull(b.get(id(0x66), null)); + assertNull(b.getNote(id(0x01), null)); + assertEquals(id(0x81), b.getNote(id(0x11), null).getData()); + assertEquals(id(0x82), b.getNote(id(0x22), null).getData()); + assertEquals(id(0x83), b.getNote(id(0x33), null).getData()); + assertEquals(id(0x84), b.getNote(id(0x44), null).getData()); + assertEquals(id(0x85), b.getNote(id(0x55), null).getData()); + assertNull(b.getNote(id(0x66), null)); } @Test @@ -110,13 +110,13 @@ public void testSetFive_ReverseOrder() throws IOException { assertSame(b, b.set(id(0x22), id(0x82), null)); assertSame(b, b.set(id(0x11), id(0x81), null)); - assertNull(b.get(id(0x01), null)); - assertEquals(id(0x81), b.get(id(0x11), null)); - assertEquals(id(0x82), b.get(id(0x22), null)); - assertEquals(id(0x83), b.get(id(0x33), null)); - assertEquals(id(0x84), b.get(id(0x44), null)); - assertEquals(id(0x85), b.get(id(0x55), null)); - assertNull(b.get(id(0x66), null)); + assertNull(b.getNote(id(0x01), null)); + assertEquals(id(0x81), b.getNote(id(0x11), null).getData()); + assertEquals(id(0x82), b.getNote(id(0x22), null).getData()); + assertEquals(id(0x83), b.getNote(id(0x33), null).getData()); + assertEquals(id(0x84), b.getNote(id(0x44), null).getData()); + assertEquals(id(0x85), b.getNote(id(0x55), null).getData()); + assertNull(b.getNote(id(0x66), null)); } @Test @@ -130,13 +130,13 @@ public void testSetFive_MixedOrder() throws IOException { assertSame(b, b.set(id(0x22), id(0x82), null)); assertSame(b, b.set(id(0x44), id(0x84), null)); - assertNull(b.get(id(0x01), null)); - assertEquals(id(0x81), b.get(id(0x11), null)); - assertEquals(id(0x82), b.get(id(0x22), null)); - assertEquals(id(0x83), b.get(id(0x33), null)); - assertEquals(id(0x84), b.get(id(0x44), null)); - assertEquals(id(0x85), b.get(id(0x55), null)); - assertNull(b.get(id(0x66), null)); + assertNull(b.getNote(id(0x01), null)); + assertEquals(id(0x81), b.getNote(id(0x11), null).getData()); + assertEquals(id(0x82), b.getNote(id(0x22), null).getData()); + assertEquals(id(0x83), b.getNote(id(0x33), null).getData()); + assertEquals(id(0x84), b.getNote(id(0x44), null).getData()); + assertEquals(id(0x85), b.getNote(id(0x55), null).getData()); + assertNull(b.getNote(id(0x66), null)); } @Test @@ -144,18 +144,18 @@ public void testSet_Replace() throws IOException { LeafBucket b = new LeafBucket(0); assertSame(b, b.set(id(0x11), id(0x81), null)); - assertEquals(id(0x81), b.get(id(0x11), null)); + assertEquals(id(0x81), b.getNote(id(0x11), null).getData()); assertSame(b, b.set(id(0x11), id(0x01), null)); - assertEquals(id(0x01), b.get(id(0x11), null)); + assertEquals(id(0x01), b.getNote(id(0x11), null).getData()); } @Test public void testRemoveMissingNote() throws IOException { LeafBucket b = new LeafBucket(0); - assertNull(b.get(id(0x11), null)); + assertNull(b.getNote(id(0x11), null)); assertSame(b, b.set(id(0x11), null, null)); - assertNull(b.get(id(0x11), null)); + assertNull(b.getNote(id(0x11), null)); } @Test @@ -170,13 +170,13 @@ public void testRemoveFirst() throws IOException { assertSame(b, b.set(id(0x11), null, null)); - assertNull(b.get(id(0x01), null)); - assertNull(b.get(id(0x11), null)); - assertEquals(id(0x82), b.get(id(0x22), null)); - assertEquals(id(0x83), b.get(id(0x33), null)); - assertEquals(id(0x84), b.get(id(0x44), null)); - assertEquals(id(0x85), b.get(id(0x55), null)); - assertNull(b.get(id(0x66), null)); + assertNull(b.getNote(id(0x01), null)); + assertNull(b.getNote(id(0x11), null)); + assertEquals(id(0x82), b.getNote(id(0x22), null).getData()); + assertEquals(id(0x83), b.getNote(id(0x33), null).getData()); + assertEquals(id(0x84), b.getNote(id(0x44), null).getData()); + assertEquals(id(0x85), b.getNote(id(0x55), null).getData()); + assertNull(b.getNote(id(0x66), null)); } @Test @@ -191,13 +191,13 @@ public void testRemoveMiddle() throws IOException { assertSame(b, b.set(id(0x33), null, null)); - assertNull(b.get(id(0x01), null)); - assertEquals(id(0x81), b.get(id(0x11), null)); - assertEquals(id(0x82), b.get(id(0x22), null)); - assertNull(b.get(id(0x33), null)); - assertEquals(id(0x84), b.get(id(0x44), null)); - assertEquals(id(0x85), b.get(id(0x55), null)); - assertNull(b.get(id(0x66), null)); + assertNull(b.getNote(id(0x01), null)); + assertEquals(id(0x81), b.getNote(id(0x11), null).getData()); + assertEquals(id(0x82), b.getNote(id(0x22), null).getData()); + assertNull(b.getNote(id(0x33), null)); + assertEquals(id(0x84), b.getNote(id(0x44), null).getData()); + assertEquals(id(0x85), b.getNote(id(0x55), null).getData()); + assertNull(b.getNote(id(0x66), null)); } @Test @@ -212,13 +212,13 @@ public void testRemoveLast() throws IOException { assertSame(b, b.set(id(0x55), null, null)); - assertNull(b.get(id(0x01), null)); - assertEquals(id(0x81), b.get(id(0x11), null)); - assertEquals(id(0x82), b.get(id(0x22), null)); - assertEquals(id(0x83), b.get(id(0x33), null)); - assertEquals(id(0x84), b.get(id(0x44), null)); - assertNull(b.get(id(0x55), null)); - assertNull(b.get(id(0x66), null)); + assertNull(b.getNote(id(0x01), null)); + assertEquals(id(0x81), b.getNote(id(0x11), null).getData()); + assertEquals(id(0x82), b.getNote(id(0x22), null).getData()); + assertEquals(id(0x83), b.getNote(id(0x33), null).getData()); + assertEquals(id(0x84), b.getNote(id(0x44), null).getData()); + assertNull(b.getNote(id(0x55), null)); + assertNull(b.getNote(id(0x66), null)); } @Test @@ -226,10 +226,10 @@ public void testRemoveMakesEmpty() throws IOException { LeafBucket b = new LeafBucket(0); assertSame(b, b.set(id(0x11), id(0x81), null)); - assertEquals(id(0x81), b.get(id(0x11), null)); + assertEquals(id(0x81), b.getNote(id(0x11), null).getData()); assertNull(b.set(id(0x11), null, null)); - assertNull(b.get(id(0x11), null)); + assertNull(b.getNote(id(0x11), null)); } private static AnyObjectId id(int first) { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java index 953929464..ea904cd1d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java @@ -110,9 +110,10 @@ void setBucket(int cell, InMemoryNoteBucket bucket) { } @Override - ObjectId get(AnyObjectId objId, ObjectReader or) throws IOException { + Note getNote(AnyObjectId objId, ObjectReader or) throws IOException { NoteBucket b = table[cell(objId)]; - return b != null ? b.get(objId, or) : null; + return b != null ? b.getNote(objId, or) : null; + } NoteBucket getBucket(int cell) { @@ -337,8 +338,8 @@ private class LazyNoteBucket extends NoteBucket { } @Override - ObjectId get(AnyObjectId objId, ObjectReader or) throws IOException { - return load(objId, or).get(objId, or); + Note getNote(AnyObjectId objId, ObjectReader or) throws IOException { + return load(objId, or).getNote(objId, or); } @Override diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/LeafBucket.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/LeafBucket.java index 886684983..ea4d7bc86 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/LeafBucket.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/LeafBucket.java @@ -102,9 +102,10 @@ else if (cmp == 0) return -(low + 1); } - ObjectId get(AnyObjectId objId, ObjectReader or) { + @Override + Note getNote(AnyObjectId objId, ObjectReader or) { int idx = search(objId); - return 0 <= idx ? notes[idx].getData() : null; + return 0 <= idx ? notes[idx] : null; } Note get(int index) { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/Note.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/Note.java index 00b32132e..ddff52e74 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/Note.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/Note.java @@ -58,7 +58,7 @@ public class Note extends ObjectId { * @param noteData * the actual note data contained in this note */ - Note(AnyObjectId noteOn, ObjectId noteData) { + public Note(AnyObjectId noteOn, ObjectId noteData) { super(noteOn); data = noteData; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteBucket.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteBucket.java index 5c7b325f0..dd17ad532 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteBucket.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteBucket.java @@ -58,7 +58,7 @@ * @see LeafBucket */ abstract class NoteBucket { - abstract ObjectId get(AnyObjectId objId, ObjectReader reader) + abstract Note getNote(AnyObjectId objId, ObjectReader reader) throws IOException; abstract Iterator iterator(AnyObjectId objId, ObjectReader reader) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java index 591b1aeb1..0d4d6b914 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java @@ -206,7 +206,21 @@ public Iterator iterator() { * a portion of the note space is not accessible. */ public ObjectId get(AnyObjectId id) throws IOException { - return root.get(id, reader); + Note n = root.getNote(id, reader); + return n == null ? null : n.getData(); + } + + /** + * Lookup a note for a specific ObjectId. + * + * @param id + * the object to look for. + * @return the note for the given object id, or null if no note exists. + * @throws IOException + * a portion of the note space is not accessible. + */ + public Note getNote(AnyObjectId id) throws IOException { + return root.getNote(id, reader); } /**