Set plugin API version to 2.11.1 and adapt to JGit API changes

Change-Id: I1ee9cafa635c2b54f232f3c695361dfec907c576
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/pom.xml b/pom.xml
index 9005b6b..c74323b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
   <groupId>com.googlesource.gerrit.plugins.imagare</groupId>
   <artifactId>imagare</artifactId>
   <packaging>jar</packaging>
-  <version>2.11</version>
+  <version>2.11.1</version>
   <name>imagare</name>
 
   <properties>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java
index 675c99d..2805ba4 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java
@@ -74,8 +74,7 @@
       throw new AuthException("not allowed to delete image");
     }
 
-    Repository r = repoManager.openRepository(rsrc.getProject());
-    try {
+    try (Repository r = repoManager.openRepository(rsrc.getProject())) {
       if (!rsrc.getControl().canDelete()) {
         validateOwnImage(r, rsrc.getRef());
       }
@@ -108,8 +107,6 @@
           log.error("Cannot delete " + rsrc.getRef() + ": " + result.name());
           throw new ResourceConflictException("cannot delete branch: " + result.name());
       }
-    } finally {
-      r.close();
     }
     return Response.none();
   }
@@ -120,15 +117,12 @@
     if (r == null) {
       throw new ResourceNotFoundException(ref);
     }
-    RevWalk rw = new RevWalk(repo);
-    try {
+    try (RevWalk rw = new RevWalk(repo)) {
       RevCommit commit = rw.parseCommit(r.getObjectId());
       if (!self.get().getNameEmail()
           .equals(getNameEmail(commit.getCommitterIdent()))) {
         throw new AuthException("not allowed to delete image");
       }
-    } finally {
-      rw.release();
     }
   }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java
index a3c2ed8..b8093bd 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java
@@ -127,8 +127,7 @@
           }
         }
       }
