From: <fg...@us...> - 2010-02-14 21:59:58
|
Revision: 1932 http://openutils.svn.sourceforge.net/openutils/?rev=1932&view=rev Author: fgiust Date: 2010-02-14 21:59:52 +0000 (Sun, 14 Feb 2010) Log Message: ----------- MEDIA-102 migrate previous configuration Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java Added Paths: ----------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MoveHandlerNodedataToNode.java trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.handler.xml Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java 2010-02-14 21:31:10 UTC (rev 1931) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java 2010-02-14 21:59:52 UTC (rev 1932) @@ -130,22 +130,6 @@ true, MediaTypeConfiguration.class); - if (conf.getHandler() == null) - { - // legacy configuration - String classNameHandler = NodeDataUtil.getString(typeNode, "handler"); - Class<MediaTypeHandler> classHandler = (Class<MediaTypeHandler>) Class.forName(classNameHandler); - if (!MediaTypeHandler.class.isAssignableFrom(classHandler)) - { - log.error( - "Error getting media type configuration for {}: handler class {} not implements MediaTypeHanlder", - typeNode.getHandle(), - classHandler); - continue; - } - conf.setHandler(classHandler.newInstance()); - } - if (conf.getHandler() != null) { conf.getHandler().init(typeNode); Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java 2010-02-14 21:31:10 UTC (rev 1931) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java 2010-02-14 21:59:52 UTC (rev 1932) @@ -24,7 +24,6 @@ import info.magnolia.module.InstallContext; import info.magnolia.module.ModuleRegistry; import info.magnolia.module.delta.Task; -import info.magnolia.module.templatingkit.sites.STKSiteManager; import it.openutils.mgnltasks.BootstrapMissingNodesTask; import it.openutils.mgnltasks.ChangeExistingPropertyTask; import it.openutils.mgnltasks.CreateMissingPropertyTask; @@ -150,6 +149,9 @@ "/.resources/media/icons/browse16.gif", "/.resources/media/icons/ico16-browse.png")); + // update configuration, changed for the introduction of content2bean + tasks.add(new MoveHandlerNodedataToNode()); + // sort mediatypes on the "order" property tasks.add(new NodeSortTask("config", "/modules/media/mediatypes", "order")); Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MoveHandlerNodedataToNode.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MoveHandlerNodedataToNode.java (rev 0) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MoveHandlerNodedataToNode.java 2010-02-14 21:59:52 UTC (rev 1932) @@ -0,0 +1,63 @@ +package net.sourceforge.openutils.mgnlmedia.media.setup; + +import info.magnolia.cms.core.Content; +import info.magnolia.cms.core.ItemType; +import info.magnolia.cms.core.NodeData; +import info.magnolia.module.InstallContext; +import info.magnolia.module.delta.AbstractRepositoryTask; +import info.magnolia.module.delta.TaskExecutionException; + +import java.util.Collection; + +import javax.jcr.RepositoryException; + + +/** + * Update configuration for media types. + * @author fgiust + * @version $Id$ + */ +public class MoveHandlerNodedataToNode extends AbstractRepositoryTask +{ + + /** + * @param taskName + * @param taskDescription + */ + public MoveHandlerNodedataToNode() + { + super("Update mediatype configuration", "Handler configuration now requires a node instead of a nodedata"); + } + + /** + * {@inheritDoc} + */ + @Override + protected void doExecute(InstallContext installContext) throws RepositoryException, TaskExecutionException + { + Content types = installContext.getConfigHierarchyManager().getContent("/modules/media/mediatypes"); + Collection<Content> mediatypes = types.getChildren(ItemType.CONTENTNODE); + String handlerPropertyName = "handler"; + + for (Content mediatype : mediatypes) + { + if (mediatype.hasNodeData(handlerPropertyName)) + { + log.info("Legacy configuration found for mediatype {}", mediatype.getName() + + ", updating configuration"); + NodeData handlerNd = mediatype.getNodeData(handlerPropertyName); + String previousHandler = handlerNd.getString(); + handlerNd.delete(); + if (!mediatype.hasContent(handlerPropertyName)) + { + mediatype.createContent(handlerPropertyName, ItemType.CONTENTNODE).createNodeData( + "class", + previousHandler); + } + + } + } + + } + +} Property changes on: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MoveHandlerNodedataToNode.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.handler.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.handler.xml (rev 0) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.handler.xml 2010-02-14 21:59:52 UTC (rev 1932) @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="handler" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>9ab64dfc-9f0d-44a6-83ff-5fc1a6adf634</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.YouTubeVideoTypeHandler</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-02-14T21:25:50.277+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-02-14T21:26:04.623+01:00</sv:value> + </sv:property> + </sv:node> + <sv:node sv:name="videoSupportHandlers"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>72c87fc6-7506-405e-b396-1e6090fc993a</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-02-14T20:45:51.843+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-02-14T21:26:08.988+01:00</sv:value> + </sv:property> + </sv:node> + <sv:node sv:name="youtube"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>9d7010da-0448-477e-952e-4433cba91661</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.externals.YoutubeSupport</sv:value> + </sv:property> + <sv:property sv:name="enabled" sv:type="String"> + <sv:value>true</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2010-02-14T20:46:10.804+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-02-14T21:26:08.989+01:00</sv:value> + </sv:property> + </sv:node> + </sv:node> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.handler.xml ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |