[exo-jcr-commits] exo-jcr SVN: r727 - jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Nov 17 11:35:30 EST 2009


Author: pnedonosko
Date: 2009-11-17 11:35:30 -0500 (Tue, 17 Nov 2009)
New Revision: 727

Modified:
   jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheWorkspaceDataContainer.java
   jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoader.java
Log:
EXOJCR-203: JDBC loader exists()

Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheWorkspaceDataContainer.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheWorkspaceDataContainer.java	2009-11-17 16:24:46 UTC (rev 726)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheWorkspaceDataContainer.java	2009-11-17 16:35:30 UTC (rev 727)
@@ -131,7 +131,7 @@
       cache.startBatch();
       this.nodes = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.NODES));
       this.properties = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.PROPS));
-      this.session = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.SESSION));
+      this.session = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.SESSION)); // TODO remove it
       this.locks = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.LOCKS));
       cache.endBatch(true);
    }

Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoader.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoader.java	2009-11-17 16:24:46 UTC (rev 726)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoader.java	2009-11-17 16:35:30 UTC (rev 727)
@@ -18,25 +18,13 @@
  */
 package org.exoplatform.services.jcr.impl.storage.jbosscache;
 
-import java.sql.SQLException;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.jcr.InvalidItemStateException;
-import javax.jcr.RepositoryException;
-
 import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
-import org.exoplatform.services.jcr.dataflow.ItemState;
 import org.exoplatform.services.jcr.datamodel.IllegalNameException;
 import org.exoplatform.services.jcr.datamodel.ItemData;
 import org.exoplatform.services.jcr.datamodel.NodeData;
 import org.exoplatform.services.jcr.datamodel.PropertyData;
 import org.exoplatform.services.jcr.datamodel.QPathEntry;
-import org.exoplatform.services.jcr.impl.storage.JCRInvalidItemStateException;
+import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection;
 import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
 import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
 import org.exoplatform.services.log.ExoLogger;
@@ -49,6 +37,15 @@
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.loader.AbstractCacheLoader;
 
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.jcr.RepositoryException;
+
 /**
  * Created by The eXo Platform SAS.
  * 
@@ -270,7 +267,7 @@
 
       Map<Object, Object> attrs;
 
-      WorkspaceStorageConnection conn = dataContainer.openConnection();
+      JDBCStorageConnection conn = (JDBCStorageConnection) dataContainer.openConnection();
       try
       {
 
@@ -393,8 +390,15 @@
     */
    public boolean exists(Fqn name) throws Exception
    {
-      // TODO Will be created specialization code to checking exist node or property in DB without getting NodeData or PropertyData from DB. 
-      return get(name) != null;
+      // TODO Will be created specialization code to checking exist node or property in DB without getting NodeData or PropertyData from DB.
+      try
+      {
+         return get(name) != null;
+      }
+      catch (JDBCCacheLoaderException e)
+      {
+         return false;
+      }
    }
 
    /**
@@ -409,7 +413,7 @@
       // /$NODES/<NODE_ID>
       if (name.size() == 2)
       {
-         WorkspaceStorageConnection conn = dataContainer.openConnection();
+         JDBCStorageConnection conn = (JDBCStorageConnection) dataContainer.openConnection();
          try
          {
             String nodeId = (String)name.get(1);
@@ -455,7 +459,9 @@
          childs.add(JBossCacheStorage.NODES);
          childs.add(JBossCacheStorage.PROPS);
          childs.add(JBossCacheStorage.LOCKS);
-      } else {
+      }
+      else
+      {
          childs = null;
       }
 



More information about the exo-jcr-commits mailing list