[exo-jcr-commits] exo-jcr SVN: r829 - in jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage: jdbc/db and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Nov 24 08:56:05 EST 2009


Author: sergiykarpenko
Date: 2009-11-24 08:56:05 -0500 (Tue, 24 Nov 2009)
New Revision: 829

Modified:
   jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java
   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/jdbc/db/SingleDbJDBCConnection.java
Log:
EXOJCR-246: JBossCacheStorageConnection remove commented code. SingleJDBC - reference query added

Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java	2009-11-24 13:50:27 UTC (rev 828)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java	2009-11-24 13:56:05 UTC (rev 829)
@@ -226,26 +226,6 @@
    {
       startBatch();
 
-      // TODO remove this check
-      //      for (InternalQName mixin : data.getMixinTypeNames())
-      //      {
-      //
-      //
-      //         if (mixin.equals(Constants.MIX_REFERENCEABLE))
-      //         {
-      //            // check and release references
-      //            Node<Serializable, Object> node = refsRoot.addChild(Fqn.fromElements(data.getIdentifier()));
-      //            if (node != null)
-      //            {
-      //               if (node.getChildrenNames().size() != 0)
-      //               {
-      //                  throw new RepositoryException("Referenceable node removed but still have live references.");
-      //               }
-      //            }
-      //            break;
-      //         }
-      //      }
-
       // get parent
       Node<Serializable, Object> parent = nodesRoot.getChild(makeNodeFqn(data.getParentIdentifier()));
       if (parent == null)
@@ -703,38 +683,6 @@
       // 4. update all child nodes
       updateTreePath(node, data.getQPath()); //treePrint(node)
 
-      // TODO cleanup
-      //      for (Node<Serializable, Object> child : node.getChildren())
-      //      {
-      //         String childNodeId = (String)child.get(ITEM_ID);
-      //         if (childNodeId == null)
-      //         {
-      //            throw new RepositoryException("FATAL Child Node Id key is null. Parent " + data.getQPath().getAsString());
-      //         }
-      //
-      //         // TODO NodeData or PropertyData? As ItemData check then and cast.
-      //         Node<Serializable, Object> childnode = nodesRoot.getChild(makeNodeFqn(childNodeId)); //cache.evict(fqn)
-      //         if (childnode == null)
-      //         {
-      //            throw new RepositoryException("FATAL Node record not found(" + childNodeId + "), but listed in childs of "
-      //               + data.getQPath().getAsString());
-      //         }
-      //         NodeData nodeData = (NodeData)childnode.get(ITEM_DATA);
-      //         if (nodeData == null)
-      //         {
-      //            // TODO should not occurs by contract
-      //            throw new RepositoryException("Child node data is null. Parent " + data.getQPath().getAsString());
-      //         }
-      //
-      //         //repack child NodeData with new QPath
-      //         //TODO check it
-      //         QPath newPath = QPath.makeChildPath(data.getQPath(), nodeData.getQPath().getName());
-      //         TransientNodeData newNodeData =
-      //            new TransientNodeData(newPath, nodeData.getIdentifier(), nodeData.getPersistedVersion(), nodeData
-      //               .getPrimaryTypeName(), nodeData.getMixinTypeNames(), nodeData.getOrderNumber(), nodeData
-      //               .getParentIdentifier(), nodeData.getACL());
-      //         childnode.put(ITEM_DATA, newNodeData);
-      //      }
    }
 
    /**

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-24 13:50:27 UTC (rev 828)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoader.java	2009-11-24 13:56:05 UTC (rev 829)
@@ -111,11 +111,6 @@
                {
                   LOG.debug("PUT_DATA modification");
                }
-               // Process references
-               //               if (m.getFqn().get(0).equals(JBossCacheStorage.REFS))
-               //               {
-               //                  addReferences((JDBCStorageConnection)conn, m);
-               //               }
                break;
             case PUT_DATA_ERASE :
                if (LOG.isDebugEnabled())

Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/SingleDbJDBCConnection.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/SingleDbJDBCConnection.java	2009-11-24 13:50:27 UTC (rev 828)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/db/SingleDbJDBCConnection.java	2009-11-24 13:56:05 UTC (rev 829)
@@ -123,6 +123,10 @@
 
    protected PreparedStatement renameNode;
 
+   protected PreparedStatement findReference;
+
+   protected PreparedStatement findAllReferencedNodes;
+
    /**
     * Singledatabase JDBC Connection constructor.
     * 
@@ -197,6 +201,11 @@
          "select P.ID, P.PARENT_ID, P.VERSION, P.P_TYPE, P.P_MULTIVALUED, P.NAME" + " from JCR_SREF R, JCR_SITEM P"
             + " where R.NODE_ID=? and P.CONTAINER_NAME=? and P.ID=R.PROPERTY_ID and P.I_CLASS=2";
 
+      FIND_REFERENCE =
+         "select P.ID from JCR_SREF R, JCR_SITEM P where R.NODE_ID=? and R.PROPERTY_ID=? and P.ID = R.PROPERTY_ID";
+
+      FIND_REFERENCED_NODES = "select N.ID  from JCR_SREF R, JCR_SITEM N where N.ID=R.NODE_ID";
+
       FIND_VALUES_BY_PROPERTYID =
          "select PROPERTY_ID, ORDER_NUM, DATA, STORAGE_DESC from JCR_SVALUE where PROPERTY_ID=? order by ORDER_NUM";
 
@@ -724,16 +733,32 @@
    }
 
    @Override
-   protected boolean hasReferenceRecord(String nodeId, String refPropertyId) throws SQLException
+   protected boolean hasReferenceRecord(String nodeIdentifier, String refPropertyIdentifier) throws SQLException
    {
-      // TODO Auto-generated method stub
-      return false;
+      // TODO check queries
+      if (findReference == null)
+         findReference = dbConnection.prepareStatement(FIND_REFERENCE);
+      else
+         findReference.clearParameters();
+
+      findReference.setString(1, nodeIdentifier);
+      findReference.setString(1, refPropertyIdentifier);
+      ResultSet result = findReference.executeQuery();
+
+      return result.next();
    }
 
    @Override
    protected ResultSet findAllReferencedNodeIdentifiers() throws SQLException
    {
-      // TODO Auto-generated method stub
-      return null;
+      // TODO check queries
+      if (findAllReferencedNodes == null)
+         findAllReferencedNodes = dbConnection.prepareStatement(this.FIND_REFERENCED_NODES);
+      else
+         findAllReferencedNodes.clearParameters();
+
+      ResultSet result = findAllReferencedNodes.executeQuery();
+
+      return result;
    }
 }



More information about the exo-jcr-commits mailing list