Author: baedke
Date: Fri Mar 18 16:44:21 2016
New Revision: 1735638

URL: http://svn.apache.org/viewvc?rev=1735638&view=rev
Log:
OAK-4128: RepositorySidegrade doesn't copy root node properties

Patch provided by Tomek Rekawek (tom...@apache.org).

Modified:
    
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
    
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
    
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/AbstractOak2OakTest.java

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java?rev=1735638&r1=1735637&r2=1735638&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
 Fri Mar 18 16:44:21 2016
@@ -52,6 +52,7 @@ import static org.apache.jackrabbit.oak.
 import static 
org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.DEFAULT_INCLUDE_PATHS;
 import static 
org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.DEFAULT_MERGE_PATHS;
 import static 
org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.calculateEffectiveIncludePaths;
+import static 
org.apache.jackrabbit.oak.upgrade.nodestate.NodeStateCopier.copyProperties;
 import static 
org.apache.jackrabbit.oak.upgrade.version.VersionCopier.copyVersionStorage;
 
 public class RepositorySidegrade {
@@ -272,5 +273,9 @@ public class RepositorySidegrade {
             .exclude(excludes)
             .merge(merges)
             .copy(sourceRoot, targetRoot);
+
+        if (includePaths.contains("/")) {
+            copyProperties(sourceRoot, targetRoot);
+        }
     }
 }
\ No newline at end of file

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java?rev=1735638&r1=1735637&r2=1735638&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
 Fri Mar 18 16:44:21 2016
@@ -31,6 +31,7 @@ import static org.apache.jackrabbit.oak.
 import static 
org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeConstants.JCR_ALL;
 import static 
org.apache.jackrabbit.oak.upgrade.nodestate.FilteringNodeState.ALL;
 import static 
org.apache.jackrabbit.oak.upgrade.nodestate.FilteringNodeState.NONE;
+import static 
org.apache.jackrabbit.oak.upgrade.nodestate.NodeStateCopier.copyProperties;
 
 import java.io.File;
 import java.io.IOException;
@@ -870,6 +871,10 @@ public class RepositoryUpgrade {
                 .merge(merges)
                 .copy(sourceRoot, targetRoot);
 
+        if (includePaths.contains("/")) {
+            copyProperties(sourceRoot, targetRoot);
+        }
+
         return workspaceName;
     }
 

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/AbstractOak2OakTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/AbstractOak2OakTest.java?rev=1735638&r1=1735637&r2=1735638&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/AbstractOak2OakTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/AbstractOak2OakTest.java
 Fri Mar 18 16:44:21 2016
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.upgrade.cli;
 
-import static junit.framework.Assert.assertEquals;
 import static org.junit.Assert.assertEquals;
 
 import java.io.File;
@@ -116,6 +115,12 @@ public abstract class AbstractOak2OakTes
     }
 
     static void verifyContent(Session session) throws RepositoryException {
+        Node root = session.getRootNode();
+        assertEquals("rep:root", root.getPrimaryNodeType().getName());
+        assertEquals(1, root.getMixinNodeTypes().length);
+        assertEquals("rep:AccessControllable", 
root.getMixinNodeTypes()[0].getName());
+        assertEquals("sling:redirect", 
root.getProperty("sling:resourceType").getString());
+
         Node allow = session.getNode("/apps");
         assertEquals("sling:Folder", 
allow.getProperty("jcr:primaryType").getString());
         assertEquals("admin", allow.getProperty("jcr:createdBy").getString());


Reply via email to