[exo-jcr-commits] exo-jcr SVN: r2459 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: storage/jdbc/init and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Jun 3 08:44:17 EDT 2010
Author: tolusha
Date: 2010-06-03 08:44:17 -0400 (Thu, 03 Jun 2010)
New Revision: 2459
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/JDBCConfigurationPersister.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/IngresSQLDBInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/OracleDBInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/StorageDBInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBInitializer.java
Log:
EXOJCR-754: close statements
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/JDBCConfigurationPersister.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/JDBCConfigurationPersister.java 2010-06-03 09:41:41 UTC (rev 2458)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/JDBCConfigurationPersister.java 2010-06-03 12:44:17 UTC (rev 2459)
@@ -34,6 +34,7 @@
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
import javax.naming.InitialContext;
import javax.naming.NamingException;
@@ -241,6 +242,7 @@
}
finally
{
+ ps.close();
con.close();
}
}
@@ -264,12 +266,13 @@
try
{
Connection con = openConnection();
+ PreparedStatement ps = null;
try
{
if (isDbInitialized(con))
{
- PreparedStatement ps = con.prepareStatement("SELECT * FROM " + configTableName + " WHERE NAME=?");
+ ps = con.prepareStatement("SELECT * FROM " + configTableName + " WHERE NAME=?");
ps.setString(1, CONFIGNAME);
ResultSet res = ps.executeQuery();
@@ -290,6 +293,10 @@
}
finally
{
+ if (ps != null)
+ {
+ ps.close();
+ }
con.close();
}
}
@@ -324,7 +331,9 @@
if (!isDbInitialized(con))
{
// init db
- con.createStatement().executeUpdate(sql = initSQL);
+ Statement st = con.createStatement();
+ st.executeUpdate(sql = initSQL);
+ st.close();
con.commit();
con.close();
@@ -362,6 +371,7 @@
.warn("Repository service configuration doesn't stored ok. No rows was affected in JDBC operation. Datasource "
+ sourceName + ". SQL: " + sql);
}
+ ps.close();
}
else
throw new ConfigurationNotInitializedException(
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/IngresSQLDBInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/IngresSQLDBInitializer.java 2010-06-03 09:41:41 UTC (rev 2458)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/IngresSQLDBInitializer.java 2010-06-03 12:44:17 UTC (rev 2459)
@@ -22,6 +22,7 @@
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
/**
* Created by The eXo Platform SAS
@@ -68,9 +69,11 @@
protected boolean isSequenceExists(Connection conn, String sequenceName) throws SQLException
{
String seqName = sequenceName.toUpperCase().toLowerCase();
+ Statement st = null;
try
{
- ResultSet srs = conn.createStatement().executeQuery("SELECT NEXT VALUE FOR " + seqName);
+ st = conn.createStatement();
+ ResultSet srs = st.executeQuery("SELECT NEXT VALUE FOR " + seqName);
if (srs.next())
{
return true;
@@ -96,6 +99,13 @@
}
};
}
+ finally
+ {
+ if (st != null)
+ {
+ st.close();
+ }
+ }
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/OracleDBInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/OracleDBInitializer.java 2010-06-03 09:41:41 UTC (rev 2458)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/OracleDBInitializer.java 2010-06-03 12:44:17 UTC (rev 2459)
@@ -22,6 +22,7 @@
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
/**
* Created by The eXo Platform SAS
@@ -46,9 +47,10 @@
@Override
protected boolean isSequenceExists(Connection conn, String sequenceName) throws SQLException
{
+ Statement st = conn.createStatement();
try
{
- ResultSet srs = conn.createStatement().executeQuery("SELECT " + sequenceName + ".nextval FROM DUAL");
+ ResultSet srs = st.executeQuery("SELECT " + sequenceName + ".nextval FROM DUAL");
if (srs.next())
{
return true;
@@ -63,17 +65,29 @@
return false;
throw e;
}
+ finally
+ {
+ st.close();
+ }
}
@Override
protected boolean isTriggerExists(Connection conn, String triggerName) throws SQLException
{
String sql = "SELECT COUNT(trigger_name) FROM all_triggers WHERE trigger_name = '" + triggerName + "'";
- ResultSet r = conn.createStatement().executeQuery(sql);
- if (r.next())
- return r.getInt(1) > 0;
- else
- return false;
+ Statement st = conn.createStatement();
+ try
+ {
+ ResultSet r = st.executeQuery(sql);
+ if (r.next())
+ return r.getInt(1) > 0;
+ else
+ return false;
+ }
+ finally
+ {
+ st.close();
+ }
}
@Override
@@ -81,7 +95,9 @@
{
try
{
- conn.createStatement().executeUpdate("SELECT 1 FROM " + tableName);
+ Statement st = conn.createStatement();
+ st.executeUpdate("SELECT 1 FROM " + tableName);
+ st.close();
return true;
}
catch (SQLException e)
@@ -98,10 +114,18 @@
{
// use of oracle system view
String sql = "SELECT COUNT(index_name) FROM all_indexes WHERE index_name='" + indexName + "'";
- ResultSet r = conn.createStatement().executeQuery(sql);
- if (r.next())
- return r.getInt(1) > 0;
- else
- return false;
+ Statement st = conn.createStatement();
+ ResultSet r = st.executeQuery(sql);
+ try
+ {
+ if (r.next())
+ return r.getInt(1) > 0;
+ else
+ return false;
+ }
+ finally
+ {
+ st.close();
+ }
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/StorageDBInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/StorageDBInitializer.java 2010-06-03 09:41:41 UTC (rev 2458)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/init/StorageDBInitializer.java 2010-06-03 12:44:17 UTC (rev 2459)
@@ -24,6 +24,7 @@
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
+import java.sql.Statement;
/**
* JCR Storage DB initializer.
@@ -37,7 +38,7 @@
{
protected final boolean multiDb;
-
+
public StorageDBInitializer(String containerName, Connection connection, String scriptPath, boolean multiDb)
throws IOException
{
@@ -55,7 +56,8 @@
"select * from JCR_" + MDB + "ITEM where ID='" + Constants.ROOT_PARENT_UUID + "' and PARENT_ID='"
+ Constants.ROOT_PARENT_UUID + "'";
- if (!connection.createStatement().executeQuery(select).next())
+ Statement st = connection.createStatement();
+ if (!st.executeQuery(select).next())
{
String insert =
"insert into JCR_" + MDB + "ITEM(ID, PARENT_ID, NAME, " + (multiDb ? "" : "CONTAINER_NAME, ")
@@ -63,7 +65,8 @@
+ Constants.ROOT_PARENT_UUID + "', '__root_parent', " + (multiDb ? "" : "'__root_parent_container', ")
+ "0, 0, 0, 0)";
- connection.createStatement().executeUpdate(insert);
+ st.executeUpdate(insert);
}
+ st.close();
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java 2010-06-03 09:41:41 UTC (rev 2458)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java 2010-06-03 12:44:17 UTC (rev 2459)
@@ -29,6 +29,7 @@
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@@ -204,16 +205,17 @@
// check if table already exists
if (!trs.next())
{
+ Statement st = conn.createStatement();
+
// create table
- conn.createStatement().executeUpdate(
- "CREATE TABLE " + tableName
- + " (PROPERTY_ID VARCHAR(96) NOT NULL, ORDER_NUM INTEGER NOT NULL, CAS_ID VARCHAR(512) NOT NULL, "
- + "CONSTRAINT " + sqlConstraintPK + " PRIMARY KEY(PROPERTY_ID, ORDER_NUM))");
+ st.executeUpdate("CREATE TABLE " + tableName
+ + " (PROPERTY_ID VARCHAR(96) NOT NULL, ORDER_NUM INTEGER NOT NULL, CAS_ID VARCHAR(512) NOT NULL, "
+ + "CONSTRAINT " + sqlConstraintPK + " PRIMARY KEY(PROPERTY_ID, ORDER_NUM))");
// create index on hash (CAS_ID)
- conn.createStatement().executeUpdate(
- "CREATE INDEX " + sqlVCASIDX + " ON " + tableName + "(CAS_ID, PROPERTY_ID, ORDER_NUM)");
+ st.executeUpdate("CREATE INDEX " + sqlVCASIDX + " ON " + tableName + "(CAS_ID, PROPERTY_ID, ORDER_NUM)");
+ st.close();
if (LOG.isDebugEnabled())
{
LOG.debug("JDBC Value Content Address Storage initialized in database " + sn);
@@ -403,9 +405,10 @@
try
{
Connection con = dataSource.getConnection();
+ PreparedStatement ps = null;
try
{
- PreparedStatement ps = con.prepareStatement(sqlSelectRecord);
+ ps = con.prepareStatement(sqlSelectRecord);
ps.setString(1, propertyId);
ps.setInt(2, orderNum);
ResultSet rs = ps.executeQuery();
@@ -422,6 +425,10 @@
}
finally
{
+ if (ps != null)
+ {
+ ps.close();
+ }
con.close();
}
}
@@ -439,10 +446,10 @@
try
{
Connection con = dataSource.getConnection();
+ PreparedStatement ps = null;
try
{
List<String> ids = new ArrayList<String>();
- PreparedStatement ps;
if (ownOnly)
{
@@ -488,6 +495,10 @@
}
finally
{
+ if (ps != null)
+ {
+ ps.close();
+ }
con.close();
}
}
@@ -505,14 +516,19 @@
try
{
Connection con = dataSource.getConnection();
+ PreparedStatement ps = null;
try
{
- PreparedStatement ps = con.prepareStatement(sqlSelectSharingProps);
+ ps = con.prepareStatement(sqlSelectSharingProps);
ps.setString(1, propertyId);
return ps.executeQuery().next();
}
finally
{
+ if (ps != null)
+ {
+ ps.close();
+ }
con.close();
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBInitializer.java 2010-06-03 09:41:41 UTC (rev 2458)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBInitializer.java 2010-06-03 12:44:17 UTC (rev 2459)
@@ -28,6 +28,7 @@
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -324,9 +325,11 @@
}
String sql = null;
+ Statement st = null;
try
{
connection.setAutoCommit(false);
+ st = connection.createStatement();
for (String scr : scripts)
{
@@ -341,7 +344,7 @@
LOG.debug("Execute script: \n[" + sql + "]");
}
- connection.createStatement().executeUpdate(sql);
+ st.executeUpdate(sql);
}
}
@@ -379,6 +382,10 @@
{
try
{
+ if (st != null)
+ {
+ st.close();
+ }
connection.close();
}
catch (SQLException e)
More information about the exo-jcr-commits
mailing list