Repository: metamodel Updated Branches: refs/heads/dont-use-object-finalize [created] f40a657f8
Removed referenced to Object.finalize() (deprecated since JDK 9) Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/092c95d2 Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/092c95d2 Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/092c95d2 Branch: refs/heads/dont-use-object-finalize Commit: 092c95d24905a29926fff84696e1eebb13b1af9f Parents: 0f7a092 Author: Kasper Sørensen <[email protected]> Authored: Mon Jun 4 20:39:28 2018 -0700 Committer: Kasper Sørensen <[email protected]> Committed: Mon Jun 4 20:39:28 2018 -0700 ---------------------------------------------------------------------- .../metamodel/data/RowPublisherDataSet.java | 1 - .../metamodel/schema/MutableRelationship.java | 6 - .../org/apache/metamodel/csv/CsvDataSet.java | 1 - .../AbstractElasticSearchDataSet.java | 1 - .../metamodel/fixedwidth/FixedWidthDataSet.java | 1 - .../metamodel/jdbc/JdbcCompiledQuery.java | 1 - .../org/apache/metamodel/jdbc/JdbcDataSet.java | 1 - .../mongodb/mongo2/MongoDbDataSet.java | 3 - .../mongodb/mongo3/MongoDbDataSet.java | 1 - .../openoffice/OpenOfficeDataContext.java | 173 +++++++++---------- 10 files changed, 86 insertions(+), 103 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/core/src/main/java/org/apache/metamodel/data/RowPublisherDataSet.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/metamodel/data/RowPublisherDataSet.java b/core/src/main/java/org/apache/metamodel/data/RowPublisherDataSet.java index 2640246..0c1d38d 100644 --- a/core/src/main/java/org/apache/metamodel/data/RowPublisherDataSet.java +++ b/core/src/main/java/org/apache/metamodel/data/RowPublisherDataSet.java @@ -76,7 +76,6 @@ public final class RowPublisherDataSet extends AbstractDataSet { @Override protected void finalize() throws Throwable { - super.finalize(); if (!_closed) { logger.warn("finalize() invoked, but DataSet is not closed. Invoking close() on {}", this); close(); http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/core/src/main/java/org/apache/metamodel/schema/MutableRelationship.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/metamodel/schema/MutableRelationship.java b/core/src/main/java/org/apache/metamodel/schema/MutableRelationship.java index 47206cd..9e72f90 100644 --- a/core/src/main/java/org/apache/metamodel/schema/MutableRelationship.java +++ b/core/src/main/java/org/apache/metamodel/schema/MutableRelationship.java @@ -104,12 +104,6 @@ public class MutableRelationship extends AbstractRelationship implements } } - @Override - protected void finalize() throws Throwable { - super.finalize(); - remove(); - } - public static Relationship createRelationship(Column primaryColumn, Column foreignColumn) { List<Column> pcols = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/csv/src/main/java/org/apache/metamodel/csv/CsvDataSet.java ---------------------------------------------------------------------- diff --git a/csv/src/main/java/org/apache/metamodel/csv/CsvDataSet.java b/csv/src/main/java/org/apache/metamodel/csv/CsvDataSet.java index 96acae7..779da7f 100644 --- a/csv/src/main/java/org/apache/metamodel/csv/CsvDataSet.java +++ b/csv/src/main/java/org/apache/metamodel/csv/CsvDataSet.java @@ -63,7 +63,6 @@ final class CsvDataSet extends AbstractDataSet { @Override protected void finalize() throws Throwable { - super.finalize(); // close is always safe to invoke close(); } http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/elasticsearch/common/src/main/java/org/apache/metamodel/elasticsearch/AbstractElasticSearchDataSet.java ---------------------------------------------------------------------- diff --git a/elasticsearch/common/src/main/java/org/apache/metamodel/elasticsearch/AbstractElasticSearchDataSet.java b/elasticsearch/common/src/main/java/org/apache/metamodel/elasticsearch/AbstractElasticSearchDataSet.java index fea2190..929f226 100644 --- a/elasticsearch/common/src/main/java/org/apache/metamodel/elasticsearch/AbstractElasticSearchDataSet.java +++ b/elasticsearch/common/src/main/java/org/apache/metamodel/elasticsearch/AbstractElasticSearchDataSet.java @@ -65,7 +65,6 @@ public abstract class AbstractElasticSearchDataSet extends AbstractDataSet { @Override protected void finalize() throws Throwable { - super.finalize(); if (!_closed.get()) { logger.warn("finalize() invoked, but DataSet is not closed. Invoking close() on {}", this); close(); http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataSet.java ---------------------------------------------------------------------- diff --git a/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataSet.java b/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataSet.java index ae469c1..0c5fa6a 100644 --- a/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataSet.java +++ b/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataSet.java @@ -53,7 +53,6 @@ class FixedWidthDataSet extends AbstractDataSet { @Override protected void finalize() throws Throwable { - super.finalize(); // close is always safe to invoke close(); } http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCompiledQuery.java ---------------------------------------------------------------------- diff --git a/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCompiledQuery.java b/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCompiledQuery.java index 05640f9..5c65ccc 100644 --- a/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCompiledQuery.java +++ b/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcCompiledQuery.java @@ -148,7 +148,6 @@ final class JdbcCompiledQuery extends DefaultCompiledQuery implements CompiledQu @Override protected void finalize() throws Throwable { - super.finalize(); if (!_closed) { logger.warn("finalize() invoked, but DataSet is not closed. Invoking close() on {}", this); close(); http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataSet.java ---------------------------------------------------------------------- diff --git a/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataSet.java b/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataSet.java index 2b198fa..62b0daa 100644 --- a/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataSet.java +++ b/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataSet.java @@ -190,7 +190,6 @@ final class JdbcDataSet extends AbstractDataSet { @Override protected void finalize() throws Throwable { - super.finalize(); if (!_closed) { logger.warn("finalize() invoked, but DataSet is not closed. Invoking close() on {}", this); close(); http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/mongodb/mongo2/src/main/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataSet.java ---------------------------------------------------------------------- diff --git a/mongodb/mongo2/src/main/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataSet.java b/mongodb/mongo2/src/main/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataSet.java index cffd0de..f964b50 100644 --- a/mongodb/mongo2/src/main/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataSet.java +++ b/mongodb/mongo2/src/main/java/org/apache/metamodel/mongodb/mongo2/MongoDbDataSet.java @@ -40,8 +40,6 @@ final class MongoDbDataSet extends AbstractDataSet { private boolean _closed; private volatile DBObject _dbObject; - - public MongoDbDataSet(DBCursor cursor, List<SelectItem> selectItems, boolean queryPostProcessed) { super(selectItems); _cursor = cursor; @@ -62,7 +60,6 @@ final class MongoDbDataSet extends AbstractDataSet { @Override protected void finalize() throws Throwable { - super.finalize(); if (!_closed) { logger.warn("finalize() invoked, but DataSet is not closed. Invoking close() on {}", this); close(); http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/mongodb/mongo3/src/main/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataSet.java ---------------------------------------------------------------------- diff --git a/mongodb/mongo3/src/main/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataSet.java b/mongodb/mongo3/src/main/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataSet.java index 3846b4a..681069d 100644 --- a/mongodb/mongo3/src/main/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataSet.java +++ b/mongodb/mongo3/src/main/java/org/apache/metamodel/mongodb/mongo3/MongoDbDataSet.java @@ -61,7 +61,6 @@ final class MongoDbDataSet extends AbstractDataSet { @Override protected void finalize() throws Throwable { - super.finalize(); if (!_closed) { logger.warn("finalize() invoked, but DataSet is not closed. Invoking close() on {}", this); close(); http://git-wip-us.apache.org/repos/asf/metamodel/blob/092c95d2/openoffice/src/main/java/org/apache/metamodel/openoffice/OpenOfficeDataContext.java ---------------------------------------------------------------------- diff --git a/openoffice/src/main/java/org/apache/metamodel/openoffice/OpenOfficeDataContext.java b/openoffice/src/main/java/org/apache/metamodel/openoffice/OpenOfficeDataContext.java index 7df2350..99f4382 100644 --- a/openoffice/src/main/java/org/apache/metamodel/openoffice/OpenOfficeDataContext.java +++ b/openoffice/src/main/java/org/apache/metamodel/openoffice/OpenOfficeDataContext.java @@ -19,12 +19,14 @@ package org.apache.metamodel.openoffice; import java.io.BufferedOutputStream; +import java.io.Closeable; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.sql.Connection; import java.sql.DriverManager; +import java.sql.SQLException; import java.util.Enumeration; import java.util.List; import java.util.zip.ZipEntry; @@ -41,91 +43,88 @@ import org.apache.metamodel.util.FileHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class OpenOfficeDataContext extends AbstractDataContext { - - private static final Logger logger = LoggerFactory - .getLogger(OpenOfficeDataContext.class); - private JdbcDataContext _dataContextDelegate; - private Connection _connection; - - public OpenOfficeDataContext(File dbFile) throws MetaModelException { - try { - String databaseName = dbFile.getName(); - File tempDir = FileHelper.getTempDir(); - - ZipFile zipFile = new ZipFile(dbFile); - Enumeration<? extends ZipEntry> entries = zipFile.entries(); - while (entries.hasMoreElements()) { - ZipEntry entry = entries.nextElement(); - String entryName = entry.getName(); - if (entryName.startsWith("database/")) { - File destFile = new File(tempDir, databaseName + "." - + entryName.substring(9)); - destFile.createNewFile(); - - if (logger.isDebugEnabled()) { - logger.debug("Processing entry: " + entryName); - logger.debug("Writing temp file: " - + destFile.getAbsolutePath()); - } - - byte[] buffer = new byte[1024]; - InputStream inputStream = zipFile.getInputStream(entry); - OutputStream outputStream = new BufferedOutputStream( - new FileOutputStream(destFile)); - for (int len = inputStream.read(buffer); len >= 0; len = inputStream - .read(buffer)) { - outputStream.write(buffer, 0, len); - } - inputStream.close(); - outputStream.close(); - destFile.deleteOnExit(); - } else { - logger.debug("Ignoring entry: " + entryName); - } - } - zipFile.close(); - - Class.forName("org.hsqldb.jdbcDriver"); - String url = "jdbc:hsqldb:file:" + tempDir.getAbsolutePath() + "/" - + databaseName; - logger.info("Using database URL: " + url); - _connection = DriverManager.getConnection(url, "SA", ""); - _connection.setReadOnly(true); - _dataContextDelegate = new JdbcDataContext(_connection, - TableType.DEFAULT_TABLE_TYPES, null); - } catch (Exception e) { - throw new MetaModelException(e); - } - } - - @Override - public DataSet executeQuery(Query query) throws MetaModelException { - return _dataContextDelegate.executeQuery(query); - } - - @Override - protected void finalize() throws Throwable { - super.finalize(); - _connection.close(); - } - - public Connection getConnection() { - return _connection; - } - - @Override - protected List<String> getSchemaNamesInternal() { - return _dataContextDelegate.getSchemaNames(); - } - - @Override - protected String getDefaultSchemaName() { - return _dataContextDelegate.getDefaultSchemaName(); - } - - @Override - protected Schema getSchemaByNameInternal(String name) { - return _dataContextDelegate.getSchemaByName(name); - } +public class OpenOfficeDataContext extends AbstractDataContext implements Closeable { + + private static final Logger logger = LoggerFactory.getLogger(OpenOfficeDataContext.class); + + private final JdbcDataContext _dataContextDelegate; + private final Connection _connection; + + public OpenOfficeDataContext(File dbFile) throws MetaModelException { + try { + String databaseName = dbFile.getName(); + File tempDir = FileHelper.getTempDir(); + + ZipFile zipFile = new ZipFile(dbFile); + Enumeration<? extends ZipEntry> entries = zipFile.entries(); + while (entries.hasMoreElements()) { + ZipEntry entry = entries.nextElement(); + String entryName = entry.getName(); + if (entryName.startsWith("database/")) { + File destFile = new File(tempDir, databaseName + "." + entryName.substring(9)); + destFile.createNewFile(); + + if (logger.isDebugEnabled()) { + logger.debug("Processing entry: " + entryName); + logger.debug("Writing temp file: " + destFile.getAbsolutePath()); + } + + byte[] buffer = new byte[1024]; + InputStream inputStream = zipFile.getInputStream(entry); + OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(destFile)); + for (int len = inputStream.read(buffer); len >= 0; len = inputStream.read(buffer)) { + outputStream.write(buffer, 0, len); + } + inputStream.close(); + outputStream.close(); + destFile.deleteOnExit(); + } else { + logger.debug("Ignoring entry: " + entryName); + } + } + zipFile.close(); + + Class.forName("org.hsqldb.jdbcDriver"); + String url = "jdbc:hsqldb:file:" + tempDir.getAbsolutePath() + "/" + databaseName; + logger.info("Using database URL: " + url); + _connection = DriverManager.getConnection(url, "SA", ""); + _connection.setReadOnly(true); + _dataContextDelegate = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, null); + } catch (Exception e) { + throw new MetaModelException(e); + } + } + + @Override + public DataSet executeQuery(Query query) throws MetaModelException { + return _dataContextDelegate.executeQuery(query); + } + + @Override + public void close() { + try { + _connection.close(); + } catch (SQLException e) { + logger.warn("Failed to close underlying JDBC connection: {}", e.getMessage(), e); + } + } + + public Connection getConnection() { + return _connection; + } + + @Override + protected List<String> getSchemaNamesInternal() { + return _dataContextDelegate.getSchemaNames(); + } + + @Override + protected String getDefaultSchemaName() { + return _dataContextDelegate.getDefaultSchemaName(); + } + + @Override + protected Schema getSchemaByNameInternal(String name) { + return _dataContextDelegate.getSchemaByName(name); + } } \ No newline at end of file
