Repository: tajo Updated Branches: refs/heads/index_support 30315e856 -> 1dcc1b058
TAJO-1357: Resolve findbugs warnings on Tajo Catalog Modules Closes #387 Project: http://git-wip-us.apache.org/repos/asf/tajo/repo Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/d769d787 Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/d769d787 Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/d769d787 Branch: refs/heads/index_support Commit: d769d7872dddf16c9e7618ecb8f69c4299f5e3bd Parents: fa20b65 Author: Jihun Kang <[email protected]> Authored: Tue Feb 24 13:14:00 2015 +0900 Committer: Jihun Kang <[email protected]> Committed: Tue Feb 24 13:14:00 2015 +0900 ---------------------------------------------------------------------- CHANGES | 2 ++ .../apache/tajo/catalog/store/DerbyStore.java | 2 ++ .../org/apache/tajo/catalog/store/MemStore.java | 6 ++--- .../catalog/store/XMLCatalogSchemaManager.java | 24 ++++++++++++----- .../tajo/catalog/store/object/BaseSchema.java | 23 ++++++++++++++++- .../catalog/store/object/DatabaseObject.java | 27 +++++++++++++++++++- .../tajo/catalog/store/object/SchemaPatch.java | 23 ++++++++++++++++- 7 files changed, 94 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tajo/blob/d769d787/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index 6008e06..160c54a 100644 --- a/CHANGES +++ b/CHANGES @@ -10,6 +10,8 @@ Release 0.11.0 - unreleased BUG FIXES + TAJO-1357: Resolve findbugs warnings on Tajo Catalog Modules. (jihun) + TAJO-1351: Resolve findbug warnings on Tajo Common Module. (jihun) TASKS http://git-wip-us.apache.org/repos/asf/tajo/blob/d769d787/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java index 4a1053a..c209ce5 100644 --- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java +++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java @@ -81,6 +81,8 @@ public class DerbyStore extends AbstractDBStore { stmt.executeUpdate("CREATE SCHEMA " + schemaName); } catch (SQLException e) { throw new CatalogException(e); + } finally { + CatalogUtil.closeQuietly(stmt); } } } http://git-wip-us.apache.org/repos/asf/tajo/blob/d769d787/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java index 9e77f5c..e37efe6 100644 --- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java +++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java @@ -626,13 +626,13 @@ public class MemStore implements CatalogStore { for (String databaseName: databases) { Map<String, IndexDescProto> indexMap = indexes.get(databaseName); - for (String indexName: indexMap.keySet()) { - IndexDescProto indexDesc = indexMap.get(indexName); + for (Map.Entry<String, IndexDescProto> entry: indexMap.entrySet()) { + IndexDescProto indexDesc = entry.getValue(); IndexProto.Builder builder = IndexProto.newBuilder(); builder.setColumnName(indexDesc.getColumn().getName()); builder.setDataType(indexDesc.getColumn().getDataType().getType().toString()); - builder.setIndexName(indexName); + builder.setIndexName(entry.getKey()); builder.setIndexType(indexDesc.getIndexMethod().toString()); builder.setIsAscending(indexDesc.hasIsAscending() && indexDesc.getIsAscending()); builder.setIsClustered(indexDesc.hasIsClustered() && indexDesc.getIsClustered()); http://git-wip-us.apache.org/repos/asf/tajo/blob/d769d787/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/XMLCatalogSchemaManager.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/XMLCatalogSchemaManager.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/XMLCatalogSchemaManager.java index 94e6e20..1ea812c 100644 --- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/XMLCatalogSchemaManager.java +++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/XMLCatalogSchemaManager.java @@ -123,6 +123,7 @@ public class XMLCatalogSchemaManager { failedObjects.add(object); } } + CatalogUtil.closeQuietly(stmt); if (failedObjects.size() > 0) { StringBuffer errorMessage = new StringBuffer(64); @@ -251,14 +252,19 @@ public class XMLCatalogSchemaManager { pstmt.setString(paramIdx, params[paramIdx-1]); } - ResultSet rs = pstmt.executeQuery(); - while (rs.next()) { - if (rs.getString(1).equals(params[params.length-1].toUpperCase())) { - result = true; - break; + ResultSet rs = null; + try { + rs = pstmt.executeQuery(); + while (rs.next()) { + if (rs.getString(1).equals(params[params.length - 1].toUpperCase())) { + result = true; + break; + } } + } finally { + CatalogUtil.closeQuietly(rs); } - CatalogUtil.closeQuietly(rs); + return result; } @@ -299,6 +305,8 @@ public class XMLCatalogSchemaManager { throw new CatalogException(e.getMessage(), e); } } + + CatalogUtil.closeQuietly(stmt); } public void upgradeBaseSchema(Connection conn, int currentVersion) { @@ -332,6 +340,8 @@ public class XMLCatalogSchemaManager { } } } + + CatalogUtil.closeQuietly(stmt); } public boolean isInitialized(Connection conn) throws CatalogException { @@ -362,7 +372,7 @@ public class XMLCatalogSchemaManager { protected String[] listFileResources(URL dirURL, String schemaPath, FilenameFilter filter) throws URISyntaxException, IOException { - String[] files = new String[0]; + String[] files; String[] tempFiles; List<String> filesList = new ArrayList<String>(); File dirFile = new File(dirURL.toURI()); http://git-wip-us.apache.org/repos/asf/tajo/blob/d769d787/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/BaseSchema.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/BaseSchema.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/BaseSchema.java index 3c9a3e2..7c437af 100644 --- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/BaseSchema.java +++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/BaseSchema.java @@ -72,5 +72,26 @@ public class BaseSchema implements Comparable<BaseSchema> { public String toString() { return "BaseSchema [version=" + version + ", schemaName=" + schemaName + ", objects=" + objects + "]"; } - + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + BaseSchema that = (BaseSchema) o; + + if (version != that.version) return false; + if (objects != null ? !objects.equals(that.objects) : that.objects != null) return false; + if (schemaName != null ? !schemaName.equals(that.schemaName) : that.schemaName != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = version; + result = 31 * result + (schemaName != null ? schemaName.hashCode() : 0); + result = 31 * result + (objects != null ? objects.hashCode() : 0); + return result; + } } http://git-wip-us.apache.org/repos/asf/tajo/blob/d769d787/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/DatabaseObject.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/DatabaseObject.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/DatabaseObject.java index 4132018..67b5131 100644 --- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/DatabaseObject.java +++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/DatabaseObject.java @@ -76,5 +76,30 @@ public class DatabaseObject implements Comparable<DatabaseObject> { public int compareTo(DatabaseObject o) { return (int) Math.signum(getOrder() - o.getOrder()); } - + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DatabaseObject that = (DatabaseObject) o; + + if (order != that.order) return false; + if (dependsOn != null ? !dependsOn.equals(that.dependsOn) : that.dependsOn != null) return false; + if (name != null ? !name.equals(that.name) : that.name != null) return false; + if (sql != null ? !sql.equals(that.sql) : that.sql != null) return false; + if (type != that.type) return false; + + return true; + } + + @Override + public int hashCode() { + int result = order; + result = 31 * result + (type != null ? type.hashCode() : 0); + result = 31 * result + (name != null ? name.hashCode() : 0); + result = 31 * result + (dependsOn != null ? dependsOn.hashCode() : 0); + result = 31 * result + (sql != null ? sql.hashCode() : 0); + return result; + } } http://git-wip-us.apache.org/repos/asf/tajo/blob/d769d787/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/SchemaPatch.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/SchemaPatch.java b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/SchemaPatch.java index 3859d03..6aa4500 100644 --- a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/SchemaPatch.java +++ b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/object/SchemaPatch.java @@ -74,5 +74,26 @@ public class SchemaPatch implements Comparable<SchemaPatch> { public String toString() { return "SchemaPatch [priorVersion=" + priorVersion + ", nextVersion=" + nextVersion + ", objects=" + objects + "]"; } - + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + SchemaPatch that = (SchemaPatch) o; + + if (nextVersion != that.nextVersion) return false; + if (priorVersion != that.priorVersion) return false; + if (objects != null ? !objects.equals(that.objects) : that.objects != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = priorVersion; + result = 31 * result + nextVersion; + result = 31 * result + (objects != null ? objects.hashCode() : 0); + return result; + } }
