Sergey Shepelevich pushed to branch bugfix/REPO-1752 at cms-community / hippo-repository
Commits: 40d99559 by Sergey Shepelevich at 2017-08-04T10:34:47+02:00 REPO-1752 Migrate the URL rewriter configuration in repository If destination node does not exist, create it - - - - - 2 changed files: - engine/src/main/java/org/hippoecm/repository/MigrateNodeTypesToV12.java - engine/src/test/java/org/hippoecm/repository/MigrateNodeTypesToV12Test.java Changes: ===================================== engine/src/main/java/org/hippoecm/repository/MigrateNodeTypesToV12.java ===================================== --- a/engine/src/main/java/org/hippoecm/repository/MigrateNodeTypesToV12.java +++ b/engine/src/main/java/org/hippoecm/repository/MigrateNodeTypesToV12.java @@ -35,10 +35,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static org.hippoecm.repository.api.HippoNodeType.HIPPOSYS_MODULE_CONFIG; +import static org.hippoecm.repository.api.HippoNodeType.HIPPO_MODULECONFIG; import static org.hippoecm.repository.api.HippoNodeType.NT_AUTHROLE; import static org.hippoecm.repository.api.HippoNodeType.NT_DOMAIN; import static org.hippoecm.repository.api.HippoNodeType.NT_DOMAINRULE; import static org.hippoecm.repository.api.HippoNodeType.NT_FACETRULE; +import static org.hippoecm.repository.api.HippoNodeType.NT_MODULE; import static org.hippoecm.repository.api.HippoNodeType.NT_ROLE; class MigrateNodeTypesToV12 { @@ -81,16 +83,20 @@ class MigrateNodeTypesToV12 { void migrateUrlRewriter() throws RepositoryException { final String sourceNodePath = "/content/urlrewriter"; - final boolean sourceNodeExists = session.nodeExists(sourceNodePath); final String destinationNodePath = "/hippo:configuration/hippo:modules/urlrewriter/hippo:moduleconfig"; + + final boolean sourceNodeExists = session.nodeExists(sourceNodePath); final boolean destinationNodeExists = session.nodeExists(destinationNodePath); boolean saveNeeded = false; - if (sourceNodeExists && destinationNodeExists) { + if (sourceNodeExists) { log.info("Migrating urlrewriter"); final Node sourceNode = session.getNode(sourceNodePath); - final Node destinationNode = session.getNode(destinationNodePath); + Node destinationNode = null; for(PropertyIterator iterator = sourceNode.getProperties(); iterator.hasNext();) { + if (destinationNode == null) { + destinationNode = destinationNodeExists ? session.getNode(destinationNodePath) : createUrlRewriterDestinationNode(); + } final Property property = iterator.nextProperty(); if (property.getName().startsWith("urlrewriter:")) { log.info("Migrating property '{}'", property.getName()); @@ -99,7 +105,8 @@ class MigrateNodeTypesToV12 { } } } else { - log.info("Source node {} or destination node {} do not exist, skipping migrating url rewriter", sourceNodePath, destinationNodePath); + log.info("Source node {} or destination node {} do not exist, skipping migrating url rewriter", + sourceNodePath, destinationNodePath); } if (saveNeeded) { @@ -107,6 +114,17 @@ class MigrateNodeTypesToV12 { } } + private Node createUrlRewriterDestinationNode() throws RepositoryException { + final Node modulesNode = session.getNode("/hippo:configuration/hippo:modules"); + String urlrewriter = "urlrewriter"; + final Node urlrewriterNode = !modulesNode.hasNode(urlrewriter) ? + modulesNode.addNode(urlrewriter, NT_MODULE) : + modulesNode.getNode(urlrewriter); + + return urlrewriterNode.hasNode(HIPPO_MODULECONFIG) ? + modulesNode.getNode(HIPPO_MODULECONFIG) : modulesNode.addNode(HIPPO_MODULECONFIG, HIPPOSYS_MODULE_CONFIG); + } + private void movePropertyToNode(final Property sourceProperty, final Node destinationNode) throws RepositoryException { final String propertyName = sourceProperty.getName(); ===================================== engine/src/test/java/org/hippoecm/repository/MigrateNodeTypesToV12Test.java ===================================== --- a/engine/src/test/java/org/hippoecm/repository/MigrateNodeTypesToV12Test.java +++ b/engine/src/test/java/org/hippoecm/repository/MigrateNodeTypesToV12Test.java @@ -48,7 +48,6 @@ public class MigrateNodeTypesToV12Test { MigrateNodeTypesToV12 testedClass; - @Before public void setUp() throws Exception { @@ -97,6 +96,7 @@ public class MigrateNodeTypesToV12Test { Property property = createNiceMock(Property.class); expect(propertyIterator.hasNext()).andReturn(true).times(1); + expect(propertyIterator.next()).andReturn(property); expect(propertyIterator.nextProperty()).andReturn(property); replay(propertyIterator); View it on GitLab: https://code.onehippo.org/cms-community/hippo-repository/commit/40d99559654d4787420e5c1defde043227a031d7 --- View it on GitLab: https://code.onehippo.org/cms-community/hippo-repository/commit/40d99559654d4787420e5c1defde043227a031d7 You're receiving this email because of your account on code.onehippo.org.
_______________________________________________ Hippocms-svn mailing list Hippocms-svn@lists.onehippo.org https://lists.onehippo.org/mailman/listinfo/hippocms-svn