[EGIT PATCH 01/31] Fix Repository.mapObject() for missing objects
- From
- Marek Zawirski <marek.zawirski@gmail.com>
- Date
- Aug 17, 2008, 20:43 UTC
- Message-ID
- <1219005852-21496-2-git-send-email-marek.zawirski@gmail.com>
- In-Reply-To
- <1219005852-21496-1-git-send-email-marek.zawirski@gmail.com>
When object doesn't exist, instead of returning null as stated in javadoc this method was throwing NullPointerException. Now it returns null.
Signed-off-by: Marek Zawirski <marek.zawirski@gmail.com> --- .../src/org/spearce/jgit/lib/Repository.java | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java index 7679e53..a8591cc 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java @@ -385,6 +385,8 @@ public class Repository { */ public Object mapObject(final ObjectId id, final String refName) throws IOException { final ObjectLoader or = openObject(id); + if (or == null) + return null; final byte[] raw = or.getBytes(); if (or.getType() == Constants.OBJ_TREE) return makeTree(id, raw); @@ -394,7 +396,8 @@ public class Repository { return makeTag(id, refName, raw); if (or.getType() == Constants.OBJ_BLOB) return raw; - return null; + throw new IncorrectObjectTypeException(id, + "COMMIT nor TREE nor BLOB nor TAG"); } /**
-- 1.5.6.3