azkaban-aplcache

light refactor in existing database module (#1023) Found

4/26/2017 7:29:21 PM

Details

diff --git a/azkaban-common/src/main/java/azkaban/database/AbstractJdbcLoader.java b/azkaban-common/src/main/java/azkaban/database/AbstractJdbcLoader.java
index 4b2b907..69e93b9 100644
--- a/azkaban-common/src/main/java/azkaban/database/AbstractJdbcLoader.java
+++ b/azkaban-common/src/main/java/azkaban/database/AbstractJdbcLoader.java
@@ -21,20 +21,16 @@ import azkaban.utils.Props;
 
 import java.io.IOException;
 import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
 
 import org.apache.commons.dbutils.DbUtils;
 import org.apache.commons.dbutils.QueryRunner;
-import org.apache.commons.dbutils.ResultSetHandler;
 
 
 public abstract class AbstractJdbcLoader {
   /**
    * Used for when we store text data. Plain uses UTF8 encoding.
    */
-  public static enum EncodingType {
+  public enum EncodingType {
     PLAIN(1), GZIP(2);
 
     private int numVal;
@@ -87,52 +83,4 @@ public abstract class AbstractJdbcLoader {
   protected boolean allowsOnDuplicateKey() {
     return dataSource.allowsOnDuplicateKey();
   }
-
-  public static class IntHandler implements ResultSetHandler<Integer> {
-    @Override
-    public Integer handle(ResultSet rs) throws SQLException {
-      if (!rs.next()) {
-        return 0;
-      }
-
-      return rs.getInt(1);
-    }
-  }
-
-  public static class SingleStringHandler implements ResultSetHandler<String> {
-    @Override
-    public String handle(ResultSet rs) throws SQLException {
-      if (!rs.next()) {
-        return null;
-      }
-
-      return rs.getString(1);
-    }
-  }
-
-  public static class IntListHandler implements
-      ResultSetHandler<ArrayList<Integer>> {
-    @Override
-    public ArrayList<Integer> handle(ResultSet rs) throws SQLException {
-      ArrayList<Integer> results = new ArrayList<Integer>();
-      while (rs.next()) {
-        results.add(rs.getInt(1));
-      }
-
-      return results;
-    }
-  }
-
-  public static class StringListHandler implements
-      ResultSetHandler<ArrayList<String>> {
-    @Override
-    public ArrayList<String> handle(ResultSet rs) throws SQLException {
-      ArrayList<String> results = new ArrayList<String>();
-      while (rs.next()) {
-        results.add(rs.getString(1));
-      }
-
-      return results;
-    }
-  }
 }
diff --git a/azkaban-common/src/main/java/azkaban/database/AzkabanDatabaseSetup.java b/azkaban-common/src/main/java/azkaban/database/AzkabanDatabaseSetup.java
index 9c82f2a..eb59246 100644
--- a/azkaban-common/src/main/java/azkaban/database/AzkabanDatabaseSetup.java
+++ b/azkaban-common/src/main/java/azkaban/database/AzkabanDatabaseSetup.java
@@ -55,7 +55,7 @@ public class AzkabanDatabaseSetup {
   private static final String UPDATE_SCRIPT_PREFIX = "update.";
   private static final String SQL_SCRIPT_SUFFIX = ".sql";
 
-  private static String FETCH_PROPERTY_BY_TYPE =
+  private static final String FETCH_PROPERTY_BY_TYPE =
       "SELECT name, value FROM properties WHERE type=?";
   private static final String INSERT_DB_PROPERTY =
       "INSERT INTO properties (name, type, value, modified_time) values (?,?,?,?)";
@@ -67,7 +67,6 @@ public class AzkabanDatabaseSetup {
   private Map<String, String> installedVersions;
   private Set<String> missingTables;
   private Map<String, List<String>> upgradeList;
-  private Props dbProps;
   private String version;
   private boolean needsUpdating;
 
@@ -87,12 +86,12 @@ public class AzkabanDatabaseSetup {
   }
 
   public void loadTableInfo() throws IOException, SQLException {
-    tables = new HashMap<String, String>();
-    installedVersions = new HashMap<String, String>();
-    missingTables = new HashSet<String>();
-    upgradeList = new HashMap<String, List<String>>();
+    tables = new HashMap<>();
+    installedVersions = new HashMap<>();
+    missingTables = new HashSet<>();
+    upgradeList = new HashMap<>();
 
-    dbProps = loadDBProps();
+    Props dbProps = loadDBProps();
     version = dbProps.getString("version");
 
     loadInstalledTables();
@@ -171,8 +170,7 @@ public class AzkabanDatabaseSetup {
           + dbPropsFile.getPath());
     }
 
-    Props props = new Props(null, dbPropsFile);
-    return props;
+    return new Props(null, dbPropsFile);
   }
 
   private void loadTableVersion() throws SQLException {
@@ -221,14 +219,15 @@ public class AzkabanDatabaseSetup {
     File[] createScripts =
         directory.listFiles(new FileIOUtils.PrefixSuffixFileFilter(
             CREATE_SCRIPT_PREFIX, SQL_SCRIPT_SUFFIX));
-
-    for (File script : createScripts) {
-      String name = script.getName();
-      String[] nameSplit = name.split("\\.");
-      String tableName = nameSplit[1];
-
-      if (!tables.containsKey(tableName)) {
-        missingTables.add(tableName);
+    if(createScripts != null) {
+      for (File script : createScripts) {
+        String name = script.getName();
+        String[] nameSplit = name.split("\\.");
+        String tableName = nameSplit[1];
+
+        if (!tables.containsKey(tableName)) {
+          missingTables.add(tableName);
+        }
       }
     }
   }
@@ -257,7 +256,7 @@ public class AzkabanDatabaseSetup {
     File[] createScripts =
         directory.listFiles(new FileIOUtils.PrefixSuffixFileFilter(
             UPDATE_SCRIPT_PREFIX + table, SQL_SCRIPT_SUFFIX));
-    if (createScripts.length == 0) {
+    if (createScripts == null || createScripts.length == 0) {
       return null;
     }
 
@@ -399,7 +398,7 @@ public class AzkabanDatabaseSetup {
       ResultSetHandler<Map<String, String>> {
     @Override
     public Map<String, String> handle(ResultSet rs) throws SQLException {
-      Map<String, String> results = new HashMap<String, String>();
+      Map<String, String> results = new HashMap<>();
       while (rs.next()) {
         String key = rs.getString(1);
         String value = rs.getString(2);
diff --git a/azkaban-common/src/main/java/azkaban/database/AzkabanDatabaseUpdater.java b/azkaban-common/src/main/java/azkaban/database/AzkabanDatabaseUpdater.java
index e3ff674..c506d3f 100644
--- a/azkaban-common/src/main/java/azkaban/database/AzkabanDatabaseUpdater.java
+++ b/azkaban-common/src/main/java/azkaban/database/AzkabanDatabaseUpdater.java
@@ -26,7 +26,6 @@ import joptsimple.OptionSpec;
 
 import org.apache.log4j.Logger;
 
-import azkaban.database.AzkabanDatabaseSetup;
 import azkaban.utils.Props;
 import azkaban.server.AzkabanServer;