git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marek Zawirski <marek.zawirski@gmail.com>
To: robin.rosenberg@dewire.com, spearce@spearce.org
Cc: git@vger.kernel.org, Marek Zawirski <marek.zawirski@gmail.com>
Subject: [JGIT PATCH 05/12] Replace instanceof in WalkFetchConnection with getType()
Date: Mon,  2 Jun 2008 23:24:36 +0200	[thread overview]
Message-ID: <1212441883-12990-6-git-send-email-marek.zawirski@gmail.com> (raw)
In-Reply-To: <1212441883-12990-5-git-send-email-marek.zawirski@gmail.com>

Signed-off-by: Marek Zawirski <marek.zawirski@gmail.com>
---
 .../jgit/transport/WalkFetchConnection.java        |   36 +++++++++++--------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkFetchConnection.java b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkFetchConnection.java
index 4edeb93..45c2ded 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkFetchConnection.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkFetchConnection.java
@@ -66,7 +66,6 @@ import org.spearce.jgit.lib.Ref;
 import org.spearce.jgit.lib.Repository;
 import org.spearce.jgit.lib.UnpackedObjectLoader;
 import org.spearce.jgit.revwalk.DateRevQueue;
-import org.spearce.jgit.revwalk.RevBlob;
 import org.spearce.jgit.revwalk.RevCommit;
 import org.spearce.jgit.revwalk.RevFlag;
 import org.spearce.jgit.revwalk.RevObject;
@@ -251,20 +250,22 @@ class WalkFetchConnection extends FetchConnection {
 		//
 		obj.dispose();
 
-		if (obj instanceof RevBlob)
-			processBlob(obj);
-
-		else if (obj instanceof RevTree)
+		switch (obj.getType()) {
+		case Constants.OBJ_BLOB:
+			processBlob(obj);	
+			break;
+		case Constants.OBJ_TREE:
 			processTree(obj);
-
-		else if (obj instanceof RevCommit)
+			break;
+		case Constants.OBJ_COMMIT:
 			processCommit(obj);
-
-		else if (obj instanceof RevTag)
+			break;
+		case Constants.OBJ_TAG:
 			processTag(obj);
-
-		else
+			break;
+		default:
 			throw new TransportException("Unknown object type " + obj.getId());
+		}
 
 		// If we had any prior errors fetching this object they are
 		// now resolved, as the object was parsed successfully.
@@ -632,19 +633,24 @@ class WalkFetchConnection extends FetchConnection {
 	}
 
 	private void markLocalObjComplete(RevObject obj) throws IOException {
-		while (obj instanceof RevTag) {
+		while (obj.getType() == Constants.OBJ_TAG) {
 			obj.add(COMPLETE);
 			obj.dispose();
 			obj = ((RevTag) obj).getObject();
 			revWalk.parse(obj);
 		}
 
-		if (obj instanceof RevBlob)
+		switch (obj.getType()) {
+		case Constants.OBJ_BLOB:
 			obj.add(COMPLETE);
-		else if (obj instanceof RevCommit)
+			break;
+		case Constants.OBJ_COMMIT:			
 			pushLocalCommit((RevCommit) obj);
-		else if (obj instanceof RevTree)
+			break;
+		case Constants.OBJ_TREE:
 			markTreeComplete((RevTree) obj);
+			break;
+		}
 	}
 
 	private void markLocalCommitsComplete(final int until)
-- 
1.5.5.1

  reply	other threads:[~2008-06-02 21:26 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-02 21:24 [JGIT PATCH 00/12] Extensions in core needed by PackWriter Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 01/12] Format PackFile class Marek Zawirski
2008-06-02 21:24   ` [JGIT PATCH 02/12] Format PackIndex class Marek Zawirski
2008-06-02 21:24     ` [JGIT PATCH 03/12] Format PackIndexV1 class Marek Zawirski
2008-06-02 21:24       ` [JGIT PATCH 04/12] Add getType() method to RevObject hierarchy Marek Zawirski
2008-06-02 21:24         ` Marek Zawirski [this message]
2008-06-02 21:24           ` [JGIT PATCH 06/12] Move PackFile.SIGNATURE to Constants.PACK_SIGNATURE Marek Zawirski
2008-06-02 21:24             ` [JGIT PATCH 07/12] Add overload of fromRaw() in MutableObjectId accepting int[] Marek Zawirski
2008-06-02 21:24               ` [JGIT PATCH 08/12] Copying constructor of MutableObjectId Marek Zawirski
2008-06-02 21:24                 ` [JGIT PATCH 09/12] Add getSize() method to ObjectIdSubclassMap Marek Zawirski
2008-06-02 21:24                   ` [JGIT PATCH 10/12] Add getObjectCount() method to PackFile Marek Zawirski
2008-06-02 21:24                     ` [JGIT PATCH 11/12] Entries iterator in PackIndex and indirectly PackFile Marek Zawirski
2008-06-02 21:24                       ` [JGIT PATCH 12/12] Add PackIndex specific tests, currently only iterators tests Marek Zawirski
2008-06-06 13:24                   ` [JGIT PATCH 09/12] Add getSize() method to ObjectIdSubclassMap Robin Rosenberg
2008-06-07  0:10                     ` [JGIT PATCH v2 09/12] Add size() " Marek Zawirski
2008-06-06 13:24         ` [JGIT PATCH 04/12] Add getType() method to RevObject hierarchy Robin Rosenberg
2008-06-07  0:10           ` [JGIT PATCH v2 " Marek Zawirski
2008-06-02 22:15 ` [JGIT PATCH 00/12] Extensions in core needed by PackWriter Johannes Schindelin
2008-06-02 22:58   ` Marek Zawirski
2008-06-02 23:43     ` Johannes Schindelin
2008-06-06 13:24 ` Robin Rosenberg
2008-06-07  0:06   ` Marek Zawirski
2008-06-07  7:16     ` Shawn O. Pearce
2008-06-10 21:09 ` Robin Rosenberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1212441883-12990-6-git-send-email-marek.zawirski@gmail.com \
    --to=marek.zawirski@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=robin.rosenberg@dewire.com \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).