Repository: jena
Updated Branches:
  refs/heads/master 2472f6ae8 -> 6ac577192


Fix up try-resource usage


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/6ac57719
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/6ac57719
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/6ac57719

Branch: refs/heads/master
Commit: 6ac5771924a04e725d47f1d04b6eb55100601eb6
Parents: 2472f6a
Author: Andy Seaborne <[email protected]>
Authored: Tue Sep 23 15:57:55 2014 +0100
Committer: Andy Seaborne <[email protected]>
Committed: Tue Sep 23 15:57:55 2014 +0100

----------------------------------------------------------------------
 .../com/hp/hpl/jena/sdb/sql/SDBConnection.java  |   7 +-
 .../java/com/hp/hpl/jena/sdb/sql/TableDump.java | 242 +++++++++----------
 .../com/hp/hpl/jena/sdb/sql/TableUtils.java     |  38 +--
 .../com/hp/hpl/jena/sdb/util/StoreUtils.java    |  17 +-
 jena-sdb/src/main/java/sdb/sdbquery.java        |  17 +-
 .../hpl/jena/sdb/test/junit/QueryTestSDB.java   |   6 +-
 .../hp/hpl/jena/sdb/test/junit/StoreList.java   |   5 +-
 jena-sdb/src/test/java/sdb/test/TestDB.java     |   8 +-
 .../src/test/java/sdb/test/TestStringBase.java  |  81 +++----
 9 files changed, 201 insertions(+), 220 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/SDBConnection.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/SDBConnection.java 
b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/SDBConnection.java
index a6240cb..25ebe2d 100644
--- a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/SDBConnection.java
+++ b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/SDBConnection.java
@@ -158,11 +158,8 @@ public class SDBConnection
             writeLog("execUpdate", sqlString) ;
         
         Connection conn = getSqlConnection() ;
