[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