[exo-jcr-commits] exo-jcr SVN: r4392 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu May 19 02:03:47 EDT 2011
Author: areshetnyak
Date: 2011-05-19 02:03:47 -0400 (Thu, 19 May 2011)
New Revision: 4392
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
Log:
EXOJCR-1343 : The patch for avoid data accesses in case of new created nodes was checked and committed.
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2011-05-18 15:17:22 UTC (rev 4391)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2011-05-19 06:03:47 UTC (rev 4392)
@@ -966,7 +966,7 @@
public int getLastOrderNumber(NodeData parent) throws RepositoryException
{
int lastOrderNumber = changesLog.getLastChildOrderNumber(parent.getIdentifier());
- int lastPersistedNodeOrderNumber = transactionableManager.getLastOrderNumber(parent);
+ int lastPersistedNodeOrderNumber = isNew(parent.getIdentifier()) ? -1 : transactionableManager.getLastOrderNumber(parent);
return Math.max(lastPersistedNodeOrderNumber, lastOrderNumber);
}
@@ -977,7 +977,7 @@
public int getChildNodesCount(NodeData parent) throws RepositoryException
{
int childsCount =
- changesLog.getChildNodesCount(parent.getIdentifier()) + transactionableManager.getChildNodesCount(parent);
+ changesLog.getChildNodesCount(parent.getIdentifier()) + (isNew(parent.getIdentifier()) ? 0 : transactionableManager.getChildNodesCount(parent));
if (childsCount < 0)
{
throw new InvalidItemStateException("Node's child nodes were changed in another Session "
@@ -1992,6 +1992,10 @@
}
else
{
+ if (isNew(rootData.getIdentifier()))
+ {
+ return Collections.emptyList();
+ }
return dataManager.getChildNodesData((NodeData)rootData);
}
}
@@ -2121,7 +2125,7 @@
throws RepositoryException
{
- if (parent.isNode())
+ if (parent.isNode() && !isNew(parent.getIdentifier()))
{
if (action != MERGE_PROPS)
{
More information about the exo-jcr-commits
mailing list