From: <fg...@us...> - 2011-05-20 15:07:10
|
Revision: 3467 http://openutils.svn.sourceforge.net/openutils/?rev=3467&view=rev Author: fgiust Date: 2011-05-20 15:07:04 +0000 (Fri, 20 May 2011) Log Message: ----------- MGNLSTRIPES-8 Template renderer configuration changed in Magnolia 4.4 Modified Paths: -------------- trunk/openutils-mgnlstripes/src/main/java/it/openutils/magnoliastripes/setup/StripesModuleVersionHandler.java Modified: trunk/openutils-mgnlstripes/src/main/java/it/openutils/magnoliastripes/setup/StripesModuleVersionHandler.java =================================================================== --- trunk/openutils-mgnlstripes/src/main/java/it/openutils/magnoliastripes/setup/StripesModuleVersionHandler.java 2011-05-20 15:04:57 UTC (rev 3466) +++ trunk/openutils-mgnlstripes/src/main/java/it/openutils/magnoliastripes/setup/StripesModuleVersionHandler.java 2011-05-20 15:07:04 UTC (rev 3467) @@ -20,16 +20,23 @@ package it.openutils.magnoliastripes.setup; import info.magnolia.cms.beans.config.ContentRepository; +import info.magnolia.cms.core.Content; +import info.magnolia.cms.core.ItemType; import info.magnolia.module.DefaultModuleVersionHandler; import info.magnolia.module.InstallContext; import info.magnolia.module.delta.AddMimeMappingTask; import info.magnolia.module.delta.FilterOrderingTask; +import info.magnolia.module.delta.MoveAndRenamePropertyTask; +import info.magnolia.module.delta.PropertyExistsDelegateTask; import info.magnolia.module.delta.Task; +import info.magnolia.module.model.Version; import it.openutils.mgnltasks.CreateMissingPropertyTask; import java.util.List; +import javax.jcr.RepositoryException; + /** * @author fgiust * @version $Id: $ @@ -40,7 +47,6 @@ /** * {@inheritDoc} */ - @SuppressWarnings("unchecked") @Override protected List<Task> getBasicInstallTasks(InstallContext installContext) { @@ -60,6 +66,53 @@ "stripes", new String[]{"context", "login", "uriSecurity", "multipartRequest" })); + // Didn't find a better way to get the current magnolia version... + Content coreModule; + try + { + coreModule = installContext + .getConfigHierarchyManager() + .getContent("/modules/core", false, ItemType.CONTENT); + if ((coreModule != null) && (coreModule.hasNodeData("version"))) + { + Version coreVersion = Version.parseVersion(coreModule.getNodeData("version").getString()); + // Any version from 4.4.0 onward need this patch. + if (coreVersion.isStrictlyAfter(Version.parseVersion(4, 3, 99))) + { + tasks.add(new PropertyExistsDelegateTask( + "Checking stripes renderer status", + "Checking stripes module template renderers status", + ContentRepository.CONFIG, + "/modules/stripes/template-renderers/stripes", + "class", + new MoveAndRenamePropertyTask( + "Moving strieps renderer \"class\" to \"renderer\"", + "/modules/stripes/template-renderers/stripes", + "class", + "/modules/stripes/template-renderers/stripes", + "renderer"))); + tasks.add(new PropertyExistsDelegateTask( + "Checking stripes renderer status", + "Checking stripes module template renderers status", + ContentRepository.CONFIG, + "/modules/stripes/template-renderers/stripes", + "name", + new MoveAndRenamePropertyTask( + "Moving strieps renderer \"name\" to \"type\"", + "/modules/stripes/template-renderers/stripes", + "name", + "/modules/stripes/template-renderers/stripes", + "type"))); + } + + } + } + catch (RepositoryException e) + { + + log.error("Unable to check the current magnolia version: {}", e.getMessage()); + } + return tasks; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |