You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2009/05/19 17:47:02 UTC
svn commit: r776362 -
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/PersistenceCopier.java
Author: jukka
Date: Tue May 19 15:47:01 2009
New Revision: 776362
URL: http://svn.apache.org/viewvc?rev=776362&view=rev
Log:
JCR-422: Implement a backup tool
Handle node references
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/PersistenceCopier.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/PersistenceCopier.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/PersistenceCopier.java?rev=776362&r1=776361&r2=776362&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/PersistenceCopier.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/PersistenceCopier.java Tue May 19 15:47:01 2009
@@ -24,6 +24,8 @@
import org.apache.jackrabbit.core.state.ChangeLog;
import org.apache.jackrabbit.core.state.ChildNodeEntry;
import org.apache.jackrabbit.core.state.ItemStateException;
+import org.apache.jackrabbit.core.state.NodeReferences;
+import org.apache.jackrabbit.core.state.NodeReferencesId;
import org.apache.jackrabbit.core.state.NodeState;
import org.apache.jackrabbit.core.state.PropertyState;
import org.apache.jackrabbit.spi.Name;
@@ -139,7 +141,15 @@
}
}
- // TODO: Copy node references?
+ // Copy all node references
+ NodeReferencesId refsId = new NodeReferencesId(sourceNode.getNodeId());
+ if (source.exists(refsId)) {
+ changes.modified(source.load(refsId));
+ } else if (target.exists(refsId)) {
+ NodeReferences references = target.load(refsId);
+ references.clearAllReferences();
+ changes.modified(references);
+ }
// Persist the copied states
target.store(changes);