[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