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 js...@apache.org on 2016/02/29 15:25:05 UTC
svn commit: r1732906 - in
/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version:
VersionHistoryUtil.java VersionableEditor.java
Author: jsedding
Date: Mon Feb 29 14:25:05 2016
New Revision: 1732906
URL: http://svn.apache.org/viewvc?rev=1732906&view=rev
Log:
OAK-3844 - Better support for versionable nodes without version histories
- non functional refactoring + docs
- original patch from Tomek Rękawek
Modified:
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionHistoryUtil.java
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java
Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionHistoryUtil.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionHistoryUtil.java?rev=1732906&r1=1732905&r2=1732906&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionHistoryUtil.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionHistoryUtil.java Mon Feb 29 14:25:05 2016
@@ -38,6 +38,14 @@ public class VersionHistoryUtil {
singleton(versionableUuid)));
}
+ /**
+ * Constructs the version history path based on the versionable's UUID.
+ *
+ * @param root The root NodeState below which to look for the version.
+ * @param versionableUuid The String representation of the versionable's UUID.
+ * @return The NodeState corresponding to the version history, or {@code null}
+ * if it does not exist.
+ */
static NodeState getVersionHistoryNodeState(NodeState root, String versionableUuid) {
NodeState historyParent = root;
for (String segment : getVersionHistoryPathSegments(versionableUuid)) {
Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java?rev=1732906&r1=1732905&r2=1732906&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java Mon Feb 29 14:25:05 2016
@@ -26,6 +26,8 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.Set;
@@ -113,20 +115,17 @@ public class VersionableEditor extends D
final VersionCopyConfiguration c = provider.config;
if (isVersionable.apply(after)) {
final String versionableUuid = getProperty(after, JCR_UUID, Type.STRING);
- boolean versionHistoryExists = isVersionHistoryExists(versionableUuid);
if (c.isCopyVersions() && c.skipOrphanedVersionsCopy()) {
- versionHistoryExists = copyVersionHistory(after);
+ copyVersionHistory(after);
} else if (c.isCopyVersions() && !c.skipOrphanedVersionsCopy()) {
// all version histories have been copied, but maybe the date
// range for orphaned entries is narrower
if (c.getOrphanedMinDate().after(c.getVersionsMinDate())) {
- versionHistoryExists = copyVersionHistory(after);
+ copyVersionHistory(after);
}
- } else {
- versionHistoryExists = false;
}
- if (versionHistoryExists) {
+ if (isVersionHistoryExists(versionableUuid)) {
setVersionablePath(versionableUuid);
} else {
removeVersionProperties(getNodeBuilder(rootBuilder, this.path));