-        try {
-            Statement s = conn.createStatement() ;
-            int rc = s.executeUpdate(sqlString) ;
-            s.close() ;
-            return rc ;
+        try ( Statement s = conn.createStatement() ) {
+            return s.executeUpdate(sqlString) ;
         } catch (SQLException ex)
         {
             exception("execUpdate", ex, sqlString) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableDump.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableDump.java 
b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableDump.java
index 0402b30..e09d3c5 100644
--- a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableDump.java
+++ b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableDump.java
@@ -69,139 +69,139 @@ public class TableDump
             result.append("Database: " + dbMetaData.getDatabaseProductName() + 
" (" + dbMetaData.getDatabaseProductVersion() + ")\n");
             result.append("Driver name: " + dbMetaData.getDriverName() + " (" 
+ dbMetaData.getDriverVersion() + ")\n");
             
-            ResultSet rs = dbMetaData.getTables(catalog, schema, tables, null);
-            if (! rs.next()) {
-                System.err.println("Unable to find any tables matching: 
catalog="+catalog+" schema="+schema+" tables="+tables);
-                rs.close();
-            } else {
-                // Right, we have some tables, so we can go to work.
-                // the details we have are
-                // TABLE_CAT String => table catalog (may be null)
-                // TABLE_SCHEM String => table schema (may be null)
-                // TABLE_NAME String => table name
-                // TABLE_TYPE String => table type. Typical types are "TABLE", 
"VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", 
"SYNONYM".
-                // REMARKS String => explanatory comment on the table
-                // TYPE_CAT String => the types catalog (may be null)
-                // TYPE_SCHEM String => the types schema (may be null)
-                // TYPE_NAME String => type name (may be null)
-                // SELF_REFERENCING_COL_NAME String => name of the designated 
"identifier" column of a typed table (may be null)
-                // REF_GENERATION String => specifies how values in 
SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". 
(may be null)
-                // We will ignore the schema and stuff, because people might 
want to import it somewhere else
-                // We will also ignore any tables that aren't of type TABLE 
for now.
-                // We use a do-while because we've already caled rs.next to 
see if there are any rows
-                do {
-                    String tableName = rs.getString("TABLE_NAME");
-                    String tableType = rs.getString("TABLE_TYPE");
-                    if ("TABLE".equalsIgnoreCase(tableType)) {
-                        result.append("\n-- "+tableName);
-                        result.append("\nCREATE TABLE "+tableName+" (\n");
-                        ResultSet tableMetaData = dbMetaData.getColumns(null, 
null, tableName, "%");
-                        boolean firstLine = true;
-                        while (tableMetaData.next()) {
-                            if (firstLine) {
-                                firstLine = false;
-                            } else {
-                                // If we're not the first line, then finish 
the previous line with a comma
-                                result.append(",\n");
-                            }
-                            String columnName = 
tableMetaData.getString("COLUMN_NAME");
-                            String columnType = 
tableMetaData.getString("TYPE_NAME");
-                            // WARNING: this may give daft answers for some 
types on some databases (eg JDBC-ODBC link)
-                            int columnSize = 
tableMetaData.getInt("COLUMN_SIZE");
-                            String nullable = 
tableMetaData.getString("IS_NULLABLE");
-                            String nullString = "NULL";
-                            if ("NO".equalsIgnoreCase(nullable)) {
-                                nullString = "NOT NULL";
+            try( ResultSet rs = dbMetaData.getTables(catalog, schema, tables, 
null) ) {
+                if (! rs.next()) 
+                    System.err.println("Unable to find any tables matching: 
catalog="+catalog+" schema="+schema+" tables="+tables);
+                else {
+                    // Right, we have some tables, so we can go to work.
+                    // the details we have are
+                    // TABLE_CAT String => table catalog (may be null)
+                    // TABLE_SCHEM String => table schema (may be null)
+                    // TABLE_NAME String => table name
+                    // TABLE_TYPE String => table type. Typical types are 
"TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", 
"ALIAS", "SYNONYM".
+                    // REMARKS String => explanatory comment on the table
+                    // TYPE_CAT String => the types catalog (may be null)
+                    // TYPE_SCHEM String => the types schema (may be null)
+                    // TYPE_NAME String => type name (may be null)
+                    // SELF_REFERENCING_COL_NAME String => name of the 
designated "identifier" column of a typed table (may be null)
+                    // REF_GENERATION String => specifies how values in 
SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". 
(may be null)
+                    // We will ignore the schema and stuff, because people 
might want to import it somewhere else
+                    // We will also ignore any tables that aren't of type 
TABLE for now.
+                    // We use a do-while because we've already caled rs.next 
to see if there are any rows
+                    do {
+                        String tableName = rs.getString("TABLE_NAME");
+                        String tableType = rs.getString("TABLE_TYPE");
+                        if ("TABLE".equalsIgnoreCase(tableType)) {
+                            result.append("\n-- "+tableName);
+                            result.append("\nCREATE TABLE "+tableName+" (\n");
+                            try ( ResultSet tableMetaData = 
dbMetaData.getColumns(null, null, tableName, "%") ) {
+                                boolean firstLine = true;
+                                while (tableMetaData.next()) {
+                                    if (firstLine) {
+                                        firstLine = false;
+                                    } else {
+                                        // If we're not the first line, then 
finish the previous line with a comma
+                                        result.append(",\n");
+                                    }
+                                    String columnName = 
tableMetaData.getString("COLUMN_NAME");
+                                    String columnType = 
tableMetaData.getString("TYPE_NAME");
+                                    // WARNING: this may give daft answers for 
some types on some databases (eg JDBC-ODBC link)
+                                    int columnSize = 
tableMetaData.getInt("COLUMN_SIZE");
+                                    String nullable = 
tableMetaData.getString("IS_NULLABLE");
+                                    String nullString = "NULL";
+                                    if ("NO".equalsIgnoreCase(nullable)) {
+                                        nullString = "NOT NULL";
+                                    }
+                                    result.append("    
"+columnNameQuote+columnName+columnNameQuote+" "+columnType+" 
("+columnSize+")"+" "+nullString);
+                                }
                             }
-                            result.append("    
"+columnNameQuote+columnName+columnNameQuote+" "+columnType+" 
("+columnSize+")"+" "+nullString);
-                        }
-                        tableMetaData.close();
-    
-                        // Now we need to put the primary key constraint
-                        try {
-                            ResultSet primaryKeys = 
dbMetaData.getPrimaryKeys(catalog, schema, tableName);
-                            // What we might get:
-                            // TABLE_CAT String => table catalog (may be null)
-                            // TABLE_SCHEM String => table schema (may be null)
-                            // TABLE_NAME String => table name
-                            // COLUMN_NAME String => column name
-                            // KEY_SEQ short => sequence number within primary 
key
-                            // PK_NAME String => primary key name (may be null)
-                            String primaryKeyName = null;
-                            StringBuffer primaryKeyColumns = new 
StringBuffer();
-                            while (primaryKeys.next()) {
-                                String thisKeyName = 
primaryKeys.getString("PK_NAME");
-                                if ((thisKeyName != null && primaryKeyName == 
null)
+
+                            // Now we need to put the primary key constraint
+                            try {
+                                ResultSet primaryKeys = 
dbMetaData.getPrimaryKeys(catalog, schema, tableName);
+                                // What we might get:
+                                // TABLE_CAT String => table catalog (may be 
null)
+                                // TABLE_SCHEM String => table schema (may be 
null)
+                                // TABLE_NAME String => table name
+                                // COLUMN_NAME String => column name
+                                // KEY_SEQ short => sequence number within 
primary key
+                                // PK_NAME String => primary key name (may be 
null)
+                                String primaryKeyName = null;
+                                StringBuffer primaryKeyColumns = new 
StringBuffer();
+                                while (primaryKeys.next()) {
+                                    String thisKeyName = 
primaryKeys.getString("PK_NAME");
+                                    if ((thisKeyName != null && primaryKeyName 
== null)
                                         || (thisKeyName == null && 
primaryKeyName != null)
                                         || (thisKeyName != null && ! 
thisKeyName.equals(primaryKeyName))
                                         || (primaryKeyName != null && ! 
primaryKeyName.equals(thisKeyName))) {
-                                    // the keynames aren't the same, so output 
all that we have so far (if anything)
-                                    // and start a new primary key entry
+                                        // the keynames aren't the same, so 
output all that we have so far (if anything)
+                                        // and start a new primary key entry
+                                        if (primaryKeyColumns.length() > 0) {
+                                            // There's something to output
+                                            result.append(",\n    PRIMARY KEY 
");
+                                            if (primaryKeyName != null) { 
result.append(primaryKeyName); }
+                                            
result.append("("+primaryKeyColumns.toString()+")");
+                                        }
+                                        // Start again with the new name
+                                        primaryKeyColumns = new StringBuffer();
+                                        primaryKeyName = thisKeyName;
+                                    }
+                                    // Now append the column
                                     if (primaryKeyColumns.length() > 0) {
-                                        // There's something to output
-                                        result.append(",\n    PRIMARY KEY ");
-                                        if (primaryKeyName != null) { 
result.append(primaryKeyName); }
-                                        
result.append("("+primaryKeyColumns.toString()+")");
+                                        primaryKeyColumns.append(", ");
                                     }
-                                    // Start again with the new name
-                                    primaryKeyColumns = new StringBuffer();
-                                    primaryKeyName = thisKeyName;
+                                    
primaryKeyColumns.append(primaryKeys.getString("COLUMN_NAME"));
                                 }
-                                // Now append the column
                                 if (primaryKeyColumns.length() > 0) {
-                                    primaryKeyColumns.append(", ");
+                                    // There's something to output
+                                    result.append(",\n    PRIMARY KEY ");
+                                    if (primaryKeyName != null) { 
result.append(primaryKeyName); }
+                                    result.append(" 
("+primaryKeyColumns.toString()+")");
                                 }
-                                
primaryKeyColumns.append(primaryKeys.getString("COLUMN_NAME"));
+                            } catch (SQLException e) {
+                                // NB you will get this exception with the 
JDBC-ODBC link because it says
+                                // [Microsoft][ODBC Driver Manager] Driver 
does not support this function
+                                System.err.println("Unable to get primary keys 
for table "+tableName+" because "+e);
                             }
-                            if (primaryKeyColumns.length() > 0) {
-                                // There's something to output
-                                result.append(",\n    PRIMARY KEY ");
-                                if (primaryKeyName != null) { 
result.append(primaryKeyName); }
-                                result.append(" 
("+primaryKeyColumns.toString()+")");
+
+                            result.append("\n);\n");
+
+                            /**
+                             * Get the indexes for this table
+                             */
+                            try
+                            {
+                                ResultSet indexes = 
dbMetaData.getIndexInfo(null, null, tableName, false, false);
+                                Map<String, List<String>> index2col = new 
HashMap<String,List<String>>();
+                                Map<String, Boolean> index2unique = new 
HashMap<String, Boolean>();
+                                while (indexes.next())
+                                {
+                                    Boolean nonUnique = 
indexes.getBoolean("NON_UNIQUE");
+                                    String name = 
indexes.getString("INDEX_NAME");
+                                    String col = 
indexes.getString("COLUMN_NAME");
+                                    if (!index2col.containsKey(name))
+                                        index2col.put(name, new 
ArrayList<String>());
+                                    index2col.get(name).add(col);
+                                    index2unique.put(name, !nonUnique);
+                                }
+                                for (String index: index2col.keySet())
+                                {
+                                    List<String> cols = index2col.get(index);
+                                    result.append("CREATE ");
+                                    if (index2unique.get(index)) 
result.append("UNIQUE ");
+                                    result.append("INDEX " + index + " ON " + 
tableName + " (");
+                                    result.append(strjoin(", ", 
cols.toArray(new String[]{})));
+                                    result.append(")\n");
+                                }
+                            }
+                            catch (SQLException e)
+                            {
+                                System.err.println("Unable to get indexes for 
table "+tableName+" because "+e);
                             }
-                        } catch (SQLException e) {
-                            // NB you will get this exception with the 
JDBC-ODBC link because it says
-                            // [Microsoft][ODBC Driver Manager] Driver does 
not support this function
-                            System.err.println("Unable to get primary keys for 
table "+tableName+" because "+e);
-                        }
-    
-                        result.append("\n);\n");
-                        
-                        /**
-                         * Get the indexes for this table
-                         */
-                        try
-                        {
-                               ResultSet indexes = 
dbMetaData.getIndexInfo(null, null, tableName, false, false);
-                               Map<String, List<String>> index2col = new 
HashMap<String,List<String>>();
-                               Map<String, Boolean> index2unique = new 
HashMap<String, Boolean>();
-                               while (indexes.next())
-                               {
-                                       Boolean nonUnique = 
indexes.getBoolean("NON_UNIQUE");
-                                       String name = 
indexes.getString("INDEX_NAME");
-                                       String col = 
indexes.getString("COLUMN_NAME");
-                                       if (!index2col.containsKey(name))
-                                               index2col.put(name, new 
ArrayList<String>());
-                                       index2col.get(name).add(col);
-                                       index2unique.put(name, !nonUnique);
-                               }
-                               for (String index: index2col.keySet())
-                               {
-                                       List<String> cols = 
index2col.get(index);
-                                       result.append("CREATE ");
-                                       if (index2unique.get(index)) 
result.append("UNIQUE ");
-                                       result.append("INDEX " + index + " ON " 
+ tableName + " (");
-                                       result.append(strjoin(", ", 
cols.toArray(new String[]{})));
-                                       result.append(")\n");
-                               }
-                        }
-                        catch (SQLException e)
-                        {
-                               System.err.println("Unable to get indexes for 
table "+tableName+" because "+e);
                         }
-                    }
-                } while (rs.next());
-                rs.close();
+                    } while (rs.next());
+                }
+
             }
             return result.toString();
         } catch (SQLException e) {

http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableUtils.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableUtils.java 
b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableUtils.java
index 9c3547d..72e9a1e 100644
--- a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableUtils.java
+++ b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/sql/TableUtils.java
@@ -43,9 +43,10 @@ public class TableUtils
     {
         try {
             Statement s = conn.createStatement() ; // Not closed - happens 
when result set closed
-            ResultSet tableData = s.executeQuery("SELECT * FROM "+tableName) ;
-            RS.printResultSet(tableData) ;
-            tableData.close() ;
+            try ( ResultSet tableData = s.executeQuery("SELECT * FROM 
"+tableName) ) {
+                RS.printResultSet(tableData) ;
+                tableData.close() ;
+            }
         } catch (SQLException ex)
         { throw new SDBExceptionSQL(ex) ; }
     }
@@ -59,18 +60,19 @@ public class TableUtils
        if (types.length == 0) types = null;
        // MySQL bug -- doesn't see temporary tables!
        // Postgres likes lowercase -- I'll try all options
-       ResultSet tableData = connection.getMetaData().getTables(null, null, 
table, types);
-       boolean hasTable = tableData.next();
-       tableData.close();
+       boolean hasTable = false ;
+       try ( ResultSet tableData = connection.getMetaData().getTables(null, 
null, table, types)) {
+           hasTable = tableData.next();
+       } 
        if (!hasTable) { // Try lowercase
-               tableData = connection.getMetaData().getTables(null, null, 
table.toLowerCase(), types);
-               hasTable = tableData.next();
-               tableData.close();
+               try ( ResultSet tableData = 
connection.getMetaData().getTables(null, null, table.toLowerCase(), types) ) {
+                   hasTable = tableData.next();
+               }
        }
        if (!hasTable) { // Try uppercase
-               tableData = connection.getMetaData().getTables(null, null, 
table.toUpperCase(), types);
-               hasTable = tableData.next();
-               tableData.close();
+           try ( ResultSet tableData = 
connection.getMetaData().getTables(null, null, table.toUpperCase(), types) ) {
+               hasTable = tableData.next();
+           }
        }
        
        return hasTable;
@@ -108,13 +110,11 @@ public class TableUtils
     /** Get the size of a table (usually called 'Triples') **/
     public static long getTableSize(Connection connection, String table)
     {
-       long size = -1;
-       try {
-               ResultSet res = 
connection.createStatement().executeQuery("SELECT COUNT(*) FROM " + table);
-               if (res.next())
-                       size = res.getLong(1);
-               res.close();
-       } catch (SQLException e) { throw new SDBExceptionSQL(e) ; }
+        long size = -1;
+        try ( ResultSet res = 
connection.createStatement().executeQuery("SELECT COUNT(*) FROM " + table) ) {
+            if (res.next())
+                size = res.getLong(1);
+        } catch (SQLException e) { throw new SDBExceptionSQL(e) ; }
     
        return size;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/util/StoreUtils.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/util/StoreUtils.java 
b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/util/StoreUtils.java
index 3a9fa7d..90f31e5 100644
--- a/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/util/StoreUtils.java
+++ b/jena-sdb/src/main/java/com/hp/hpl/jena/sdb/util/StoreUtils.java
@@ -124,11 +124,10 @@ public class StoreUtils
     {
         String qs = "SELECT * { GRAPH "+FmtUtils.stringForNode(graphNode)+" { 
?s ?p ?o }} LIMIT 1" ;
         Dataset ds = SDBFactory.connectDataset(store) ;
-        QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ;
-        ResultSet rs = qExec.execSelect() ;
-        boolean b = rs.hasNext() ;
-        qExec.close();
-        return b ;
+        try ( QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ) {
+            ResultSet rs = qExec.execSelect() ;
+            return rs.hasNext() ;
+        }
     }
 
     /**
@@ -183,18 +182,12 @@ public class StoreUtils
     }
 
     private static boolean hasColumns(Connection conn, String tableName, 
Collection<String> colNames) throws SQLException {
-        java.sql.ResultSet res = null;
-        try {
-            res = conn.getMetaData().getColumns(null, null, tableName, null);
+        try ( java.sql.ResultSet res = conn.getMetaData().getColumns(null, 
null, tableName, null) ) {
             while (res.next()) {
                 String colName = res.getString("COLUMN_NAME");
                 colNames.remove(colName.toLowerCase());
             }
             return colNames.isEmpty();
-        } finally {
-            if (res != null) {
-                res.close();
-            }
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/main/java/sdb/sdbquery.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/sdb/sdbquery.java 
b/jena-sdb/src/main/java/sdb/sdbquery.java
index 4c0e459..13e488f 100644
--- a/jena-sdb/src/main/java/sdb/sdbquery.java
+++ b/jena-sdb/src/main/java/sdb/sdbquery.java
@@ -143,15 +143,14 @@ public class sdbquery extends CmdArgsDB
 //                }
                     
                 Query query = modQuery.getQuery() ;
-                QueryExecution qExec = QueryExecutionFactory.create(query, 
getModStore().getDataset()) ;
-                
-                if ( isVerbose() )
-                    
PrintSDB.print(((QueryExecutionBase)qExec).getPlan().getOp()) ;
-                
-                if ( false )
-                    System.err.println("Execute query for loop "+(i+1)+" 
"+memStr()) ;
-                QueryExecUtils.executeQuery(query, qExec, 
modResults.getResultsFormat()) ;
-                qExec.close() ;
+                try ( QueryExecution qExec = 
QueryExecutionFactory.create(query, getModStore().getDataset()) ) {
+                    if ( isVerbose() )
+                        
PrintSDB.print(((QueryExecutionBase)qExec).getPlan().getOp()) ;
+                    
+                    if ( false )
+                        System.err.println("Execute query for loop "+(i+1)+" 
"+memStr()) ;
+                    QueryExecUtils.executeQuery(query, qExec, 
modResults.getResultsFormat()) ;
+                }
             }
             long queryTime = getModTime().endTimer() ;
             totalTime = queryTime ;

http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/QueryTestSDB.java
----------------------------------------------------------------------
diff --git 
a/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/QueryTestSDB.java 
b/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/QueryTestSDB.java
index f1bd4bc..4be421d 100644
--- a/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/QueryTestSDB.java
+++ b/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/QueryTestSDB.java
@@ -179,9 +179,9 @@ public class QueryTestSDB extends EarlTestCase
         else
         {
             QueryEngineFactory f = QueryEngineRef.getFactory() ;
-            QueryExecution qExec1 = new QueryExecutionBase(query, ds, null, f) 
;
-            rs1 = ResultSetFactory.makeRewindable(qExec1.execSelect()) ;
-            qExec1.close() ;
+            try ( QueryExecution qExec1 = new QueryExecutionBase(query, ds, 
null, f) ) {
+                rs1 = ResultSetFactory.makeRewindable(qExec1.execSelect()) ;
+            }
             expectedLabel = "Standard engine" ;
         }
         

http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/StoreList.java
----------------------------------------------------------------------
diff --git 
a/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/StoreList.java 
b/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/StoreList.java
index 551be12..f49db29 100644
--- a/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/StoreList.java
+++ b/jena-sdb/src/test/java/com/hp/hpl/jena/sdb/test/junit/StoreList.java
@@ -122,8 +122,7 @@ public class StoreList
         Model model = FileManager.get().loadModel(fn) ;
         List<Pair<String, String>> data = new ArrayList<Pair<String, 
String>>();
         Query query = QueryFactory.create(queryString) ;
-        QueryExecution qExec = QueryExecutionFactory.create(query, model) ;
-        try {
+        try ( QueryExecution qExec = QueryExecutionFactory.create(query, 
model) ) {
             ResultSet rs = qExec.execSelect() ;
             
             for ( ; rs.hasNext() ; )
@@ -133,7 +132,7 @@ public class StoreList
                 String desc = qs.getResource("desc").getURI() ;
                 data.add(new Pair<String, String>(label, desc)) ;
             }
-        } finally { qExec.close() ; }
+        }
         return data ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/test/java/sdb/test/TestDB.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/sdb/test/TestDB.java 
b/jena-sdb/src/test/java/sdb/test/TestDB.java
index 61f95de..7310d85 100644
--- a/jena-sdb/src/test/java/sdb/test/TestDB.java
+++ b/jena-sdb/src/test/java/sdb/test/TestDB.java
@@ -52,15 +52,11 @@ public class TestDB
     protected void exec(String sql, Object... args) throws SQLException
     {
         sql = sqlFormat(sql, args) ;
-        Statement stmt = null ;
-        try {
-            stmt = jdbc.createStatement() ;
+        try ( Statement stmt = jdbc.createStatement() ) {
             if ( verbose )
                 System.out.println(sql) ;
             stmt.execute(sql) ;
-        } finally {
-            if ( stmt != null ) stmt.close() ;
-        }
+        } 
     }
     
     protected ResultSet execQuery(String sql, Object... args) throws 
SQLException

http://git-wip-us.apache.org/repos/asf/jena/blob/6ac57719/jena-sdb/src/test/java/sdb/test/TestStringBase.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/sdb/test/TestStringBase.java 
b/jena-sdb/src/test/java/sdb/test/TestStringBase.java
index c49c647..2cb693e 100644
--- a/jena-sdb/src/test/java/sdb/test/TestStringBase.java
+++ b/jena-sdb/src/test/java/sdb/test/TestStringBase.java
@@ -88,35 +88,32 @@ public class TestStringBase extends TestDB
         catch (SQLException ex)
         { throw ex ; } 
         ps.close() ;
-
-        ResultSet rs = execQuery("SELECT %s FROM %s ", colName, tempTableName 
) ;
-        rs.next() ;
-        // In Oracle an empty string is a NULL.  This is not ANSI compliant.
-        
-        String s = rs.getString(1) ;
-        if ( s == null )
-            s = "" ;
-        byte[] b = rs.getBytes(1) ;
-        
         
-//        boolean wasNull = rs.wasNull() ;
-//        if ( testString != null && wasNull )
-//            fail(testLabel+" : Got null back") ;
-
-        rs.close() ;
-        
-        if ( ! testString.equals(s) )   // Debug point
-        {
-            for ( int i = 0 ; i < s.length() ; i++ )
+        try (ResultSet rs = execQuery("SELECT %s FROM %s ", colName, 
tempTableName )) {
+            rs.next() ;
+            // In Oracle an empty string is a NULL.  This is not ANSI 
compliant.
+
+            String s = rs.getString(1) ;
+            if ( s == null )
+                s = "" ;
+            byte[] b = rs.getBytes(1) ;
+
+            //        boolean wasNull = rs.wasNull() ;
+            //        if ( testString != null && wasNull )
+            //            fail(testLabel+" : Got null back") ;
+            if ( ! testString.equals(s) )   // Debug point
             {
-                System.out.printf("%x:%x ", (int)testString.charAt(i), 
(int)s.charAt(i)) ;
+                for ( int i = 0 ; i < s.length() ; i++ )
+                {
+                    System.out.printf("%x:%x ", (int)testString.charAt(i), 
(int)s.charAt(i)) ;
+                }
+                System.out.println() ;
+                String $ = s ;              // Pointless
             }
-            System.out.println() ;
-            String $ = s ;              // Pointless
+
+            assertEquals(testLabel+" : "+label, testString, s) ;
+            //System.out.println("Passed: "+label) ;
         }
-                   
-        assertEquals(testLabel+" : "+label, testString, s) ;
-        //System.out.println("Passed: "+label) ;
     }
 
     private void runBytesTest(String label, String testString, String colName, 
String colType) throws Exception
@@ -138,25 +135,25 @@ public class TestStringBase extends TestDB
         { throw ex ; } 
         ps.close() ;
 
-        ResultSet rs = execQuery("SELECT %s FROM %s ", colName, tempTableName 
) ;
-        rs.next() ;
-        byte[]b = rs.getBytes(1) ;
-        
-//        boolean wasNull = rs.wasNull() ;
-//        if ( testString != null && wasNull )
-//            fail(testLabel+": got an SQL null back") ;
+        try ( ResultSet rs = execQuery("SELECT %s FROM %s ", colName, 
tempTableName ) ) {
+            rs.next() ;
+            byte[]b = rs.getBytes(1) ;
+
+            //        boolean wasNull = rs.wasNull() ;
+            //        if ( testString != null && wasNull )
+            //            fail(testLabel+": got an SQL null back") ;
 
             // In Oracle, an empty binary is a NULL.  This is not ANSI 
compliant.
-        String s = "" ;
-        if ( b != null )
-            s = bytesToString(b) ;
-        rs.close() ;
-        if ( ! testString.equals(s) )   // Debug point
-        {
-            String $ = s ;              // Pointless
-        }
-        assertEquals(testLabel+" : "+label, testString, s) ;
-        //System.out.println("Passed: "+label) ;
+            String s = "" ;
+            if ( b != null )
+                s = bytesToString(b) ;
+            if ( ! testString.equals(s) )   // Debug point
+            {
+                String $ = s ;              // Pointless
+            }
+            assertEquals(testLabel+" : "+label, testString, s) ;
+            //System.out.println("Passed: "+label) ;
+    }
     }
     
      // String(byte[], Charset) and .getBytes(Charset) are Java6-isms.

Reply via email to