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

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Feb 11 01:58:42 EST 2011


Author: tolusha
Date: 2011-02-11 01:58:42 -0500 (Fri, 11 Feb 2011)
New Revision: 3961

Added:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/Reindexable.java
Removed:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/Indexable.java
Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java
Log:
EXOJCR-1104: don't support rdbmsReindexing for HSQLDB


Deleted: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/Indexable.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/Indexable.java	2011-02-10 13:40:09 UTC (rev 3960)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/Indexable.java	2011-02-11 06:58:42 UTC (rev 3961)
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2009 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.core.query;
-
-import javax.jcr.RepositoryException;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * Date: 1 02 2011
- * 
- * @author <a href="mailto:anatoliy.bazko at exoplatform.com.ua">Anatoliy Bazko</a>
- * @version $Id: Indexable.java 34360 2010-11-11 11:11:11Z tolusha $
- */
-public interface Indexable
-{
-   /**
-    * Returns NodeDataIndexingIterator.
-    * 
-    * @param pageSize 
-    *          the maximum amount of the rows which can be retrieved from storage per once
-    * @return NodeDataIndexingIterator
-    * @throws RepositoryException
-    */
-   NodeDataIndexingIterator getNodeDataIndexingIterator(int pageSize) throws RepositoryException;
-
-   /**
-    * Indicates if component support extracting data from storage using paging.
-    * 
-    * @return boolean
-    */
-   boolean isPagingSupport();
-
-}

Added: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/Reindexable.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/Reindexable.java	                        (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/Reindexable.java	2011-02-11 06:58:42 UTC (rev 3961)
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2009 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.core.query;
+
+import javax.jcr.RepositoryException;
+
+/**
+ * Created by The eXo Platform SAS.
+ *
+ * Date: 1 02 2011
+ * 
+ * @author <a href="mailto:anatoliy.bazko at exoplatform.com.ua">Anatoliy Bazko</a>
+ * @version $Id: Reindexable.java 34360 2010-11-11 11:11:11Z tolusha $
+ */
+public interface Reindexable
+{
+   /**
+    * Returns NodeDataIndexingIterator.
+    * 
+    * @param pageSize 
+    *          the maximum amount of the rows which can be retrieved from storage per once
+    * @return NodeDataIndexingIterator
+    * @throws RepositoryException
+    */
+   NodeDataIndexingIterator getNodeDataIndexingIterator(int pageSize) throws RepositoryException;
+
+   /**
+    * Indicates if component support extracting data from storage using paging.
+    * 
+    * @return boolean
+    */
+   boolean isReindexingSupport();
+
+}

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2011-02-10 13:40:09 UTC (rev 3960)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2011-02-11 06:58:42 UTC (rev 3961)
@@ -26,12 +26,12 @@
 import org.exoplatform.services.jcr.datamodel.NodeData;
 import org.exoplatform.services.jcr.datamodel.NodeDataIndexing;
 import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.core.query.Indexable;
 import org.exoplatform.services.jcr.impl.core.query.IndexerIoMode;
 import org.exoplatform.services.jcr.impl.core.query.IndexerIoModeHandler;
 import org.exoplatform.services.jcr.impl.core.query.IndexerIoModeListener;
 import org.exoplatform.services.jcr.impl.core.query.IndexingTree;
 import org.exoplatform.services.jcr.impl.core.query.NodeDataIndexingIterator;
+import org.exoplatform.services.jcr.impl.core.query.Reindexable;
 import org.exoplatform.services.jcr.impl.core.query.lucene.directory.DirectoryManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -434,12 +434,15 @@
 
             long count;
 
-            // check if we have deal with RDBMS indexing mechanism
-            Indexable rdbmsIndexableComponent = (Indexable)handler.getContext().getContainer().getComponent(Indexable.class);
-            if (handler.isRDBMSReindexing() && rdbmsIndexableComponent != null && rdbmsIndexableComponent.isPagingSupport())
+            // check if we have deal with RDBMS reindexing mechanism
+            Reindexable rdbmsReindexableComponent =
+               (Reindexable)handler.getContext().getContainer().getComponent(Reindexable.class);
+
+            if (handler.isRDBMSReindexing() && rdbmsReindexableComponent != null
+               && rdbmsReindexableComponent.isReindexingSupport())
             {
                count =
-                  createIndex(rdbmsIndexableComponent.getNodeDataIndexingIterator(handler.getReindexingPageSize()),
+                  createIndex(rdbmsReindexableComponent.getNodeDataIndexingIterator(handler.getReindexingPageSize()),
                      indexingTree.getIndexingRoot());
             }
             else

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java	2011-02-10 13:40:09 UTC (rev 3960)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java	2011-02-11 06:58:42 UTC (rev 3961)
@@ -1028,7 +1028,9 @@
       checkIfOpened();
       try
       {
+         long start = System.currentTimeMillis();
          ResultSet resultSet = findNodesAndProperties(offset, limit);
+         LOG.debug("offset=" + offset + " limit=" + limit + " time=" + (System.currentTimeMillis() - start));
 
          try
          {

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java	2011-02-10 13:40:09 UTC (rev 3960)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java	2011-02-11 06:58:42 UTC (rev 3961)
@@ -37,8 +37,8 @@
 import org.exoplatform.services.jcr.impl.backup.rdbms.DirectoryRestor;
 import org.exoplatform.services.jcr.impl.backup.rdbms.RestoreTableRule;
 import org.exoplatform.services.jcr.impl.clean.rdbms.DBCleanService;
-import org.exoplatform.services.jcr.impl.core.query.Indexable;
 import org.exoplatform.services.jcr.impl.core.query.NodeDataIndexingIterator;
+import org.exoplatform.services.jcr.impl.core.query.Reindexable;
 import org.exoplatform.services.jcr.impl.dataflow.serialization.ObjectReaderImpl;
 import org.exoplatform.services.jcr.impl.dataflow.serialization.ObjectWriterImpl;
 import org.exoplatform.services.jcr.impl.storage.WorkspaceDataContainerBase;
@@ -100,7 +100,7 @@
  * @version $Id:GenericWorkspaceDataContainer.java 13433 2007-03-15 16:07:23Z peterit $
  */
 public class JDBCWorkspaceDataContainer extends WorkspaceDataContainerBase implements Startable, JdbcBackupable,
-   Indexable
+   Reindexable
 {
 
    protected static final Log LOG = ExoLogger.getLogger("exo.jcr.component.core.JDBCWorkspaceDataContainer");
@@ -1537,8 +1537,8 @@
    /**
     * {@inheritDoc}
     */
-   public boolean isPagingSupport()
+   public boolean isReindexingSupport()
    {
-      return !dbDialect.equals(DBConstants.DB_DIALECT_SYBASE);
+      return !dbDialect.equals(DBConstants.DB_DIALECT_SYBASE) && !dbDialect.equals(DBConstants.DB_DIALECT_HSQLDB);
    }
 }



More information about the exo-jcr-commits mailing list