[exo-jcr-commits] exo-jcr SVN: r5832 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Mar 12 03:02:51 EDT 2012
Author: tolusha
Date: 2012-03-12 03:02:49 -0400 (Mon, 12 Mar 2012)
New Revision: 5832
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
Log:
EXOJCR-1799: Prevent an infinite loop in case a node is its own parent
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2012-03-09 12:27:21 UTC (rev 5831)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2012-03-12 07:02:49 UTC (rev 5832)
@@ -1620,6 +1620,11 @@
new QPathEntry(InternalQName.parse(parent.getString(COLUMN_NAME)), parent.getInt(COLUMN_INDEX), caid);
qrpath.add(qpe);
caid = parent.getString(COLUMN_PARENTID);
+
+ if (caid.equals(parent.getString(COLUMN_ID)))
+ {
+ throw new InvalidItemStateException("An item with id='" + getIdentifier(caid) + "' is its own parent");
+ }
}
finally
{
More information about the exo-jcr-commits
mailing list