Fix jdbc code: Both PreparedStatements must be closed in any case

Change-Id: Ie25aff78e9f74497a36faca97a38737c0d8f4b73
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_77.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_77.java
index 472bc25..80639d6 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_77.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_77.java
@@ -199,51 +199,40 @@
 
   static LegacyLabelTypes getLegacyTypes(ReviewDb db) throws SQLException {
     List<LegacyLabelType> types = Lists.newArrayListWithCapacity(2);
-    Statement catStmt = null;
-    PreparedStatement valStmt = null;
-    ResultSet catRs = null;
+    Statement catStmt = ((JdbcSchema) db).getConnection().createStatement();
     try {
-      catStmt = ((JdbcSchema) db).getConnection().createStatement();
-      catRs = catStmt.executeQuery(
+      ResultSet catRs = catStmt.executeQuery(
           "SELECT category_id, name, abbreviated_name, function_name, "
           + " copy_min_score"
           + " FROM approval_categories"
           + " ORDER BY position, name");
-      valStmt = ((JdbcSchema) db).getConnection().prepareStatement(
-          "SELECT value, name"
-          + " FROM approval_category_values"
-          + " WHERE category_id = ?");
-      while (catRs.next()) {
-        String id = catRs.getString("category_id");
-        valStmt.setString(1, id);
-        List<LabelValue> values = Lists.newArrayListWithCapacity(5);
-        ResultSet valRs = valStmt.executeQuery();
-        try {
+      PreparedStatement valStmt = ((JdbcSchema) db).getConnection().prepareStatement(
+              "SELECT value, name"
+                      + " FROM approval_category_values"
+                      + " WHERE category_id = ?");
+      try {
+        while (catRs.next()) {
+          String id = catRs.getString("category_id");
+          valStmt.setString(1, id);
+          List<LabelValue> values = Lists.newArrayListWithCapacity(5);
+          ResultSet valRs = valStmt.executeQuery();
           while (valRs.next()) {
             values.add(new LabelValue(
                 valRs.getShort("value"), valRs.getString("name")));
           }
-        } finally {
-          valRs.close();
+          LegacyLabelType type =
+              new LegacyLabelType(getLabelName(catRs.getString("name")), values);
+          type.setId(id);
+          type.setAbbreviation(catRs.getString("abbreviated_name"));
+          type.setFunctionName(catRs.getString("function_name"));
+          type.setCopyMinScore("Y".equals(catRs.getString("copy_min_score")));
+          types.add(type);
         }
-        LegacyLabelType type =
-            new LegacyLabelType(getLabelName(catRs.getString("name")), values);
-        type.setId(id);
-        type.setAbbreviation(catRs.getString("abbreviated_name"));
-        type.setFunctionName(catRs.getString("function_name"));
-        type.setCopyMinScore("Y".equals(catRs.getString("copy_min_score")));
-        types.add(type);
-      }
-    } finally {
-      if (valStmt != null) {
+      } finally {
         valStmt.close();
       }
-      if (catRs != null) {
-        catRs.close();
-      }
-      if (catStmt != null) {
-        catStmt.close();
-      }
+    } finally {
+      catStmt.close();
     }
     return new LegacyLabelTypes(types);
   }