exo-jcr SVN: r3934 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc: db and 1 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-02-07 11:24:25 -0500 (Mon, 07 Feb 2011)
New Revision: 3934
Added:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/DefaultOracleConnectionFactory.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleMultiDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleSingleDbJDBCConnection.java
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/db/OracleConnectionFactory.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/OracleMultiDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/OracleSingleDbJDBCConnection.java
Log:
EXOJCR-1104: support oracle paging
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-07 11:54:02 UTC (rev 3933)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java 2011-02-07 16:24:25 UTC (rev 3934)
@@ -42,6 +42,7 @@
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;
+import org.exoplatform.services.jcr.impl.storage.jdbc.db.DefaultOracleConnectionFactory;
import org.exoplatform.services.jcr.impl.storage.jdbc.db.GenericConnectionFactory;
import org.exoplatform.services.jcr.impl.storage.jdbc.db.HSQLDBConnectionFactory;
import org.exoplatform.services.jcr.impl.storage.jdbc.db.MySQLConnectionFactory;
@@ -646,7 +647,13 @@
// sample of connection factory customization
if (dbSourceName != null)
{
- this.connFactory = defaultConnectionFactory();
+ DataSource ds = (DataSource)new InitialContext().lookup(dbSourceName);
+ if (ds != null)
+ this.connFactory =
+ new DefaultOracleConnectionFactory(ds, containerName, multiDb, valueStorageProvider, maxBufferSize,
+ swapDirectory, swapCleaner);
+ else
+ throw new RepositoryException("Datasource '" + dbSourceName + "' is not bound in this context.");
}
else
{
@@ -662,7 +669,21 @@
}
else if (dbDialect == DBConstants.DB_DIALECT_ORACLE)
{
- this.connFactory = defaultConnectionFactory();
+ if (dbSourceName != null)
+ {
+ DataSource ds = (DataSource)new InitialContext().lookup(dbSourceName);
+ if (ds != null)
+ this.connFactory =
+ new DefaultOracleConnectionFactory(ds, containerName, multiDb, valueStorageProvider, maxBufferSize,
+ swapDirectory, swapCleaner);
+ else
+ throw new RepositoryException("Datasource '" + dbSourceName + "' is not bound in this context.");
+ }
+ else
+ this.connFactory =
+ new DefaultOracleConnectionFactory(dbDriver, dbUrl, dbUserName, dbPassword, containerName, multiDb,
+ valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+
sqlPath = "/conf/storage/jcr-" + (multiDb ? "m" : "s") + "jdbc.ora.sql";
dbInitilizer = new OracleDBInitializer(containerName, this.connFactory.getJdbcConnection(), sqlPath, multiDb);
}
Added: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/DefaultOracleConnectionFactory.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/DefaultOracleConnectionFactory.java (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/DefaultOracleConnectionFactory.java 2011-02-07 16:24:25 UTC (rev 3934)
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2003-2010 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.storage.jdbc.db;
+
+import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
+import org.exoplatform.services.jcr.storage.value.ValueStoragePluginProvider;
+
+import java.io.File;
+import java.sql.SQLException;
+
+import javax.jcr.RepositoryException;
+import javax.sql.DataSource;
+
+/**
+ * Created by The eXo Platform SAS
+ * Author : Nicolas Filotto
+ * nicolas.filotto(a)exoplatform.com
+ * 19 mars 2010
+ */
+public class DefaultOracleConnectionFactory extends GenericConnectionFactory
+{
+
+ /**
+ * DefaultOracleConnectionFactory constructor.
+ *
+ * @param dataSource
+ * - DataSource
+ * @param containerName
+ * - Container name (see configuration)
+ * @param multiDb
+ * - multidatabase state flag
+ * @param valueStorageProvider
+ * - external Value Storages provider
+ * @param maxBufferSize
+ * - Maximum buffer size (see configuration)
+ * @param swapDirectory
+ * - Swap directory (see configuration)
+ * @param swapCleaner
+ * - Swap cleaner (internal FileCleaner).
+ */
+ public DefaultOracleConnectionFactory(DataSource dataSource, String containerName, boolean multiDb,
+ ValueStoragePluginProvider valueStorageProvider, int maxBufferSize, File swapDirectory, FileCleaner swapCleaner)
+ {
+ super(dataSource, containerName, multiDb, valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+ }
+
+ /**
+ * DefaultOracleConnectionFactory constructor.
+ *
+ *@param dataSource
+ * - DataSource
+ * @param dbDriver
+ * - JDBC Driver
+ * @param dbUrl
+ * - JDBC URL
+ * @param dbUserName
+ * - database username
+ * @param dbPassword
+ * - database user password
+ * @param containerName
+ * - Container name (see configuration)
+ * @param multiDb
+ * - multidatabase state flag
+ * @param valueStorageProvider
+ * - external Value Storages provider
+ * @param maxBufferSize
+ * - Maximum buffer size (see configuration)
+ * @param swapDirectory
+ * - Swap directory (see configuration)
+ * @param swapCleaner
+ * - Swap cleaner (internal FileCleaner).
+ * @throws RepositoryException
+ * if error occurs
+ */
+ public DefaultOracleConnectionFactory(String dbDriver, String dbUrl, String dbUserName, String dbPassword,
+ String containerName, boolean multiDb, ValueStoragePluginProvider valueStorageProvider, int maxBufferSize,
+ File swapDirectory, FileCleaner swapCleaner) throws RepositoryException
+ {
+ super(dbDriver, dbUrl, dbUserName, dbPassword, containerName, multiDb, valueStorageProvider, maxBufferSize,
+ swapDirectory, swapCleaner);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public WorkspaceStorageConnection openConnection(boolean readOnly) throws RepositoryException
+ {
+ try
+ {
+ if (multiDb)
+ {
+ return new OracleMultiDbJDBCConnection(getJdbcConnection(readOnly), readOnly, containerName,
+ valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+ }
+
+ return new OracleSingleDbJDBCConnection(getJdbcConnection(readOnly), readOnly, containerName,
+ valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+ }
+ catch (SQLException e)
+ {
+ throw new RepositoryException(e);
+ }
+ }
+}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleConnectionFactory.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleConnectionFactory.java 2011-02-07 11:54:02 UTC (rev 3933)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleConnectionFactory.java 2011-02-07 16:24:25 UTC (rev 3934)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.storage.jdbc.db;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.jcr.storage.value.ValueStoragePluginProvider;
import java.io.File;
@@ -26,6 +27,7 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.Connection;
+import java.sql.SQLException;
import java.util.Properties;
import javax.jcr.RepositoryException;
@@ -213,4 +215,27 @@
return conn;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public WorkspaceStorageConnection openConnection(boolean readOnly) throws RepositoryException
+ {
+ try
+ {
+ if (multiDb)
+ {
+ return new OracleMultiDbJDBCConnection(getJdbcConnection(readOnly), readOnly, containerName,
+ valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+ }
+
+ return new OracleSingleDbJDBCConnection(getJdbcConnection(readOnly), readOnly, containerName,
+ valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+ }
+ catch (SQLException e)
+ {
+ throw new RepositoryException(e);
+ }
+ }
+
}
Added: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleMultiDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleMultiDbJDBCConnection.java (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleMultiDbJDBCConnection.java 2011-02-07 16:24:25 UTC (rev 3934)
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2003-2010 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.storage.jdbc.db;
+
+import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.storage.value.ValueStoragePluginProvider;
+
+import java.io.File;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * Created by The eXo Platform SAS
+ * Author : Nicolas Filotto
+ * nicolas.filotto(a)exoplatform.com
+ * 19 mars 2010
+ */
+public class OracleMultiDbJDBCConnection extends MultiDbJDBCConnection
+{
+ /**
+ * Oracle Multidatabase JDBC Connection constructor.
+ *
+ * @param dbConnection
+ * JDBC connection, shoudl be opened before
+ * @param readOnly
+ * boolean if true the dbConnection was marked as READ-ONLY.
+ * @param containerName
+ * Workspace Storage Container name (see configuration)
+ * @param valueStorageProvider
+ * External Value Storages provider
+ * @param maxBufferSize
+ * Maximum buffer size (see configuration)
+ * @param swapDirectory
+ * Swap directory File (see configuration)
+ * @param swapCleaner
+ * Swap cleaner (internal FileCleaner).
+ * @throws SQLException
+ *
+ * @see org.exoplatform.services.jcr.impl.util.io.FileCleaner
+ */
+ public OracleMultiDbJDBCConnection(Connection dbConnection, boolean readOnly, String containerName,
+ ValueStoragePluginProvider valueStorageProvider, int maxBufferSize, File swapDirectory, FileCleaner swapCleaner)
+ throws SQLException
+ {
+ super(dbConnection, readOnly, containerName, valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void prepareQueries() throws SQLException
+ {
+ super.prepareQueries();
+ FIND_NODES_AND_PROPERTIES =
+ "select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
+ + " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_MVALUE V, JCR_MITEM P"
+ + " join ( select * ( select a.*, ROWNUM r__ from ("
+ + " select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_MITEM I "
+ + " where I.I_CLASS=1 order by I.ID"
+ + " ) a where ROWNUM <= ?)) where r__ > ?) J on P.PARENT_ID = J.ID"
+ + " where P.I_CLASS=2 and V.PROPERTY_ID=P.ID order by J.ID";
+ }
+}
Added: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleSingleDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleSingleDbJDBCConnection.java (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/OracleSingleDbJDBCConnection.java 2011-02-07 16:24:25 UTC (rev 3934)
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2003-2010 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.impl.storage.jdbc.db;
+
+import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.storage.value.ValueStoragePluginProvider;
+
+import java.io.File;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * Created by The eXo Platform SAS
+ * Author : Nicolas Filotto
+ * nicolas.filotto(a)exoplatform.com
+ * 19 mars 2010
+ */
+public class OracleSingleDbJDBCConnection extends SingleDbJDBCConnection
+{
+ /**
+ * Oracle Singledatabase JDBC Connection constructor.
+ *
+ * @param dbConnection
+ * JDBC connection, should be opened before
+ * @param readOnly
+ * boolean if true the dbConnection was marked as READ-ONLY.
+ * @param containerName
+ * Workspace Storage Container name (see configuration)
+ * @param valueStorageProvider
+ * External Value Storages provider
+ * @param maxBufferSize
+ * Maximum buffer size (see configuration)
+ * @param swapDirectory
+ * Swap directory File (see configuration)
+ * @param swapCleaner
+ * Swap cleaner (internal FileCleaner).
+ * @throws SQLException
+ *
+ * @see org.exoplatform.services.jcr.impl.util.io.FileCleaner
+ */
+ public OracleSingleDbJDBCConnection(Connection dbConnection, boolean readOnly, String containerName,
+ ValueStoragePluginProvider valueStorageProvider, int maxBufferSize, File swapDirectory, FileCleaner swapCleaner)
+ throws SQLException
+ {
+ super(dbConnection, readOnly, containerName, valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void prepareQueries() throws SQLException
+ {
+ super.prepareQueries();
+ FIND_NODES_AND_PROPERTIES =
+ "select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
+ + " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_SVALUE V, JCR_SITEM P"
+ + " join ( select * ( select a.*, ROWNUM r__ from ("
+ + " select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_SITEM I "
+ + " where I.CONTAINER_NAME=? and I.I_CLASS=1 order by I.ID"
+ + " ) a where ROWNUM <= ?)) where r__ > ?) J on P.PARENT_ID = J.ID"
+ + " where P.I_CLASS=2 and P.CONTAINER_NAME=? and V.PROPERTY_ID=P.ID order by J.ID";
+ }
+}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/OracleMultiDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/OracleMultiDbJDBCConnection.java 2011-02-07 11:54:02 UTC (rev 3933)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/OracleMultiDbJDBCConnection.java 2011-02-07 16:24:25 UTC (rev 3934)
@@ -76,9 +76,16 @@
@Override
protected void prepareQueries() throws SQLException
{
-
super.prepareQueries();
FIND_NODES_BY_PARENTID_CQ = FIND_NODES_BY_PARENTID_CQ_QUERY;
FIND_PROPERTIES_BY_PARENTID_CQ = FIND_PROPERTIES_BY_PARENTID_CQ_QUERY;
+ FIND_NODES_AND_PROPERTIES =
+ "select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
+ + " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_MVALUE V, JCR_MITEM P"
+ + " join ( select * ( select a.*, ROWNUM r__ from ("
+ + " select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_MITEM I "
+ + " where I.I_CLASS=1 order by I.ID"
+ + " ) a where ROWNUM <= ?)) where r__ > ?) J on P.PARENT_ID = J.ID"
+ + " where P.I_CLASS=2 and V.PROPERTY_ID=P.ID order by J.ID";
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/OracleSingleDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/OracleSingleDbJDBCConnection.java 2011-02-07 11:54:02 UTC (rev 3933)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/OracleSingleDbJDBCConnection.java 2011-02-07 16:24:25 UTC (rev 3934)
@@ -80,5 +80,13 @@
super.prepareQueries();
FIND_NODES_BY_PARENTID_CQ = FIND_NODES_BY_PARENTID_CQ_QUERY;
FIND_PROPERTIES_BY_PARENTID_CQ = FIND_PROPERTIES_BY_PARENTID_CQ_QUERY;
+ FIND_NODES_AND_PROPERTIES =
+ "select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
+ + " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_SVALUE V, JCR_SITEM P"
+ + " join ( select * ( select a.*, ROWNUM r__ from ("
+ + " select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_SITEM I "
+ + " where I.CONTAINER_NAME=? and I.I_CLASS=1 order by I.ID"
+ + " ) a where ROWNUM <= ?)) where r__ > ?) J on P.PARENT_ID = J.ID"
+ + " where P.I_CLASS=2 and P.CONTAINER_NAME=? and V.PROPERTY_ID=P.ID order by J.ID";
}
}
15 years, 2 months
exo-jcr SVN: r3933 - jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-02-07 06:54:02 -0500 (Mon, 07 Feb 2011)
New Revision: 3933
Modified:
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml
Log:
EXOJCR-1104: make pagesize to be 100 as default value
Modified: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml
===================================================================
--- jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml 2011-02-07 11:53:41 UTC (rev 3932)
+++ jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml 2011-02-07 11:54:02 UTC (rev 3933)
@@ -161,7 +161,7 @@
<entry>maximum amount of nodes which can be retrieved from
storage for re-indexing purpose, the default value is
- 1000</entry>
+ 100</entry>
</row>
</tbody>
</tgroup>
15 years, 2 months
exo-jcr SVN: r3932 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-02-07 06:53:41 -0500 (Mon, 07 Feb 2011)
New Revision: 3932
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
Log:
EXOJCR-1104: make pagesize to be 100 as default value
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2011-02-07 08:37:47 UTC (rev 3931)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2011-02-07 11:53:41 UTC (rev 3932)
@@ -173,7 +173,7 @@
/**
* The default value for {@link #reindexingPageSize}.
*/
- public static final int DEFAULT_REINDEXING_PAGE_SIZE = 1000;
+ public static final int DEFAULT_REINDEXING_PAGE_SIZE = 100;
/**
* Default name of the error log file
15 years, 2 months
exo-jcr SVN: r3931 - ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/tools.
by do-not-reply@jboss.org
Author: aparfonov
Date: 2011-02-07 03:37:47 -0500 (Mon, 07 Feb 2011)
New Revision: 3931
Modified:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/tools/ResourceLauncher.java
Log:
EXOJCR-1183
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/tools/ResourceLauncher.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/tools/ResourceLauncher.java 2011-02-06 19:54:03 UTC (rev 3930)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/tools/ResourceLauncher.java 2011-02-07 08:37:47 UTC (rev 3931)
@@ -19,6 +19,8 @@
package org.exoplatform.services.rest.tools;
+import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.services.rest.ContainerResponseWriter;
import org.exoplatform.services.rest.RequestHandler;
import org.exoplatform.services.rest.impl.ContainerRequest;
@@ -36,7 +38,7 @@
/**
* Request launcher. It can be useful for testing services.
- *
+ *
* @author <a href="mailto:andrew00x@gmail.com">Andrey Parfonov</a>
* @version $Id$
*/
@@ -84,7 +86,15 @@
new SecurityContextRequest(method, new URI(requestURI), new URI(baseURI), in, new InputHeadersMap(headers),
sctx);
ContainerResponse response = new ContainerResponse(writer);
- requestHandler.handleRequest(request, response);
+ try
+ {
+ RequestLifeCycle.begin(ExoContainerContext.getCurrentContainer());
+ requestHandler.handleRequest(request, response);
+ }
+ finally
+ {
+ RequestLifeCycle.end();
+ }
return response;
}
15 years, 2 months
exo-jcr SVN: r3930 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-02-06 14:54:03 -0500 (Sun, 06 Feb 2011)
New Revision: 3930
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
Log:
EXOJCR-1104: fix bugs
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-06 19:41:50 UTC (rev 3929)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java 2011-02-06 19:54:03 UTC (rev 3930)
@@ -1401,6 +1401,8 @@
* the current NodeState.
* @param path
* the path of the current node.
+ * @param stateMgr
+ * the shared item state manager.
* @param count
* the number of nodes already indexed.
* @return the number of nodes indexed so far.
@@ -1411,7 +1413,7 @@
* @throws RepositoryException
* if any other error occurs
*/
- private long createIndex(NodeData node, long count) throws IOException,
+ private long createIndex(NodeData node, ItemDataConsumer stateMgr, long count) throws IOException,
RepositoryException
{
// NodeId id = node.getNodeId();
@@ -1462,8 +1464,6 @@
* the current NodeState.
* @param path
* the path of the current node.
- * @param stateMgr
- * the shared item state manager.
* @param count
* the number of nodes already indexed.
* @return the number of nodes indexed so far.
@@ -1474,7 +1474,7 @@
* @throws RepositoryException
* if any other error occurs
*/
- private long createIndex(Indexable indexableComponent, NodeData rootNode, ItemDataConsumer stateMgr, long count)
+ private long createIndex(Indexable indexableComponent, NodeData rootNode, long count)
throws IOException, RepositoryException
{
NodeDataIndexingIterator iterator =
15 years, 2 months
exo-jcr SVN: r3929 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: storage/jdbc/db and 1 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-02-06 14:41:50 -0500 (Sun, 06 Feb 2011)
New Revision: 3929
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/db/HSQLDBMultiDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/HSQLDBSingleDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/MultiDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/SingleDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/HSQLDBMultiDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/HSQLDBSingleDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/MultiDbJDBCConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/SingleDbJDBCConnection.java
Log:
EXOJCR-1104: fix bugs
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-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -414,7 +414,7 @@
}
else
{
- count = createIndex(indexableComponent, indexingTree.getIndexingRoot(), stateMgr, count);
+ count = createIndex(indexableComponent, indexingTree.getIndexingRoot(), count);
}
executeAndLog(new Commit(getTransactionId()));
log.info("Created initial index for {} nodes", new Long(count));
@@ -1401,8 +1401,6 @@
* the current NodeState.
* @param path
* the path of the current node.
- * @param stateMgr
- * the shared item state manager.
* @param count
* the number of nodes already indexed.
* @return the number of nodes indexed so far.
@@ -1413,7 +1411,7 @@
* @throws RepositoryException
* if any other error occurs
*/
- private long createIndex(NodeData node, ItemDataConsumer stateMgr, long count) throws IOException,
+ private long createIndex(NodeData node, long count) throws IOException,
RepositoryException
{
// NodeId id = node.getNodeId();
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/HSQLDBMultiDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/HSQLDBMultiDbJDBCConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/HSQLDBMultiDbJDBCConnection.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -83,12 +83,6 @@
FIND_NODES_BY_PARENTID = "select * from JCR_MITEM" + " where PARENT_ID=? and I_CLASS=1" + " order by N_ORDER_NUM";
FIND_NODES_COUNT_BY_PARENTID = "select count(ID) from JCR_MITEM" + " where PARENT_ID=? and I_CLASS=1";
FIND_PROPERTIES_BY_PARENTID = "select * from JCR_MITEM" + " where PARENT_ID=? and I_CLASS=2" + " order by ID";
- FIND_NODES_AND_PROPERTIES =
- "select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
- + " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_MVALUE V, JCR_MITEM P"
- + " join (select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_MITEM I"
- + " where I.I_CLASS=1 order by I.ID LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
- + " where P.I_CLASS=2 and V.PROPERTY_ID=P.ID order by J.ID";
}
@Override
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/HSQLDBSingleDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/HSQLDBSingleDbJDBCConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/HSQLDBSingleDbJDBCConnection.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -91,12 +91,6 @@
"select count(ID) from JCR_SITEM" + " where PARENT_ID=? and I_CLASS=1 and CONTAINER_NAME=?";
FIND_PROPERTIES_BY_PARENTID =
"select * from JCR_SITEM" + " where PARENT_ID=? and I_CLASS=2 and CONTAINER_NAME=?" + " order by ID";
- FIND_NODES_AND_PROPERTIES =
- "select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
- + " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_SVALUE V, JCR_SITEM P"
- + " join (select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_SITEM I"
- + " where I.CONTAINER_NAME=? AND I.I_CLASS=1 order by I.ID LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
- + " where P.I_CLASS=2 and P.CONTAINER_NAME=? and V.PROPERTY_ID=P.ID order by J.ID";
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/MultiDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/MultiDbJDBCConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/MultiDbJDBCConnection.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -157,7 +157,7 @@
"select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
+ " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_MVALUE V, JCR_MITEM P"
+ " join (select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_MITEM I"
- + " where I.I_CLASS=1 LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
+ + " where I.I_CLASS=1 order by I.ID LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
+ " where P.I_CLASS=2 and V.PROPERTY_ID=P.ID order by J.ID";
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/SingleDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/SingleDbJDBCConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/SingleDbJDBCConnection.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -165,7 +165,7 @@
"select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
+ " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_SVALUE V, JCR_SITEM P"
+ " join (select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_SITEM I"
- + " where I.CONTAINER_NAME=? AND I.I_CLASS=1 LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
+ + " where I.CONTAINER_NAME=? AND I.I_CLASS=1 order by I.ID LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
+ " where P.I_CLASS=2 and P.CONTAINER_NAME=? and V.PROPERTY_ID=P.ID order by J.ID";
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/HSQLDBMultiDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/HSQLDBMultiDbJDBCConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/HSQLDBMultiDbJDBCConnection.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -94,12 +94,6 @@
"select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_CLASS, I.I_INDEX, I.N_ORDER_NUM, I.P_TYPE, I.P_MULTIVALUED,"
+ " V.ORDER_NUM, V.DATA, V.STORAGE_DESC from JCR_MITEM I LEFT OUTER JOIN JCR_MVALUE V ON (V.PROPERTY_ID=I.ID)"
+ " where I.PARENT_ID=? and I.I_CLASS=2 order by I.NAME";
- FIND_NODES_AND_PROPERTIES =
- "select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
- + " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_MVALUE V, JCR_MITEM P"
- + " join (select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_MITEM I"
- + " where I.I_CLASS=1 order by I.ID LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
- + " where P.I_CLASS=2 and V.PROPERTY_ID=P.ID order by J.ID";
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/HSQLDBSingleDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/HSQLDBSingleDbJDBCConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/HSQLDBSingleDbJDBCConnection.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -105,12 +105,6 @@
"select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_CLASS, I.I_INDEX, I.N_ORDER_NUM, I.P_TYPE, I.P_MULTIVALUED, V.ORDER_NUM,"
+ " V.DATA, V.STORAGE_DESC from JCR_SITEM I LEFT OUTER JOIN JCR_SVALUE V ON (V.PROPERTY_ID=I.ID)"
+ " where I.PARENT_ID=? and I.I_CLASS=2 and I.CONTAINER_NAME=? order by I.NAME";
- FIND_NODES_AND_PROPERTIES =
- "select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
- + " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_SVALUE V, JCR_SITEM P"
- + " join (select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_SITEM I"
- + " where I.CONTAINER_NAME=? AND I.I_CLASS=1 order by I.ID LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
- + " where P.I_CLASS=2 and P.CONTAINER_NAME=? and V.PROPERTY_ID=P.ID order by J.ID";
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/MultiDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/MultiDbJDBCConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/MultiDbJDBCConnection.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -184,7 +184,7 @@
"select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
+ " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_MVALUE V, JCR_MITEM P"
+ " join (select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_MITEM I"
- + " where I.I_CLASS=1 LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
+ + " where I.I_CLASS=1 order by I.ID LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
+ " where P.I_CLASS=2 and V.PROPERTY_ID=P.ID order by J.ID";
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/SingleDbJDBCConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/SingleDbJDBCConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/db/SingleDbJDBCConnection.java 2011-02-06 19:41:50 UTC (rev 3929)
@@ -191,7 +191,7 @@
"select J.*, P.ID AS P_ID, P.NAME AS P_NAME, P.VERSION AS P_VERSION, P.P_TYPE, P.P_MULTIVALUED,"
+ " V.DATA, V.ORDER_NUM, V.STORAGE_DESC from JCR_SVALUE V, JCR_SITEM P"
+ " join (select I.ID, I.PARENT_ID, I.NAME, I.VERSION, I.I_INDEX, I.N_ORDER_NUM from JCR_SITEM I"
- + " where I.CONTAINER_NAME=? AND I.I_CLASS=1 LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
+ + " where I.CONTAINER_NAME=? AND I.I_CLASS=1 order by I.ID LIMIT ? OFFSET ?) J on P.PARENT_ID = J.ID"
+ " where P.I_CLASS=2 and P.CONTAINER_NAME=? and V.PROPERTY_ID=P.ID order by J.ID";
}
15 years, 2 months
exo-jcr SVN: r3928 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr: impl/core/query/lucene and 1 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-02-06 11:30:31 -0500 (Sun, 06 Feb 2011)
New Revision: 3928
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/NodeDataIndexing.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
Log:
EXOJCR-1104: allow to get property directly from NodeDataIndexing
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/NodeDataIndexing.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/NodeDataIndexing.java 2011-02-05 15:50:17 UTC (rev 3927)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/NodeDataIndexing.java 2011-02-06 16:30:31 UTC (rev 3928)
@@ -21,7 +21,8 @@
import org.exoplatform.services.jcr.access.AccessControlList;
import org.exoplatform.services.jcr.dataflow.ItemDataVisitor;
-import java.util.List;
+import java.util.Collection;
+import java.util.Map;
import javax.jcr.RepositoryException;
@@ -37,7 +38,7 @@
{
private final NodeData nodeData;
- private final List<PropertyData> properties;
+ private final Map<String, PropertyData> properties;
/**
* Constructor NodeDataIndexing.
@@ -50,22 +51,33 @@
/**
* Constructor NodeDataIndexing.
*/
- public NodeDataIndexing(NodeData nodeData, List<PropertyData> properties)
+ public NodeDataIndexing(NodeData nodeData, Map<String, PropertyData> properties)
{
this.nodeData = nodeData;
this.properties = properties;
}
/**
+ * List of properties data.
*
- * @return
+ * @return Collection
*/
- public List<PropertyData> getChildPropertiesData()
+ public Collection<PropertyData> getChildPropertiesData()
{
- return properties;
+ return properties == null ? null : properties.values();
}
/**
+ * Property data.
+ *
+ * @return PropertyData
+ */
+ public PropertyData getProperty(String name)
+ {
+ return properties == null ? null : properties.get(name);
+ }
+
+ /**
* {@inheritDoc}
*/
public QPath getQPath()
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java 2011-02-05 15:50:17 UTC (rev 3927)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java 2011-02-06 16:30:31 UTC (rev 3928)
@@ -48,6 +48,7 @@
import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -219,7 +220,7 @@
// unknown uri<->prefix mappings
}
- List<PropertyData> props = node.getChildPropertiesData();
+ Collection<PropertyData> props = node.getChildPropertiesData();
if (props == null)
{
props = stateProvider.listChildPropertiesData(node);
@@ -327,9 +328,14 @@
{
// seems nt:file found, try for nt:resource props
- PropertyData pmime =
- (PropertyData)stateProvider.getItemData(node, new QPathEntry(Constants.JCR_MIMETYPE, 0),
- ItemType.PROPERTY);
+ PropertyData pmime = node.getProperty(Constants.JCR_MIMETYPE.getAsString());
+ if (pmime == null)
+ {
+ pmime =
+ (PropertyData)stateProvider.getItemData(node, new QPathEntry(Constants.JCR_MIMETYPE, 0),
+ ItemType.PROPERTY);
+ }
+
if (pmime != null)
{
// ok, have a reader
@@ -354,9 +360,13 @@
}
// check the jcr:encoding property
- PropertyData encProp =
+ PropertyData encProp = node.getProperty(Constants.JCR_ENCODING.getAsString());
+ if (encProp == null)
+ {
+ encProp =
(PropertyData)stateProvider.getItemData(node, new QPathEntry(Constants.JCR_ENCODING, 0),
- ItemType.PROPERTY);
+ ItemType.PROPERTY);
+ }
String encoding = null;
if (encProp != null)
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-05 15:50:17 UTC (rev 3927)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2011-02-06 16:30:31 UTC (rev 3928)
@@ -2595,12 +2595,12 @@
}
}
- // build node data
+ // build node data. No need to load ACL. The node will be pushed directly for reindexing.
NodeData nodeData =
new PersistedNodeData(getIdentifier(tempNode.cid), parentPath, getIdentifier(parentCid),
tempNode.cversion, tempNode.cnordernumb, ptName, mixins.toArray(new InternalQName[mixins.size()]), null);
- List<PropertyData> childProps = new ArrayList<PropertyData>();
+ Map<String, PropertyData> childProps = new HashMap<String, PropertyData>();
for (String propName : tempNode.properties.keySet())
{
ExtendedTempPropertyData prop = (ExtendedTempPropertyData)tempNode.properties.get(propName).first();
@@ -2638,7 +2638,7 @@
new PersistedPropertyData(identifier, qpath, tempNode.cid, prop.version, prop.type, prop.multi,
valueData);
- childProps.add(pdata);
+ childProps.put(propName, pdata);
}
return new NodeDataIndexing(nodeData, childProps);
15 years, 2 months
exo-jcr SVN: r3927 - in ws/trunk/exo.ws.rest.core/src: test/java/org/exoplatform/services/rest/impl and 1 other directory.
by do-not-reply@jboss.org
Author: aparfonov
Date: 2011-02-05 10:50:17 -0500 (Sat, 05 Feb 2011)
New Revision: 3927
Modified:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java
ws/trunk/exo.ws.rest.core/src/test/java/org/exoplatform/services/rest/impl/InjectAnnotationTest.java
Log:
EXOJCR-1181
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java 2011-02-05 07:05:03 UTC (rev 3926)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java 2011-02-05 15:50:17 UTC (rev 3927)
@@ -104,15 +104,15 @@
{
for (Annotation a : parameter.getAnnotations())
if (injectAnnotationClass.isInstance(a))
- return getComponent(parameter.getParameterClass());
+ return getComponent(parameter.getParameterClass(), parameter.getGenericType());
return null;
}
// Annotation required for fields only.
- return getComponent(parameter.getParameterClass());
+ return getComponent(parameter.getParameterClass(), parameter.getGenericType());
}
@SuppressWarnings({"rawtypes"})
- protected Object getComponent(Class<?> parameterClass)
+ protected Object getComponent(Class<?> parameterClass, Type genericType)
{
ExoContainer container = ExoContainerContext.getCurrentContainer();
List injectionProviders = container.getComponentInstancesOfType(javax.inject.Provider.class);
@@ -124,27 +124,53 @@
Type injectedType = resolveInjectedType(provider.getClass());
if (injectedType != null)
{
- if (injectedType instanceof Class<?>)
+ if (javax.inject.Provider.class == parameterClass)
{
- if (parameterClass.isAssignableFrom((Class<?>)injectedType))
- return javax.inject.Provider.class.isAssignableFrom(parameterClass) ? provider : provider.get();
+ if (genericType instanceof ParameterizedType)
+ {
+ Type[] parameterActualTypes = ((ParameterizedType)genericType).getActualTypeArguments();
+ if (parameterActualTypes.length > 0)
+ {
+ if (parameterActualTypes[0] instanceof Class<?>)
+ {
+ Class<?> actualType = (Class<?>)parameterActualTypes[0];
+ if (actualType == injectedType)
+ return provider;
+ }
+ else if (parameterActualTypes[0] instanceof ParameterizedType)
+ {
+ ParameterizedType actualType = (ParameterizedType)parameterActualTypes[0];
+ if (actualType.equals(injectedType))
+ return provider;
+ }
+ }
+ }
}
- else if (injectedType instanceof ParameterizedType)
+ else
{
- ParameterizedType pType = (ParameterizedType)injectedType;
- Type rawType = pType.getRawType();
- if (rawType instanceof Class<?>)
+ if (injectedType instanceof Class<?>)
{
- if (parameterClass.isAssignableFrom((Class<?>)rawType))
- return javax.inject.Provider.class.isAssignableFrom(parameterClass) ? provider : provider.get();
- // TODO check generic type
+ if (parameterClass.isAssignableFrom((Class<?>)injectedType))
+ return provider.get();
}
+ else if (injectedType instanceof ParameterizedType)
+ {
+ ParameterizedType pType = (ParameterizedType)injectedType;
+ Type rawType = pType.getRawType();
+ if (rawType instanceof Class<?>)
+ {
+ if (parameterClass.isAssignableFrom((Class<?>)rawType))
+ return provider.get();
+ }
+ }
}
}
}
}
- // Directly look up component in container by class.
- return container.getComponentInstanceOfType(parameterClass);
+ // Directly look up component in container by class if it is not javax.inject.Provider.
+ if (!javax.inject.Provider.class.isAssignableFrom(parameterClass))
+ return container.getComponentInstanceOfType(parameterClass);
+ return null;
}
private Type resolveInjectedType(final Class<?> providerClass)
Modified: ws/trunk/exo.ws.rest.core/src/test/java/org/exoplatform/services/rest/impl/InjectAnnotationTest.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/test/java/org/exoplatform/services/rest/impl/InjectAnnotationTest.java 2011-02-05 07:05:03 UTC (rev 3926)
+++ ws/trunk/exo.ws.rest.core/src/test/java/org/exoplatform/services/rest/impl/InjectAnnotationTest.java 2011-02-05 15:50:17 UTC (rev 3927)
@@ -40,9 +40,9 @@
public String message = "injected from container";
}
- public static class Provider0 implements Provider<GenericIngectable<String>>
+ public static class Provider90 implements Provider<GenericIngectable<String>>
{
- public/*InjectableComponent*/GenericIngectable<String> get()
+ public GenericIngectable<String> get()
{
InjectableComponent injectable = new InjectableComponent();
injectable.message = "injected from provider";
@@ -68,13 +68,14 @@
public static class Resource2
{
@Inject
- private Provider<InjectableComponent> injected;
+ //private Provider<InjectableComponent> injected;
+ private Provider<GenericIngectable<String>> injected;
@GET
public String m()
{
assertNotNull(injected);
- InjectableComponent inst = injected.get();
+ InjectableComponent inst = (InjectableComponent)injected.get();
return inst.message;
}
}
@@ -92,23 +93,23 @@
public void testInjectFromProvider() throws Exception
{
- container.registerComponentInstance(Provider0.class.getName(), new Provider0());
+ container.registerComponentInstance(Provider90.class.getName(), new Provider90());
registry(Resource1.class);
ContainerResponse response = launcher.service("GET", "/a", "", null, null, null);
assertEquals(200, response.getStatus());
assertEquals("injected from provider", response.getEntity());
unregistry(Resource1.class);
- container.unregisterComponent(Provider0.class.getName());
+ container.unregisterComponent(Provider90.class.getName());
}
public void testInjectProvider() throws Exception
{
- container.registerComponentInstance(Provider0.class.getName(), new Provider0());
+ container.registerComponentInstance(Provider90.class.getName(), new Provider90());
registry(Resource2.class);
ContainerResponse response = launcher.service("GET", "/b", "", null, null, null);
assertEquals(200, response.getStatus());
assertEquals("injected from provider", response.getEntity());
unregistry(Resource2.class);
- container.unregisterComponent(Provider0.class.getName());
+ container.unregisterComponent(Provider90.class.getName());
}
}
15 years, 2 months
exo-jcr SVN: r3926 - in ws/trunk/exo.ws.rest.core/src: test/java/org/exoplatform/services/rest/impl and 1 other directory.
by do-not-reply@jboss.org
Author: aparfonov
Date: 2011-02-05 02:05:03 -0500 (Sat, 05 Feb 2011)
New Revision: 3926
Removed:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/InjectionProvider.java
Modified:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/FieldInjectorImpl.java
ws/trunk/exo.ws.rest.core/src/test/java/org/exoplatform/services/rest/impl/InjectAnnotationTest.java
Log:
EXOJCR-1181
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java 2011-02-04 17:08:40 UTC (rev 3925)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/DependencySupplier.java 2011-02-05 07:05:03 UTC (rev 3926)
@@ -26,6 +26,9 @@
import org.exoplatform.services.rest.Parameter;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
@@ -69,7 +72,8 @@
final ValueParam injectAnnotationParameter = params.getValueParam("inject.annotation.class");
try
{
- injectAnnotationClass = AccessController.doPrivileged(new PrivilegedExceptionAction<Class>() {
+ injectAnnotationClass = AccessController.doPrivileged(new PrivilegedExceptionAction<Class>()
+ {
public Class run() throws ClassNotFoundException
{
return Thread.currentThread().getContextClassLoader().loadClass(injectAnnotationParameter.getValue());
@@ -107,21 +111,66 @@
return getComponent(parameter.getParameterClass());
}
- @SuppressWarnings({"rawtypes", "unchecked"})
+ @SuppressWarnings({"rawtypes"})
protected Object getComponent(Class<?> parameterClass)
{
ExoContainer container = ExoContainerContext.getCurrentContainer();
- List injectionProviders = container.getComponentInstancesOfType(InjectionProvider.class);
+ List injectionProviders = container.getComponentInstancesOfType(javax.inject.Provider.class);
if (injectionProviders != null && injectionProviders.size() > 0)
{
for (Iterator i = injectionProviders.iterator(); i.hasNext();)
{
- InjectionProvider provider = (InjectionProvider)i.next();
- if (provider.isSupported(parameterClass))
- return javax.inject.Provider.class.isAssignableFrom(parameterClass) ? provider : provider.get();
+ javax.inject.Provider provider = (javax.inject.Provider)i.next();
+ Type injectedType = resolveInjectedType(provider.getClass());
+ if (injectedType != null)
+ {
+ if (injectedType instanceof Class<?>)
+ {
+ if (parameterClass.isAssignableFrom((Class<?>)injectedType))
+ return javax.inject.Provider.class.isAssignableFrom(parameterClass) ? provider : provider.get();
+ }
+ else if (injectedType instanceof ParameterizedType)
+ {
+ ParameterizedType pType = (ParameterizedType)injectedType;
+ Type rawType = pType.getRawType();
+ if (rawType instanceof Class<?>)
+ {
+ if (parameterClass.isAssignableFrom((Class<?>)rawType))
+ return javax.inject.Provider.class.isAssignableFrom(parameterClass) ? provider : provider.get();
+ // TODO check generic type
+ }
+ }
+ }
}
}
- // Directly look up component in container by class,
+ // Directly look up component in container by class.
return container.getComponentInstanceOfType(parameterClass);
}
+
+ private Type resolveInjectedType(final Class<?> providerClass)
+ {
+ Method get = null;
+ Type injectedType = null;
+ try
+ {
+ get = AccessController.doPrivileged(new PrivilegedExceptionAction<Method>()
+ {
+ public Method run() throws NoSuchMethodException
+ {
+ return providerClass.getMethod("get");
+ }
+ });
+ }
+ catch (PrivilegedActionException pe)
+ {
+ NoSuchMethodException c = (NoSuchMethodException)pe.getCause();
+ // Should never happen since class implements javax.inject.Provider.
+ throw new RuntimeException(c.getMessage());
+ }
+
+ if (get != null)
+ injectedType = get.getGenericReturnType();
+
+ return injectedType;
+ }
}
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/FieldInjectorImpl.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/FieldInjectorImpl.java 2011-02-04 17:08:40 UTC (rev 3925)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/FieldInjectorImpl.java 2011-02-05 07:05:03 UTC (rev 3926)
@@ -18,8 +18,6 @@
*/
package org.exoplatform.services.rest.impl;
-import org.exoplatform.services.log.ExoLogger;
-import org.exoplatform.services.log.Log;
import org.exoplatform.services.rest.ApplicationContext;
import org.exoplatform.services.rest.FieldInjector;
import org.exoplatform.services.rest.impl.method.ParameterHelper;
@@ -50,7 +48,7 @@
public class FieldInjectorImpl implements FieldInjector
{
/** Logger. */
- private static final Log LOG = ExoLogger.getLogger("exo.ws.rest.core.FieldInjectorImpl");
+ //private static final Log LOG = ExoLogger.getLogger("exo.ws.rest.core.FieldInjectorImpl");
/** All annotations including JAX-RS annotation. */
private final Annotation[] annotations;
@@ -120,11 +118,11 @@
{
defaultValue = ((DefaultValue)a).value();
}
- else
+ /*else
{
LOG.warn("Field " + jfield.toString() + " contains unknown or not allowed JAX-RS annotation "
+ a.toString() + ". It will be ignored.");
- }
+ }*/
}
this.defaultValue = defaultValue;
Deleted: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/InjectionProvider.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/InjectionProvider.java 2011-02-04 17:08:40 UTC (rev 3925)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/InjectionProvider.java 2011-02-05 07:05:03 UTC (rev 3926)
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2011 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.rest.impl;
-
-import javax.inject.Provider;
-
-/**
- * @author <a href="mailto:andrey.parfonov@exoplatform.com">Andrey Parfonov</a>
- * @version $Id$
- * @see Provider
- */
-public interface InjectionProvider<O> extends Provider<O>
-{
- /**
- * Check is InjectionProvider able to produce instance of class
- * <code>clazz</code>.
- *
- * @param clazz class to be checked
- * @return <code>true</code> if able to produce class and <code>false</code>
- * otherwise
- * @see #get()
- */
- boolean isSupported(Class<O> clazz);
-}
Modified: ws/trunk/exo.ws.rest.core/src/test/java/org/exoplatform/services/rest/impl/InjectAnnotationTest.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/test/java/org/exoplatform/services/rest/impl/InjectAnnotationTest.java 2011-02-04 17:08:40 UTC (rev 3925)
+++ ws/trunk/exo.ws.rest.core/src/test/java/org/exoplatform/services/rest/impl/InjectAnnotationTest.java 2011-02-05 07:05:03 UTC (rev 3926)
@@ -31,37 +31,36 @@
*/
public class InjectAnnotationTest extends BaseTest
{
- public static class InjectableComponent
+ public static interface GenericIngectable<T>
{
+ }
+
+ public static class InjectableComponent implements GenericIngectable<String>
+ {
public String message = "injected from container";
}
- public static class InjectionProvider0 implements InjectionProvider<InjectableComponent>
+ public static class Provider0 implements Provider<GenericIngectable<String>>
{
- public InjectableComponent get()
+ public/*InjectableComponent*/GenericIngectable<String> get()
{
InjectableComponent injectable = new InjectableComponent();
injectable.message = "injected from provider";
return injectable;
}
-
- public boolean isSupported(Class<InjectableComponent> clazz)
- {
- return InjectableComponent.class.isAssignableFrom(clazz);
- }
}
@Path("a")
public static class Resource1
{
@Inject
- private InjectableComponent injected;
+ private GenericIngectable<String> injected;
@GET
public String m()
{
assertNotNull(injected);
- return injected.message;
+ return ((InjectableComponent)injected).message;
}
}
@@ -93,23 +92,23 @@
public void testInjectFromProvider() throws Exception
{
- container.registerComponentInstance(InjectionProvider0.class.getName(), new InjectionProvider0());
+ container.registerComponentInstance(Provider0.class.getName(), new Provider0());
registry(Resource1.class);
ContainerResponse response = launcher.service("GET", "/a", "", null, null, null);
assertEquals(200, response.getStatus());
assertEquals("injected from provider", response.getEntity());
unregistry(Resource1.class);
- container.unregisterComponent(InjectionProvider0.class.getName());
+ container.unregisterComponent(Provider0.class.getName());
}
public void testInjectProvider() throws Exception
{
- container.registerComponentInstance(InjectionProvider0.class.getName(), new InjectionProvider0());
+ container.registerComponentInstance(Provider0.class.getName(), new Provider0());
registry(Resource2.class);
ContainerResponse response = launcher.service("GET", "/b", "", null, null, null);
assertEquals(200, response.getStatus());
assertEquals("injected from provider", response.getEntity());
unregistry(Resource2.class);
- container.unregisterComponent(InjectionProvider0.class.getName());
+ container.unregisterComponent(Provider0.class.getName());
}
}
15 years, 2 months
exo-jcr SVN: r3925 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-02-04 12:08:40 -0500 (Fri, 04 Feb 2011)
New Revision: 3925
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SystemSearchManager.java
Log:
EXOJCR-1078: add constructor with RPCService to SystemSearchManager
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SystemSearchManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SystemSearchManager.java 2011-02-04 16:53:00 UTC (rev 3924)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SystemSearchManager.java 2011-02-04 17:08:40 UTC (rev 3925)
@@ -32,6 +32,7 @@
import org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import org.exoplatform.services.rpc.RPCService;
import java.util.ArrayList;
import java.util.List;
@@ -68,6 +69,17 @@
super(wsConfig, rEntry, rService, config, nsReg, ntReg, itemMgr, null, service, cfm, indexSearcherHolder);
}
+ public SystemSearchManager(WorkspaceEntry wsConfig, RepositoryEntry rEntry, RepositoryService rService,
+ QueryHandlerEntry config, NamespaceRegistryImpl nsReg, NodeTypeDataManager ntReg,
+ WorkspacePersistentDataManager itemMgr, SystemSearchManagerHolder parentSearchManager,
+ DocumentReaderService extractor, ConfigurationManager cfm,
+ final RepositoryIndexSearcherHolder indexSearcherHolder, RPCService rpcService) throws RepositoryException,
+ RepositoryConfigurationException
+ {
+ super(wsConfig, rEntry, rService, config, nsReg, ntReg, itemMgr, null, extractor, cfm, indexSearcherHolder,
+ rpcService);
+ }
+
@Override
public void start()
{
15 years, 2 months