From: <fg...@us...> - 2010-02-14 21:13:09
|
Revision: 1929 http://openutils.svn.sourceforge.net/openutils/?rev=1929&view=rev Author: fgiust Date: 2010-02-14 21:13:02 +0000 (Sun, 14 Feb 2010) Log Message: ----------- MEDIA-102 Use Content2Bean for loading mediaTypeHandlers + MEDIA-101 Make external video support configurable 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/configuration/MediaTypeConfiguration.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/ExternalVideoSupport.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/YoutubeSupport.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.audio.xml trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.document.xml trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.image.xml trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.video.xml trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.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:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java 2010-02-14 21:13:02 UTC (rev 1929) @@ -31,10 +31,10 @@ import info.magnolia.cms.util.ContentUtil; import info.magnolia.cms.util.FactoryUtil; import info.magnolia.cms.util.NodeDataUtil; +import info.magnolia.content2bean.Content2BeanUtil; import info.magnolia.context.MgnlContext; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Collections; @@ -125,52 +125,43 @@ try { - MediaTypeConfiguration conf = new MediaTypeConfiguration(); - conf.setName(typeNode.getName()); - conf.setDialog(NodeDataUtil.getString(typeNode, "dialog")); - conf.setLabel(NodeDataUtil.getString(typeNode, "label")); - conf.setMenuIcon(NodeDataUtil.getString(typeNode, "menuIcon")); - String extensions = NodeDataUtil.getString(typeNode, "extensions"); - if (!StringUtils.isEmpty(extensions)) + MediaTypeConfiguration conf = (MediaTypeConfiguration) Content2BeanUtil.toBean( + typeNode, + true, + MediaTypeConfiguration.class); + + if (conf.getHandler() == null) { - conf.setExtensions(Arrays.asList(StringUtils.split(extensions, ","))); + // 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()); } - else + + if (conf.getHandler() != null) { - conf.setExtensions(new ArrayList<String>()); + conf.getHandler().init(typeNode); } - String classNameHandler = NodeDataUtil.getString(typeNode, "handler"); - Class classHandler = Class.forName(classNameHandler); - if (!MediaTypeHandler.class.isAssignableFrom(classHandler)) + else { - log - .error( - "Error getting media type configuration for {}: handler class {} not implements MediaTypeHanlder", - typeNode.getHandle(), - classHandler); + log.error("Missing handler for media type {}", typeNode.getName()); continue; } - conf.setHandler((MediaTypeHandler) classHandler.newInstance()); - conf.getHandler().init(typeNode); types.put(typeNode.getName(), conf); } - catch (InstantiationException ex) + catch (Throwable e) { - log.error("Error getting media type configuration for {}", typeNode.getHandle(), ex); + log.error("Error getting media type configuration for {}", typeNode.getHandle(), e); } - catch (IllegalAccessException ex) - { - log.error("Error getting media type configuration for {}", typeNode.getHandle(), ex); - } - catch (ClassNotFoundException ex) - { - log.error("Error getting media type configuration for {}", typeNode.getHandle(), ex); - } - catch (RuntimeException ex) - { - log.error("Error getting media type configuration for {}", typeNode.getHandle(), ex); - } } } @@ -195,7 +186,7 @@ .getTypes() .entrySet()) { - if (entry.getValue().getExtensions().contains(extension.toLowerCase())) + if (entry.getValue().getExtensionsList().contains(extension.toLowerCase())) { return entry.getValue(); } Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java 2010-02-14 21:13:02 UTC (rev 1929) @@ -19,11 +19,14 @@ package net.sourceforge.openutils.mgnlmedia.media.configuration; +import java.util.Arrays; import java.util.List; import net.sourceforge.openutils.mgnlmedia.media.types.MediaTypeHandler; +import org.apache.commons.lang.StringUtils; + /** * Bean that contains all media type informations * @author molaschi @@ -42,7 +45,7 @@ private MediaTypeHandler handler; - private List<String> extensions; + private List<String> extensionsList; /** * Returns the label. @@ -138,18 +141,28 @@ * Returns the extensions. * @return the extensions */ - public List<String> getExtensions() + public List<String> getExtensionsList() { - return extensions; + return extensionsList; } /** * Sets the extensions. * @param extensions the extensions to set */ - public void setExtensions(List<String> extensions) + public void setExtensionsList(List<String> extensions) { - this.extensions = extensions; + this.extensionsList = extensions; } + /** + * Sets the extensions as a comma separated list. + * @param extensionsString a comma separated list of extensions + */ + // needed by content2bean + public void setExtensions(String extensionsString) + { + this.extensionsList = Arrays.asList(StringUtils.split(extensionsString, ",")); + } + } Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/ExternalVideoSupport.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/ExternalVideoSupport.java 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/ExternalVideoSupport.java 2010-02-14 21:13:02 UTC (rev 1929) @@ -20,17 +20,48 @@ package net.sourceforge.openutils.mgnlmedia.media.types.externals; /** + * Interface for external video handling. Users can implement a custom parsing logic to extract a flv/image url from a + * specific sharing URL. * @author fgiust * @version $Id$ */ public interface ExternalVideoSupport { - boolean canHandle(String url); + /** + * Can this VideoSupport class handle this kind of urls? Usually done by checking the domain. + * @param shareUrl share URL + * @return true if this class can handle video with the given URL + */ + boolean canHandle(String shareUrl); + /** + * Is this VideoSupport class enabled? + * @return true if this video support class should be used when an external video is loaded + */ + boolean isEnabled(); + + /** + * Return the FLV url from the share url. This method is guaranteed to be called only if canHandle() returned true + * for the same URL. + * @param shareUrl share URL + * @return flv direct URL + */ String getFlvUrl(String shareUrl); + /** + * Return the preview url from the share url. This method is guaranteed to be called only if canHandle() returned + * true for the same URL. + * @param shareUrl share URL + * @return preview URL (may be null) + */ String getPreviewUrl(String shareUrl); + /** + * Return the video name from the share url. This method is guaranteed to be called only if canHandle() returned + * true for the same URL. + * @param shareUrl share URL + * @return video name (name of the node that will be created in the media repository) + */ String getMediaName(String shareUrl); } Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/YoutubeSupport.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/YoutubeSupport.java 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/YoutubeSupport.java 2010-02-14 21:13:02 UTC (rev 1929) @@ -33,6 +33,7 @@ /** + * ExternalVideoSupport specific for Youtube URLs. * @author fgiust * @version $Id$ */ @@ -44,18 +45,46 @@ */ private Logger log = LoggerFactory.getLogger(YoutubeSupport.class); + /** + * Enabled. + */ + private boolean enabled = true; + + /** + * {@inheritDoc} + */ + public boolean isEnabled() + { + return enabled; + } + + /** + * Sets the enabled. + * @param enabled the enabled to set + */ + public void setEnabled(boolean enabled) + { + this.enabled = enabled; + } + + /** + * {@inheritDoc} + */ public boolean canHandle(String url) { return StringUtils.startsWith(url, "http://www.youtube"); } + /** + * {@inheritDoc} + */ public String getFlvUrl(String shareUrl) { String flvUrl = null; BufferedReader in = null; try { - String videoId = getVideoId(StringUtils.substringAfter(shareUrl, "?")); + String videoId = getVideoId(shareUrl); String videoInfoUrl = "http://www.youtube.com/get_video_info?video_id=" + videoId; URL url = new URL(videoInfoUrl); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); @@ -91,11 +120,22 @@ return flvUrl; } + /** + * {@inheritDoc} + */ public String getPreviewUrl(String shareUrl) { return "http://img.youtube.com/vi/" + getVideoId(shareUrl) + "/0.jpg"; } + /** + * {@inheritDoc} + */ + public String getMediaName(String shareUrl) + { + return getVideoId(shareUrl); + } + private String getVideoId(String shareUrl) { for (String att : StringUtils.split(StringUtils.substringAfter(shareUrl, "?"), "&")) @@ -108,12 +148,4 @@ return null; } - /** - * {@inheritDoc} - */ - public String getMediaName(String shareUrl) - { - return getVideoId(shareUrl); - } - } Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-14 21:13:02 UTC (rev 1929) @@ -24,6 +24,8 @@ import java.io.File; import java.net.URL; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.UUID; @@ -32,7 +34,6 @@ import javax.servlet.http.HttpServletRequest; import net.sourceforge.openutils.mgnlmedia.media.types.externals.ExternalVideoSupport; -import net.sourceforge.openutils.mgnlmedia.media.types.externals.YoutubeSupport; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils.FLVMetaData; @@ -58,9 +59,37 @@ /** * External video support, will be made configurable in future versions. */ - private ExternalVideoSupport[] videoSupportHandlers = new ExternalVideoSupport[]{new YoutubeSupport() }; + private List<ExternalVideoSupport> videoSupportHandlers = new ArrayList<ExternalVideoSupport>(); /** + * Returns the list of configured videoSupportHandlers. + * @return the list of configured videoSupportHandlers. + */ + public List<ExternalVideoSupport> getVideoSupportHandlers() + { + return videoSupportHandlers; + } + + /** + * Sets the list of configured videoSupportHandlers. + * @param videoSupportHandlers the list of configured videoSupportHandlers. + */ + public void setVideoSupportHandlers(List<ExternalVideoSupport> videoSupportHandlers) + { + this.videoSupportHandlers = videoSupportHandlers; + } + + /** + * Adds a video support handler. + * @param videoSupportHandler ExternalVideoSupport implementation + */ + // method required by contentToBean + public void addVideoSupportHandlers(ExternalVideoSupport videoSupportHandler) + { + videoSupportHandlers.add(videoSupportHandler); + } + + /** * {@inheritDoc} */ @Override @@ -105,7 +134,7 @@ for (ExternalVideoSupport external : videoSupportHandlers) { - if (external.canHandle(videoUrl)) + if (external.isEnabled() && external.canHandle(videoUrl)) { nodeName = external.getMediaName(videoUrl); break; @@ -147,7 +176,7 @@ String downloadUrl = getUrl(media); for (ExternalVideoSupport external : videoSupportHandlers) { - if (external.canHandle(downloadUrl)) + if (external.isEnabled() && external.canHandle(downloadUrl)) { downloadUrl = external.getFlvUrl(downloadUrl); break; Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.audio.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.audio.xml 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.audio.xml 2010-02-14 21:13:02 UTC (rev 1929) @@ -18,9 +18,6 @@ <sv:property sv:name="extensions" sv:type="String"> <sv:value>mp3</sv:value> </sv:property> - <sv:property sv:name="handler" sv:type="String"> - <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.AudioTypeHandler</sv:value> - </sv:property> <sv:property sv:name="i18nBasename" sv:type="String"> <sv:value>net.sourceforge.openutils.mgnlmedia.media.lang.messages</sv:value> </sv:property> @@ -56,4 +53,32 @@ <sv:value>2010-02-06T20:33:55.937+01:00</sv:value> </sv:property> </sv:node> + <sv:node sv:name="handler"> + <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>c5fc7e75-bb48-4b66-a3a0-9eea561d7dfb</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.AudioTypeHandler</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:26:21.689+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-02-14T21:26:39.207+01:00</sv:value> + </sv:property> + </sv:node> + </sv:node> </sv:node> Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.document.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.document.xml 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.document.xml 2010-02-14 21:13:02 UTC (rev 1929) @@ -18,9 +18,6 @@ <sv:property sv:name="extensions" sv:type="String"> <sv:value>doc,pdf,docx,odt,xls,ppt</sv:value> </sv:property> - <sv:property sv:name="handler" sv:type="String"> - <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.DocumentTypeHandler</sv:value> - </sv:property> <sv:property sv:name="label" sv:type="String"> <sv:value>document</sv:value> </sv:property> @@ -53,4 +50,32 @@ <sv:value>2010-01-09T12:48:31.017+01:00</sv:value> </sv:property> </sv:node> -</sv:node> \ No newline at end of file + <sv:node sv:name="handler"> + <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>3ca0e456-2ae1-430f-8bdf-505cec5e5d2c</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.DocumentTypeHandler</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:26:54.397+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-02-14T21:27:19.219+01:00</sv:value> + </sv:property> + </sv:node> + </sv:node> +</sv:node> Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.image.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.image.xml 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.image.xml 2010-02-14 21:13:02 UTC (rev 1929) @@ -18,9 +18,6 @@ <sv:property sv:name="extensions" sv:type="String"> <sv:value>jpg,gif,png</sv:value> </sv:property> - <sv:property sv:name="handler" sv:type="String"> - <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.ImageTypeHandler</sv:value> - </sv:property> <sv:property sv:name="i18nBasename" sv:type="String"> <sv:value>net.sourceforge.openutils.mgnlmedia.media.lang.messages</sv:value> </sv:property> @@ -56,4 +53,32 @@ <sv:value>2010-02-06T20:34:56.427+01:00</sv:value> </sv:property> </sv:node> + <sv:node sv:name="handler"> + <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>1cb192e5-2171-4d96-8cb4-5af64e0a63ba</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.ImageTypeHandler</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:24:17.243+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-02-14T21:24:42.368+01:00</sv:value> + </sv:property> + </sv:node> + </sv:node> </sv:node> Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.video.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.video.xml 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.video.xml 2010-02-14 21:13:02 UTC (rev 1929) @@ -18,9 +18,6 @@ <sv:property sv:name="extensions" sv:type="String"> <sv:value>flv,swf</sv:value> </sv:property> - <sv:property sv:name="handler" sv:type="String"> - <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.VideoTypeHandler</sv:value> - </sv:property> <sv:property sv:name="i18nBasename" sv:type="String"> <sv:value>net.sourceforge.openutils.mgnlmedia.media.lang.messages</sv:value> </sv:property> @@ -53,7 +50,35 @@ <sv:value>2008-06-21T08:55:30.375Z</sv:value> </sv:property> <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> - <sv:value>2010-02-06T20:34:35.725+01:00</sv:value> + <sv:value>2010-02-14T21:25:02.336+01:00</sv:value> </sv:property> </sv:node> + <sv:node sv:name="handler"> + <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>5a96dfd2-8bf6-4648-8845-3d6f7e621c1f</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.VideoTypeHandler</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:13.359+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2010-02-14T21:25:28.817+01:00</sv:value> + </sv:property> + </sv:node> + </sv:node> </sv:node> Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.xml 2010-02-14 21:03:52 UTC (rev 1928) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media-nooverwrite/config.modules.media.mediatypes.youtube.xml 2010-02-14 21:13:02 UTC (rev 1929) @@ -15,9 +15,6 @@ <sv:property sv:name="enabled" sv:type="Boolean"> <sv:value>true</sv:value> </sv:property> - <sv:property sv:name="handler" sv:type="String"> - <sv:value>net.sourceforge.openutils.mgnlmedia.media.types.impl.YouTubeVideoTypeHandler</sv:value> - </sv:property> <sv:property sv:name="i18nBasename" sv:type="String"> <sv:value>net.sourceforge.openutils.mgnlmedia.media.lang.messages</sv:value> </sv:property> @@ -53,4 +50,94 @@ <sv:value>2010-02-06T20:34:16.017+01:00</sv:value> </sv:property> </sv:node> + <sv:node sv:name="handler"> + <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> </sv:node> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |