You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by dp...@apache.org on 2006/01/13 17:43:59 UTC

svn commit: r368779 - /incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java

Author: dpfister
Date: Fri Jan 13 08:43:52 2006
New Revision: 368779

URL: http://svn.apache.org/viewcvs?rev=368779&view=rev
Log:
Check for referential integrity too strict: if a node is deleted
and then again added with same UUID it is still referenceable.

Modified:
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java

Modified: incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java?rev=368779&r1=368778&r2=368779&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java (original)
+++ incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java Fri Jan 13 08:43:52 2006
@@ -1082,7 +1082,10 @@
                         }
                         refs = getNodeReferences(refsId);
                     }
-                    if (refs.hasReferences()) {
+                    // in some versioning operations (such as restore) a node
+                    // may actually be deleted and then again added with the
+                    // same UUID, i.e. the node is still referenceable.  
+                    if (refs.hasReferences() && !changes.has(node.getId())) {
                         String msg = node.getId()
                                 + ": the node cannot be removed because it is still being referenced.";
                         log.debug(msg);