[exo-jcr-commits] exo-jcr SVN: r569 - in jcr/branches/1.12.0-JBC/component/core/src: main/java/org/exoplatform/services/jcr/impl/core/query/cacheloader and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Nov 11 11:11:08 EST 2009
Author: sergiykarpenko
Date: 2009-11-11 11:11:07 -0500 (Wed, 11 Nov 2009)
New Revision: 569
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManagerImpl.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/cacheloader/IndexerCacheLoader.java
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/IndexerCacheLoaderTest.java
Log:
EXOJCR-202: IndexerCacheLoaderRuntimeTest added
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManagerImpl.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManagerImpl.java 2009-11-11 15:53:32 UTC (rev 568)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManagerImpl.java 2009-11-11 16:11:07 UTC (rev 569)
@@ -54,6 +54,7 @@
import org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import org.jboss.cache.factories.annotations.NonVolatile;
import org.picocontainer.Startable;
import java.io.IOException;
@@ -85,6 +86,7 @@
* @author <a href="karpenko.sergiy at gmail.com">Karpenko Sergiy</a>
* @version $Id: SearchManagerImpl.java 111 2008-11-11 11:11:11Z serg $
*/
+ at NonVolatile
public class SearchManagerImpl implements SearchManager, Startable, MandatoryItemsPersistenceListener
{
@@ -361,82 +363,85 @@
public void updateIndex(final Set<String> removedNodes, final Set<String> addedNodes) throws RepositoryException,
IOException
{
- Iterator<NodeData> addedStates = new Iterator<NodeData>()
+ if (handler != null)
{
- private final Iterator<String> iter = addedNodes.iterator();
-
- public boolean hasNext()
+ Iterator<NodeData> addedStates = new Iterator<NodeData>()
{
- return iter.hasNext();
- }
+ private final Iterator<String> iter = addedNodes.iterator();
- public NodeData next()
- {
+ public boolean hasNext()
+ {
+ return iter.hasNext();
+ }
- // cycle till find a next or meet the end of set
- do
+ public NodeData next()
{
- String id = iter.next();
- try
+
+ // cycle till find a next or meet the end of set
+ do
{
- ItemData item = itemMgr.getItemData(id);
- if (item != null)
+ String id = iter.next();
+ try
{
- if (item.isNode())
- return (NodeData)item; // return node
+ ItemData item = itemMgr.getItemData(id);
+ if (item != null)
+ {
+ if (item.isNode())
+ return (NodeData)item; // return node
+ else
+ log.warn("Node not found, but property " + id + ", " + item.getQPath().getAsString()
+ + " found. ");
+ }
else
- log.warn("Node not found, but property " + id + ", " + item.getQPath().getAsString()
- + " found. ");
+ log.warn("Unable to index node with id " + id + ", node does not exist.");
+
}
- else
- log.warn("Unable to index node with id " + id + ", node does not exist.");
+ catch (RepositoryException e)
+ {
+ log.error("Can't read next node data " + id, e);
+ }
+ }
+ while (iter.hasNext()); // get next if error or node not found
- }
- catch (RepositoryException e)
- {
- log.error("Can't read next node data " + id, e);
- }
+ return null; // we met the end of iterator set
}
- while (iter.hasNext()); // get next if error or node not found
- return null; // we met the end of iterator set
- }
+ public void remove()
+ {
+ throw new UnsupportedOperationException();
+ }
+ };
- public void remove()
+ Iterator<String> removedIds = new Iterator<String>()
{
- throw new UnsupportedOperationException();
- }
- };
+ private final Iterator<String> iter = removedNodes.iterator();
- Iterator<String> removedIds = new Iterator<String>()
- {
- private final Iterator<String> iter = removedNodes.iterator();
+ public boolean hasNext()
+ {
+ return iter.hasNext();
+ }
- public boolean hasNext()
- {
- return iter.hasNext();
- }
+ public String next()
+ {
+ return nextNodeId();
+ }
- public String next()
- {
- return nextNodeId();
- }
+ public String nextNodeId() throws NoSuchElementException
+ {
+ return iter.next();
+ }
- public String nextNodeId() throws NoSuchElementException
- {
- return iter.next();
- }
+ public void remove()
+ {
+ throw new UnsupportedOperationException();
- public void remove()
+ }
+ };
+
+ if (removedNodes.size() > 0 || addedNodes.size() > 0)
{
- throw new UnsupportedOperationException();
-
+ handler.updateNodes(removedIds, addedStates);
}
- };
-
- if (removedNodes.size() > 0 || addedNodes.size() > 0)
- {
- handler.updateNodes(removedIds, addedStates);
}
}
@@ -510,6 +515,9 @@
try
{
indexingRootData = (NodeData)itemMgr.getItemData(Constants.ROOT_UUID);
+ // indexingRootData =
+ // new TransientNodeData(Constants.ROOT_PATH, Constants.ROOT_UUID, 1, Constants.NT_UNSTRUCTURED,
+ // new InternalQName[0], 0, null, new AccessControlList());
}
catch (RepositoryException e)
{
@@ -608,7 +616,6 @@
QueryHandler parentHandler = (this.parentSearchManager != null) ? parentSearchManager.getHandler() : null;
QueryHandlerContext context = createQueryHandlerContext(parentHandler);
handler.init(context);
-
}
catch (SecurityException e)
{
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/cacheloader/IndexerCacheLoader.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/cacheloader/IndexerCacheLoader.java 2009-11-11 15:53:32 UTC (rev 568)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/cacheloader/IndexerCacheLoader.java 2009-11-11 16:11:07 UTC (rev 569)
@@ -25,6 +25,7 @@
import org.jboss.cache.CacheException;
import org.jboss.cache.Fqn;
import org.jboss.cache.Modification;
+import org.jboss.cache.factories.annotations.Inject;
import java.util.HashSet;
import java.util.List;
@@ -52,7 +53,8 @@
{
}
- public void registerSearchManager(SearchManager manager)
+ @Inject
+ public void injectDependencies(SearchManager manager)
{
searchManager = manager;
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/IndexerCacheLoaderTest.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/IndexerCacheLoaderTest.java 2009-11-11 15:53:32 UTC (rev 568)
+++ jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/IndexerCacheLoaderTest.java 2009-11-11 16:11:07 UTC (rev 569)
@@ -67,7 +67,7 @@
super.setUp();
searchManager = new DummySearchManager();
indexerCacheLoader = new IndexerCacheLoader();
- indexerCacheLoader.registerSearchManager(searchManager);
+ indexerCacheLoader.injectDependencies(searchManager);
}
/**
More information about the exo-jcr-commits
mailing list