[exo-jcr-commits] exo-jcr SVN: r508 - jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/cacheloader.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Nov 9 08:04:57 EST 2009
Author: sergiykarpenko
Date: 2009-11-09 08:04:57 -0500 (Mon, 09 Nov 2009)
New Revision: 508
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/cacheloader/IndexerCacheLoader.java
Log:
EXOJCR-202: IndexerCacheLoader updated
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-09 12:19:15 UTC (rev 507)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/query/cacheloader/IndexerCacheLoader.java 2009-11-09 13:04:57 UTC (rev 508)
@@ -19,6 +19,7 @@
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.impl.core.query.SearchManager;
import org.exoplatform.services.jcr.impl.storage.jbosscache.AbstractWriteOnlyCacheLoader;
+import org.exoplatform.services.jcr.impl.storage.jbosscache.JBossCacheStorage;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.jboss.cache.CacheException;
@@ -58,21 +59,27 @@
searchManager = manager;
}
- private String parseUUID(Fqn fqn)
+ private String parseUUID(Fqn<String> fqn)
{
- // TODO check is zero element not ROOT
- // get just uuid
- Fqn uuid = (Fqn)fqn.get(1);
- //remove slash
- return uuid.toString().substring(1);
+ if (fqn.size() > 1)
+ {
+
+ // get only uuid
+ String uuid = (String)fqn.get(1);
+ //remove slash
+ return uuid;
+ }
+ else
+ {
+ return null;
+ }
}
- private boolean isNode(Fqn fqn)
+ private boolean isNode(Fqn<String> fqn)
{
- Fqn items = (Fqn)fqn.get(0);
+ String items = (String)fqn.get(0);
String s = items.toString();
- //TODO check Constants
- return s.equals("/$NODES");
+ return s.equals(JBossCacheStorage.NODES);
}
@Override
@@ -92,81 +99,84 @@
String uuid = parseUUID(m.getFqn());
- switch (m.getType())
+ if (uuid != null)
{
- case PUT_DATA :
- // add node
- // TODO do we need there update for property?
- // if this is property ignore
- if (isNode(m.getFqn()))
- {
- addedNodes.add(uuid);
- }
+ switch (m.getType())
+ {
+ case PUT_DATA :
+ // add node
+ // TODO do we need there update for property?
+ // if this is property ignore
+ if (isNode(m.getFqn()))
+ {
+ addedNodes.add(uuid);
+ }
- break;
- case PUT_DATA_ERASE :
- // must be never called
- // update node
- if (isNode(m.getFqn()))
- {
- removedNodes.add(uuid);
- addedNodes.add(uuid);
- }
- break;
- case PUT_KEY_VALUE :
- // must be never called
- // update node
- if (isNode(m.getFqn()))
- {
- removedNodes.add(uuid);
- addedNodes.add(uuid);
- }
- break;
- case REMOVE_DATA :
- // must be never called
- // update node
- if (isNode(m.getFqn()))
- {
- addedNodes.add(uuid);
- removedNodes.add(uuid);
- }
- break;
- case REMOVE_KEY_VALUE :
- // must be never called
- // removed property what to do
- if (isNode(m.getFqn()))
- {
- addedNodes.add(uuid);
- removedNodes.add(uuid);
- }
- break;
- case REMOVE_NODE :
- // if node - remove it, otherwise ignore it
- if (isNode(m.getFqn()))
- {
- removedNodes.add(uuid);
- }
+ break;
+ case PUT_DATA_ERASE :
+ // must be never called
+ // update node
+ if (isNode(m.getFqn()))
+ {
+ removedNodes.add(uuid);
+ addedNodes.add(uuid);
+ }
+ break;
+ case PUT_KEY_VALUE :
+ // must be never called
+ // update node
+ if (isNode(m.getFqn()))
+ {
+ removedNodes.add(uuid);
+ addedNodes.add(uuid);
+ }
+ break;
+ case REMOVE_DATA :
+ // must be never called
+ // update node
+ if (isNode(m.getFqn()))
+ {
+ addedNodes.add(uuid);
+ removedNodes.add(uuid);
+ }
+ break;
+ case REMOVE_KEY_VALUE :
+ // must be never called
+ // removed property what to do
+ if (isNode(m.getFqn()))
+ {
+ addedNodes.add(uuid);
+ removedNodes.add(uuid);
+ }
+ break;
+ case REMOVE_NODE :
+ // if node - remove it, otherwise ignore it
+ if (isNode(m.getFqn()))
+ {
+ removedNodes.add(uuid);
+ }
- break;
- case MOVE :
- // involve moving all children too
- move(m.getFqn(), m.getFqn2());
- if (isNode(m.getFqn()))
- {
- //remove first
- removedNodes.add(parseUUID(m.getFqn()));
- //add second
- addedNodes.add(parseUUID(m.getFqn2()));
- }
- else
- {
- // must be never happen
- // TODO update both nodes
- }
+ break;
+ case MOVE :
+ // involve moving all children too
+ move(m.getFqn(), m.getFqn2());
+ if (isNode(m.getFqn()))
+ {
+ //remove first
+ removedNodes.add(parseUUID(m.getFqn()));
+ //add second
+ addedNodes.add(parseUUID(m.getFqn2()));
+ }
+ else
+ {
+ // must be never happen
+ // TODO update both nodes
+ }
- break;
- default :
- throw new CacheException("Unknown modification " + m.getType());
+ break;
+ default :
+ throw new CacheException("Unknown modification " + m.getType());
+ }
}
}
More information about the exo-jcr-commits
mailing list