[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