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.
|