[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