-      Repository repo = repoManager.openRepository(key.project);
-      try {
+      try (Repository repo = repoManager.openRepository(key.project)) {
         ObjectId revId =
             repo.resolve(rev != null ? rev : Constants.HEAD);
         if (revId == null) {
@@ -137,15 +136,12 @@
         }
 
         if (ObjectId.isId(rev)) {
-          RevWalk rw = new RevWalk(repo);
-          try {
+          try (RevWalk rw = new RevWalk(repo)) {
             RevCommit commit = rw.parseCommit(repo.resolve(rev));
             if (!projectControl.canReadCommit(db.get(), rw, commit)) {
               notFound(res);
               return;
             }
-          } finally {
-            rw.release();
           }
         }
 
@@ -164,12 +160,10 @@
           return;
         }
 
-        RevWalk rw = new RevWalk(repo);
-        try {
+        try (RevWalk rw = new RevWalk(repo)) {
           RevCommit commit = rw.parseCommit(revId);
           RevTree tree = commit.getTree();
-          TreeWalk tw = new TreeWalk(repo);
-          try {
+          try (TreeWalk tw = new TreeWalk(repo)) {
             tw.addTree(tree);
             tw.setRecursive(true);
             tw.setFilter(PathFilter.create(key.file));
@@ -194,17 +188,11 @@
             CacheHeaders.setCacheablePrivate(res, 7, TimeUnit.DAYS, false);
             send(req, res, content, mimeType.toString(), commit.getCommitTime());
             return;
-          } finally {
-            tw.release();
           }
         } catch (IOException e) {
           notFound(res);
           return;
-        } finally {
-          rw.release();
         }
-      } finally {
-        repo.close();
       }
     } catch (RepositoryNotFoundException | NoSuchProjectException
         | ResourceNotFoundException | AuthException | RevisionSyntaxException e) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java
index 31e38e0..c25a242 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java
@@ -165,68 +165,56 @@
     String ref = getRef(content, fileName);
     RefControl rc = pc.controlForRef(ref);
 
-    Repository repo = repoManager.openRepository(pc.getProject().getNameKey());
-    try {
+    try (Repository repo = repoManager.openRepository(pc.getProject().getNameKey())) {
       ObjectId commitId = repo.resolve(ref);
       if (commitId != null) {
         // this image exists already
         return getUrl(pc.getProject().getNameKey(), ref, fileName);
       }
 
-      RevWalk rw = new RevWalk(repo);
-      try {
-        ObjectInserter oi = repo.newObjectInserter();
-        try {
-          ObjectId blobId = oi.insert(Constants.OBJ_BLOB, content);
-          oi.flush();
+      try (RevWalk rw = new RevWalk(repo);
+          ObjectInserter oi = repo.newObjectInserter()) {
+        ObjectId blobId = oi.insert(Constants.OBJ_BLOB, content);
+        oi.flush();
 
-          TreeFormatter tf = new TreeFormatter();
-          tf.append(fileName, FileMode.REGULAR_FILE, blobId);
-          ObjectId treeId = tf.insertTo(oi);
-          oi.flush();
+        TreeFormatter tf = new TreeFormatter();
+        tf.append(fileName, FileMode.REGULAR_FILE, blobId);
+        ObjectId treeId = tf.insertTo(oi);
+        oi.flush();
 
-          PersonIdent authorIdent =
-              self.get().newCommitterIdent(myIdent.getWhen(), myIdent.getTimeZone());
-          CommitBuilder cb = new CommitBuilder();
-          cb.setTreeId(treeId);
-          cb.setAuthor(authorIdent);
-          cb.setCommitter(authorIdent);
-          cb.setMessage("Image Upload");
+        PersonIdent authorIdent =
+            self.get().newCommitterIdent(myIdent.getWhen(), myIdent.getTimeZone());
+        CommitBuilder cb = new CommitBuilder();
+        cb.setTreeId(treeId);
+        cb.setAuthor(authorIdent);
+        cb.setCommitter(authorIdent);
+        cb.setMessage("Image Upload");
 
-          commitId = oi.insert(cb);
-          oi.flush();
+        commitId = oi.insert(cb);
+        oi.flush();
 
-          if (!rc.canCreate(db.get(), rw, rw.parseCommit(commitId))) {
-            throw new AuthException(String.format(
-                "Project %s doesn't allow image upload.", pc.getProject().getName()));
-          }
-
-          RefUpdate ru = repo.updateRef(ref);
-          ru.setExpectedOldObjectId(ObjectId.zeroId());
-          ru.setNewObjectId(commitId);
-          ru.disableRefLog();
-          if (ru.update(rw) == RefUpdate.Result.NEW) {
-            referenceUpdated.fire(pc.getProject().getNameKey(), ru);
-            hooks.doRefUpdatedHook(new Branch.NameKey(pc.getProject()
-                .getNameKey(), ref), ru, self.get().getAccount());
-          } else {
-            throw new IOException(String.format(
-                "Failed to create ref %s in %s: %s", ref,
-                pc.getProject().getName(), ru.getResult()));
-          }
-
-          return getUrl(pc.getProject().getNameKey(), ref, fileName);
-        } finally {
-          oi.release();
+        if (!rc.canCreate(db.get(), rw, rw.parseCommit(commitId))) {
+          throw new AuthException(String.format(
+              "Project %s doesn't allow image upload.", pc.getProject().getName()));
         }
 
-      } finally {
-        rw.release();
-      }
-    } finally {
-      repo.close();
-    }
+        RefUpdate ru = repo.updateRef(ref);
+        ru.setExpectedOldObjectId(ObjectId.zeroId());
+        ru.setNewObjectId(commitId);
+        ru.disableRefLog();
+        if (ru.update(rw) == RefUpdate.Result.NEW) {
+          referenceUpdated.fire(pc.getProject().getNameKey(), ru);
+          hooks.doRefUpdatedHook(new Branch.NameKey(pc.getProject()
+              .getNameKey(), ref), ru, self.get().getAccount());
+        } else {
+          throw new IOException(String.format(
+              "Failed to create ref %s in %s: %s", ref,
+              pc.getProject().getName(), ru.getResult()));
+        }
 
+        return getUrl(pc.getProject().getNameKey(), ref, fileName);
+      }
+    }
   }
 
   private String getRef(byte[] content, String fileName) {