aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSasa Zivkov2011-01-21 11:04:24 (EST)
committerChris Aniszczyk2011-01-25 17:33:29 (EST)
commit832d3b838472103e143074f000e9c59fd4596fa4 (patch)
tree19b780c87a9a2e0b9f42b913e998dd6fb8632d9d
parentf21495255211042c6fcc4cc6f7f5af2bf750f647 (diff)
downloadjgit-832d3b838472103e143074f000e9c59fd4596fa4.zip
jgit-832d3b838472103e143074f000e9c59fd4596fa4.tar.gz
jgit-832d3b838472103e143074f000e9c59fd4596fa4.tar.bz2
Exposed the constructor of Note classrefs/changes/04/2304/3
Additionally, defined the NoteMap.getNote method which returns a Note instance. These changes were necessary to enable implementation of the NoteMerger interface (the merge method needs to instantiate a Note) and to enable direct use of NoteMerger which expects instances of Note class as its paramters. Implementing creation of code review summary notes in Gerrit [1] will make use of both of these features. [1] https://review.source.android.com/#change,20045 Change-Id: I627aefcedcd3434deecd63fa1d3e90e303b385ac Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com> Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/notes/LeafBucketTest.java116
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java9
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/notes/LeafBucket.java5
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/notes/Note.java2
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteBucket.java2
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMap.java16
6 files changed, 83 insertions, 67 deletions
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 7c40695..881cf9e 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 class LeafBucketTest {
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 class LeafBucketTest {
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 class LeafBucketTest {
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 class LeafBucketTest {
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 class LeafBucketTest {
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 class LeafBucketTest {
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 class LeafBucketTest {
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 class LeafBucketTest {
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 class LeafBucketTest {
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 9539294..ea904cd 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 @@ class FanoutBucket extends InMemoryNoteBucket {
}
@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 @@ class FanoutBucket extends InMemoryNoteBucket {
}
@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 8866849..ea4d7bc 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 @@ class LeafBucket extends InMemoryNoteBucket {
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 00b3213..ddff52e 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 5c7b325..dd17ad5 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 @@ import org.eclipse.jgit.lib.ObjectReader;
* @see LeafBucket
*/
abstract class NoteBucket {
- abstract ObjectId get(AnyObjectId objId, ObjectReader reader)
+ abstract Note getNote(AnyObjectId objId, ObjectReader reader)
throws IOException;
abstract Iterator<Note> 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 591b1ae..0d4d6b9 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 class NoteMap implements Iterable<Note> {
* 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);
}
/**