]> source.dussan.org Git - jgit.git/commitdiff
Export the ObjectId on MissingObjectException 18/1218/3
authorShawn O. Pearce <spearce@spearce.org>
Sat, 31 Jul 2010 00:50:58 +0000 (17:50 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Sat, 21 Aug 2010 00:41:27 +0000 (17:41 -0700)
Callers catching a MissingObjectException may need programmatic
access to the ObjectId that wasn't available in the repository.

Change-Id: I2be0380251ebe7e4921fa74e246724e48ad88b0e
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.jgit/src/org/eclipse/jgit/errors/MissingObjectException.java

index 1d193e18c737426e6b4e870facf9ab8616f67a55..1807a6cfc5b0023f2bd608301bf6d728d6433ab8 100644 (file)
@@ -59,6 +59,8 @@ import org.eclipse.jgit.lib.ObjectId;
 public class MissingObjectException extends IOException {
        private static final long serialVersionUID = 1L;
 
+       private final ObjectId missing;
+
        /**
         * Construct a MissingObjectException for the specified object id.
         * Expected type is reported to simplify tracking down the problem.
@@ -68,6 +70,7 @@ public class MissingObjectException extends IOException {
         */
        public MissingObjectException(final ObjectId id, final String type) {
                super(MessageFormat.format(JGitText.get().missingObject, type, id.name()));
+               missing = id.copy();
        }
 
        /**
@@ -80,4 +83,9 @@ public class MissingObjectException extends IOException {
        public MissingObjectException(final ObjectId id, final int type) {
                this(id, Constants.typeString(type));
        }
+
+       /** @return the ObjectId that was not found. */
+       public ObjectId getObjectId() {
+               return missing;
+       }
 }