Refactor XDocServlet: Move commit readable check into helper method

Change-Id: I9567a8b5e93abc83fe833dba459a3204f7d5bd27
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java
index 8bb64c5..2e83484 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java
@@ -133,16 +133,7 @@
         ObjectId revId = resolveRevision(repo, rev);
 
         if (ObjectId.isId(rev)) {
-          RevWalk rw = new RevWalk(repo);
-          try {
-            RevCommit commit = rw.parseCommit(repo.resolve(rev));
-            if (!projectControl.canReadCommit(db.get(), rw, commit)) {
-              Resource.NOT_FOUND.send(req, res);
-              return;
-            }
-          } finally {
-            rw.release();
-          }
+          validateCanReadCommit(repo, projectControl, revId);
         }
 
         String eTag = null;
@@ -285,6 +276,20 @@
     return revId;
   }
 
+  private void validateCanReadCommit(Repository repo,
+      ProjectControl projectControl, ObjectId revId)
+      throws ResourceNotFoundException, IOException {
+    RevWalk rw = new RevWalk(repo);
+    try {
+      RevCommit commit = rw.parseCommit(revId);
+      if (!projectControl.canReadCommit(db.get(), rw, commit)) {
+        throw new ResourceNotFoundException();
+      }
+    } finally {
+      rw.release();
+    }
+  }
+
   private static String computeETag(Project.NameKey project, ObjectId revId,
       String file) {
     return Hashing.md5().newHasher()