You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2012/04/16 18:29:07 UTC
svn commit: r1326676 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel:
KernelBranch.java TransientKernelNodeState.java
Author: mduerig
Date: Mon Apr 16 16:29:06 2012
New Revision: 1326676
URL: http://svn.apache.org/viewvc?rev=1326676&view=rev
Log:
OAK-18: Define Oak API
simplify move and copy
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java?rev=1326676&r1=1326675&r2=1326676&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java Mon Apr 16 16:29:06 2012
@@ -66,28 +66,25 @@ public class KernelBranch implements Bra
@Override
public void move(String sourcePath, String destPath) {
- TransientKernelNodeState sourceParent = getTransientState(getParentPath(sourcePath));
- String sourceName = getName(sourcePath);
- if (sourceParent == null || !sourceParent.hasNode(sourceName)) {
+ TransientKernelNodeState sourceNode = getTransientState(sourcePath);
+ if (sourceNode == null) {
return;
}
-
+
TransientKernelNodeState destParent = getTransientState(getParentPath(destPath));
String destName = getName(destPath);
if (destParent == null || destParent.hasNode(destName)) {
return;
}
- sourceParent.move(sourceName, destParent, destName);
- jsop.append(">\"").append(sourcePath)
- .append("\":\"").append(destPath).append('"');
+ sourceNode.move(destParent, destName);
+ jsop.append(">\"").append(sourcePath).append("\":\"").append(destPath).append('"');
}
@Override
public void copy(String sourcePath, String destPath) {
- TransientKernelNodeState sourceParent = getTransientState(getParentPath(sourcePath));
- String sourceName = getName(sourcePath);
- if (sourceParent == null || !sourceParent.hasNode(sourceName)) {
+ TransientKernelNodeState sourceNode = getTransientState(sourcePath);
+ if (sourceNode == null) {
return;
}
@@ -97,9 +94,8 @@ public class KernelBranch implements Bra
return;
}
- sourceParent.copy(sourceName, destParent, destName);
- jsop.append("*\"").append(sourcePath).append("\":\"")
- .append(destPath).append('"');
+ sourceNode.copy(destParent, destName);
+ jsop.append("*\"").append(sourcePath).append("\":\"").append(destPath).append('"');
}
@Override
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java?rev=1326676&r1=1326675&r2=1326676&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java Mon Apr 16 16:29:06 2012
@@ -72,7 +72,7 @@ public class TransientKernelNodeState im
private String name;
/** Parent of this state */
- private TransientNodeState parent;
+ private TransientKernelNodeState parent;
/**
* Create a new instance representing the root of a branch.
@@ -89,7 +89,7 @@ public class TransientKernelNodeState im
* @param parent the parent state of the state
* @param name name of the state
*/
- private TransientKernelNodeState(KernelBranch branch, TransientNodeState parent, String name) {
+ private TransientKernelNodeState(KernelBranch branch, TransientKernelNodeState parent, String name) {
this(branch, null, parent, name);
}
@@ -101,7 +101,7 @@ public class TransientKernelNodeState im
* @param name name of the state
*/
private TransientKernelNodeState(KernelBranch branch, NodeState persistedState,
- TransientNodeState parent, String name) {
+ TransientKernelNodeState parent, String name) {
this.branch = branch;
this.persistentState = persistedState;
@@ -355,9 +355,36 @@ public class TransientKernelNodeState im
branch.removeProperty(this, name);
}
-//------------------------------------------------------------< internal >---
+ //------------------------------------------------------------< internal >---
- void markNodeRemoved(String name) {
+ /**
+ * Move this node state to the parent node state at {@code destParent}
+ * with the new name {@code destName}.
+ *
+ * @param destParent new parent for this node state
+ * @param destName new name for this node state
+ */
+ void move(TransientKernelNodeState destParent, String destName) {
+ parent.markNodeRemoved(name);
+
+ name = destName;
+ parent = destParent;
+ destParent.addedNodes.put(destName, this);
+ }
+
+ /**
+ * Copy this node state to the parent node state at {@code destParent}
+ * with the name {@code destName}.
+ *
+ * @param destParent parent for the copied node state
+ * @param destName name for the copied node state
+ */
+ void copy(TransientKernelNodeState destParent, String destName) {
+ destParent.addedNodes.put(destName,
+ new TransientKernelNodeState(this, destParent, destName));
+ }
+
+ private void markNodeRemoved(String name) {
addedNodes.remove(name);
if (hasExistingNode(name)) {
// Mark as removed if removing existing
@@ -365,27 +392,13 @@ public class TransientKernelNodeState im
}
}
- void setProperty(PropertyState state) {
+ private void setProperty(PropertyState state) {
if (hasExistingProperty(state.getName())) {
removedProperties.add(state.getName());
}
addedProperties.put(state.getName(), state);
}
- void move(String name, TransientKernelNodeState destParent, String destName) {
- TransientKernelNodeState state = getChildNode(name);
- markNodeRemoved(name);
-
- state.name = destName;
- state.parent = destParent;
- destParent.addedNodes.put(destName, state);
- }
-
- void copy(String name, TransientKernelNodeState destParent, String destName) {
- destParent.addedNodes.put(destName,
- new TransientKernelNodeState(getChildNode(name), destParent, destName));
- }
-
/**
* Get a transient node state for a child node state which has
* an existing underlying persistent node date.