From: <die...@us...> - 2010-09-01 08:09:02
|
Revision: 2963 http://openutils.svn.sourceforge.net/openutils/?rev=2963&view=rev Author: diego_schivo Date: 2010-09-01 08:08:50 +0000 (Wed, 01 Sep 2010) Log Message: ----------- MEDIA-169 AdvancedSearch/playlist xml views should use the same freemarker template Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView-xspf.html Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java 2010-08-31 18:01:46 UTC (rev 2962) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java 2010-09-01 08:08:50 UTC (rev 2963) @@ -28,8 +28,10 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; +import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; +import java.util.Map; import javax.jcr.RepositoryException; import javax.servlet.http.HttpServletRequest; @@ -326,7 +328,9 @@ mediaBeans = new ArrayList<MediaBean>(nodes.size()); for (Content node : nodes) { - MediaTypeConfiguration mtc = MediaConfigurationManager.getInstance().getMediaTypeConfigurationFromMedia(node); + MediaTypeConfiguration mtc = MediaConfigurationManager + .getInstance() + .getMediaTypeConfigurationFromMedia(node); MediaBean bean = new MediaBeanBuilder(mtc).apply(node); mediaBeans.add(bean); } @@ -388,4 +392,17 @@ this.xml = xml; } + public String playlistLocation() + { + return "/playlists" + playlist.getHandle() + ".xspf?locale=" + locale; + } + + public Map<String, Object> playlistMetas() + { + Map<String, Object> metas = new LinkedHashMap<String, Object>(); + metas.put("media:locale", locale); + metas.put("media:playlist-id", playlist.getUuid()); + return metas; + } + } Modified: trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView-xspf.html =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView-xspf.html 2010-08-31 18:01:46 UTC (rev 2962) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView-xspf.html 2010-09-01 08:08:50 UTC (rev 2963) @@ -1,35 +1,41 @@ <?xml version="1.0" encoding="UTF-8"?> -<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:media="http://www.openmindlab.com/media"> +<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:media="http://www.openmindlab.com/media"> [#assign mgnlEl = this.getStatic("it.openutils.mgnlutils.el.MgnlUtilsElFunctions")] [#assign systemProperty = this.getStatic("info.magnolia.cms.core.SystemProperty")] [#assign dateUtils = this.getStatic("net.sourceforge.openutils.elfunctions.DateElUtils")] [#assign cal = this.getStatic("java.util.Calendar")] [#assign mediaEl = this.getStatic("net.sourceforge.openutils.mgnlmedia.media.tags.el.MediaEl")] <title><![CDATA[${this.playlist.title}]]></title> - <meta rel="media:locale">${this.locale}</meta> - <meta rel="media:playlist-id">${this.playlist.uuid}</meta> - <location><![CDATA[${mgnlEl.baseUrl()}/playlists${this.playlist.handle}.xspf?locale=${this.locale}]]></location> + <location><![CDATA[${mgnlEl.baseUrl()}${this.playlistLocation()}]]></location> <date>${dateUtils.toXsdDate(cal.getInstance())}</date> - <trackList> + [#assign metas = this.playlistMetas()] + [#list metas?keys as key] + <meta rel="${key}">${metas[key]}</meta> + [/#list] + <trackList> [#list this.mediaContentList as mediaDetail] + [#assign mediaLocale = this.locale] [#assign mediaNode = mediaEl.node(mediaDetail.@uuid)] <track> - <location><![CDATA[${mgnlEl.toAbsoluteUrl(mediaEl.url(mediaNode))}]]></location> - <identifier>media:${mediaDetail.@uuid}</identifier> - [#if (mediaDetail['title_' + this.locale])?exists]<title><![CDATA[${mediaDetail['title_' + this.locale]}]]></title>[/#if] - [#assign resolution = systemProperty.getProperty("thumbresolution")!'l100x100' ] - [#if mediaEl.type(mediaNode) == 'image'] + [#assign mediaURL = mgnlEl.toAbsoluteUrl(mediaEl.url(mediaNode))] + <location>${mediaURL}</location> + <identifier>media:${mediaDetail.@uuid}</identifier> + [#if (mediaDetail['title_' + mediaLocale])?exists]<title><![CDATA[${mediaDetail['title_' + mediaLocale]}]]></title>[/#if] + [#assign resolution = systemProperty.getProperty("thumbresolution")!'l100x100' ] + [#if mediaEl.type(mediaNode) == 'image' || mediaDetail.image?exists] + [#assign imagePath = mediaEl.urlres(mediaNode, resolution)!''] + [#if imagePath?has_content] <image>${mgnlEl.baseUrl()}${mediaEl.urlres(mediaNode, resolution)}</image> - [#else] - [#if (mediaDetail.image)?exists]<image>${mgnlEl.baseUrl()}${mediaEl.urlres(mediaDetail, resolution)}</image>[/#if] + [/#if] [/#if] - [#if (mediaDetail['description_' + this.locale])?exists]<annotation><![CDATA[${mediaDetail['description_' + this.locale]}]]></annotation>[/#if] - [#if (mediaDetail.media_duration)?exists]<duration>${(mediaDetail.media_duration * 1000)?string.computer}</duration>[/#if] + [#if (mediaDetail['description_' + mediaLocale])?exists]<description>${mediaDetail['description_' + mediaLocale]}</description>[/#if] + [#if (mediaDetail['richContent_' + mediaLocale])?exists]<annotation><![CDATA[${mediaDetail['richContent_' + mediaLocale]}]]></annotation>[/#if] + [#if (mediaDetail.media_duration)?exists]<duration>${(mediaDetail.media_duration * 1000)?string.computer}</duration>[/#if] <extension application="http://www.openmindlab.com/media"> - <media:locale code="${this.locale}" /> - <media:type>${mediaDetail.type}</media:type> + <media:locale code="${mediaLocale}" /> + <media:type>${mediaDetail.type}</media:type> </extension> - </track> + </track> [/#list] </trackList> </playlist> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |