[exo-jcr-commits] exo-jcr SVN: r5937 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: core/lock and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Mar 22 05:48:40 EDT 2012


Author: tolusha
Date: 2012-03-22 05:48:39 -0400 (Thu, 22 Mar 2012)
New Revision: 5937

Removed:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQueryFilteredMultivaluedProperties.java
Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQuery.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/AbstractLockTableHandler.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainerChecker.java
Log:
EXOJCR-1754: testing on DB, fix for DB2

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQuery.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQuery.java	2012-03-22 09:21:04 UTC (rev 5936)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQuery.java	2012-03-22 09:48:39 UTC (rev 5937)
@@ -18,9 +18,6 @@
  */
 package org.exoplatform.services.jcr.impl.checker;
 
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
 
 /**
  * @author <a href="mailto:aplotnikov at exoplatform.com">Andrey Plotnikov</a>
@@ -78,19 +75,4 @@
    {
       return repair;
    }
-
-   /**
-    * Creates a PreparedStatement object for sending parameterized SQL statements to the database. 
-    * 
-    * @param connection
-    *          connection to workspace storage
-    * @return
-    *          a new default PreparedStatement object containing the pre-compiled SQL statement 
-    * @throws SQLException
-    *           if a database access error occurs or this method is called on a closed connection
-    */
-   public PreparedStatement prepareStatement(Connection connection) throws SQLException
-   {
-      return connection.prepareStatement(statement);
-   }
 }

Deleted: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQueryFilteredMultivaluedProperties.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQueryFilteredMultivaluedProperties.java	2012-03-22 09:21:04 UTC (rev 5936)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQueryFilteredMultivaluedProperties.java	2012-03-22 09:48:39 UTC (rev 5937)
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2012 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.exoplatform.services.jcr.impl.checker;
-
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-
-/**
- * @author <a href="mailto:aplotnikov at exoplatform.com">Andrey Plotnikov</a>
- * @version $Id: InspectionQueryFilteredMultivaluedProperties.java 34360 16.02.2012 andrew.plotnikov $
- */
-public class InspectionQueryFilteredMultivaluedProperties extends InspectionQuery
-{
-
-   /**
-    * {@inheritDoc}
-    */
-   public InspectionQueryFilteredMultivaluedProperties(String statement, String[] fieldNames, String headerMessage,
-      InconsistencyRepair repair)
-   {
-      super(statement, fieldNames, headerMessage, repair);
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   public PreparedStatement prepareStatement(Connection connection) throws SQLException
-   {
-      PreparedStatement preparedStatement = super.prepareStatement(connection);
-      preparedStatement.setBoolean(1, false);
-
-      return preparedStatement;
-   }
-
-}

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/AbstractLockTableHandler.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/AbstractLockTableHandler.java	2012-03-22 09:21:04 UTC (rev 5936)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/AbstractLockTableHandler.java	2012-03-22 09:48:39 UTC (rev 5937)
@@ -71,7 +71,7 @@
       {
          InspectionQuery query = getSelectQuery();
 
-         preparedStatement = query.prepareStatement(jdbcConnection);
+         preparedStatement = jdbcConnection.prepareStatement(query.getStatement());
          resultSet = preparedStatement.executeQuery();
 
          while (resultSet.next())
@@ -103,7 +103,7 @@
       {
          InspectionQuery query = getDeleteQuery(nodeId);
 
-         preparedStatement = query.prepareStatement(jdbcConnection);
+         preparedStatement = jdbcConnection.prepareStatement(query.getStatement());
          preparedStatement.executeUpdate();
       }
       finally

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainerChecker.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainerChecker.java	2012-03-22 09:21:04 UTC (rev 5936)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainerChecker.java	2012-03-22 09:48:39 UTC (rev 5937)
@@ -31,7 +31,6 @@
 import org.exoplatform.services.jcr.impl.checker.DummyRepair;
 import org.exoplatform.services.jcr.impl.checker.EarlierVersionsRemover;
 import org.exoplatform.services.jcr.impl.checker.InspectionQuery;
-import org.exoplatform.services.jcr.impl.checker.InspectionQueryFilteredMultivaluedProperties;
 import org.exoplatform.services.jcr.impl.checker.InspectionReport;
 import org.exoplatform.services.jcr.impl.checker.NodeRemover;
 import org.exoplatform.services.jcr.impl.checker.PropertyRemover;
@@ -122,7 +121,7 @@
       try
       {
          jdbcConnection = jdbcDataContainer.getConnectionFactory().getJdbcConnection();
-         preparedStatement = lockInspectionQuery.prepareStatement(jdbcConnection);
+         preparedStatement = jdbcConnection.prepareStatement(lockInspectionQuery.getStatement());
          resultSet = preparedStatement.executeQuery();
 
          Set<String> lockedInJCRITEM = new HashSet<String>();
@@ -236,7 +235,7 @@
             ResultSet resultSet = null;
             try
             {
-               st = query.prepareStatement(jdbcConn);
+               st = jdbcConn.prepareStatement(query.getStatement());
 
                resultSet = st.executeQuery();
                if (resultSet.next())
@@ -300,7 +299,7 @@
       try
       {
          connection = jdbcDataContainer.getConnectionFactory().getJdbcConnection();
-         st = vsInspectionQuery.prepareStatement(connection);
+         st = connection.prepareStatement(vsInspectionQuery.getStatement());
          resultSet = st.executeQuery();
 
          if (resultSet.next())
@@ -505,13 +504,29 @@
          DBConstants.COLUMN_ID, DBConstants.COLUMN_PARENTID, DBConstants.COLUMN_NAME, DBConstants.COLUMN_CLASS},
          "Items that do not have parent nodes", new RootAsParentAssigner(jdbcDataContainer.getConnectionFactory())));
 
-      itemsInspectionQuery.add(new InspectionQueryFilteredMultivaluedProperties(singleDatabase ? "select * from "
-         + itemTable + " P where P.CONTAINER_NAME='" + jdbcDataContainer.containerConfig.containerName
-         + "' and P.I_CLASS=2" + " and P.P_MULTIVALUED=? and NOT EXISTS( select * from " + valueTable
-         + " V where V.PROPERTY_ID=P.ID)" : "select * from " + itemTable
-         + " P where P.I_CLASS=2 and P.P_MULTIVALUED=? and NOT EXISTS( select * from " + valueTable + " V "
-         + "where V.PROPERTY_ID=P.ID)", new String[]{DBConstants.COLUMN_ID, DBConstants.COLUMN_PARENTID,
-         DBConstants.COLUMN_NAME},
+      String statement =
+         singleDatabase ? "select * from " + itemTable + " P where P.CONTAINER_NAME='"
+            + jdbcDataContainer.containerConfig.containerName + "' and P.I_CLASS=2"
+            + " and P.P_MULTIVALUED=? and NOT EXISTS( select * from " + valueTable + " V where V.PROPERTY_ID=P.ID)"
+            : "select * from " + itemTable
+               + " P where P.I_CLASS=2 and P.P_MULTIVALUED=? and NOT EXISTS( select * from " + valueTable + " V "
+               + "where V.PROPERTY_ID=P.ID)";
+
+      if (jdbcDataContainer.containerConfig.dbDialect.equalsIgnoreCase(DBConstants.DB_DIALECT_PGSQL))
+      {
+         statement = statement.replace("?", "'f'");
+      }
+      else if (jdbcDataContainer.containerConfig.dbDialect.equalsIgnoreCase(DBConstants.DB_DIALECT_HSQLDB))
+      {
+         statement = statement.replace("?", "FALSE");
+      }
+      else
+      {
+         statement = statement.replace("?", "0");
+      }
+
+      itemsInspectionQuery.add(new InspectionQuery(statement, new String[]{DBConstants.COLUMN_ID,
+         DBConstants.COLUMN_PARENTID, DBConstants.COLUMN_NAME},
          "A node that has a single valued properties with nothing declared in the VALUE table.", new PropertyRemover(
             jdbcDataContainer.getConnectionFactory(), nodeTypeManager)));
 
@@ -535,7 +550,6 @@
             jdbcDataContainer.containerConfig.containerName, jdbcDataContainer.containerConfig.dbStructureType.isMultiDatabase())));
 
       // The differences in the queries by DB dialect.
-      String statement;
       if (jdbcDataContainer.containerConfig.dbDialect.equalsIgnoreCase(DBConstants.DB_DIALECT_SYBASE))
       {
          statement =



More information about the exo-jcr-commits mailing list