From bc9d4a0f2266e5ac1a018f0b691c76d53479b9e5 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Apr 2011 20:46:44 -0400
Subject: [PATCH] Working on error handling.

---
 src/com/gitblit/wicket/pages/PatchPage.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/PatchPage.java b/src/com/gitblit/wicket/pages/PatchPage.java
index b7dd1a3..62431d2 100644
--- a/src/com/gitblit/wicket/pages/PatchPage.java
+++ b/src/com/gitblit/wicket/pages/PatchPage.java
@@ -9,6 +9,7 @@
 import com.gitblit.GitBlit;
 import com.gitblit.utils.JGitUtils;
 import com.gitblit.utils.StringUtils;
+import com.gitblit.wicket.GitBlitWebSession;
 import com.gitblit.wicket.WicketUtils;
 
 public class PatchPage extends WebPage {
@@ -17,9 +18,11 @@
 		super(params);
 
 		if (!params.containsKey("r")) {
-			error("Repository not specified!");
+			GitBlitWebSession.get().cacheErrorMessage("Repository not specified!");
 			redirectToInterceptPage(new RepositoriesPage());
+			return;
 		}
+		
 		final String repositoryName = WicketUtils.getRepositoryName(params);
 		final String baseObjectId = WicketUtils.getBaseObjectId(params);
 		final String objectId = WicketUtils.getObject(params);
@@ -27,12 +30,18 @@
 
 		Repository r = GitBlit.self().getRepository(repositoryName);
 		if (r == null) {
-			error("Can not load repository " + repositoryName);
+			GitBlitWebSession.get().cacheErrorMessage("Can not load repository " + repositoryName);
 			redirectToInterceptPage(new RepositoriesPage());
 			return;
 		}
 
 		RevCommit commit = JGitUtils.getCommit(r, objectId);
+		if (commit == null) {
+			GitBlitWebSession.get().cacheErrorMessage("Commit is null");
+			redirectToInterceptPage(new RepositoriesPage());
+			return;
+		}
+		
 		String patch;
 		if (StringUtils.isEmpty(baseObjectId)) {
 			patch = JGitUtils.getCommitPatch(r, commit, blobPath);

--
Gitblit v1.9.1