From: <die...@us...> - 2010-09-01 09:42:16
|
Revision: 2971 http://openutils.svn.sourceforge.net/openutils/?rev=2971&view=rev Author: diego_schivo Date: 2010-09-01 09:42:10 +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/media/advancedsearch/configuration/SearchMediaQueryConfiguration.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.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/media/advancedsearch/configuration/SearchMediaQueryConfiguration.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/advancedsearch/configuration/SearchMediaQueryConfiguration.java 2010-09-01 08:46:49 UTC (rev 2970) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/advancedsearch/configuration/SearchMediaQueryConfiguration.java 2010-09-01 09:42:10 UTC (rev 2971) @@ -109,22 +109,11 @@ Restrictions.eq("@jcr:primaryType", MediaConfigurationManager.MEDIA.getSystemName())); // base path - String basePath; - String suffix = '/' + (descendants ? "/" : StringUtils.EMPTY) + '*'; - if (path == null) - { - // use default - basePath = '/' + defaultBasePath + suffix; - } - else if (StringUtils.isEmpty(path) || path.equals("/")) - { - basePath = suffix; - } - else - { - basePath = '/' + path + suffix; - } - c.setBasePath(basePath); + String searchPath = StringUtils.removeEnd(StringUtils.defaultString(path, defaultBasePath), "/") + + "/" + + (descendants ? "/" : StringUtils.EMPTY) + + "*"; + c.setBasePath("/jcr:root/" + StringUtils.removeStart(searchPath, "/")); // media type if (!StringUtils.isEmpty(mediaType)) Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java 2010-09-01 08:46:49 UTC (rev 2970) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java 2010-09-01 09:42:10 UTC (rev 2971) @@ -19,25 +19,32 @@ package net.sourceforge.openutils.mgnlmedia.media.pages; +import info.magnolia.cms.core.Content; +import info.magnolia.context.MgnlContext; import info.magnolia.freemarker.FreemarkerUtil; +import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; +import javax.jcr.RepositoryException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult; import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem; -import net.sourceforge.openutils.mgnlcriteria.jcr.query.ResultIterator; import net.sourceforge.openutils.mgnlmedia.media.advancedsearch.configuration.SearchMediaQueryConfiguration; import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaTypeConfiguration; +import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModule; import net.sourceforge.openutils.mgnlmedia.media.tags.el.MediaEl; import net.sourceforge.openutils.mgnlmedia.playlist.pages.PlaylistView; import org.apache.commons.lang.StringUtils; +import com.google.common.base.Function; +import com.google.common.collect.Iterators; + /** * Page that renders the search results. * @author molaschi @@ -212,9 +219,26 @@ return metas; } - public ResultIterator<AdvancedResultItem> getMediaContentList() + public Iterator<Content> getMediaContentList() { - return searchResult.getItems(); + return Iterators.transform(searchResult.getItems(), new Function<AdvancedResultItem, Content>() + { + + /** + * {@inheritDoc} + */ + public Content apply(AdvancedResultItem from) + { + try + { + return MgnlContext.getHierarchyManager(MediaModule.REPO).getContentByUUID(from.getUUID()); + } + catch (RepositoryException e) + { + return null; + } + } + }); } } 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-09-01 08:46:49 UTC (rev 2970) +++ trunk/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView-xspf.html 2010-09-01 09:42:10 UTC (rev 2971) @@ -16,29 +16,30 @@ <meta rel="${key}">${metas[key]}</meta> [/#list] <trackList> - [#list this.mediaContentList as mediaDetail] - [#assign mediaLocale = this.locale] - [#assign mediaNode = mediaEl.node(mediaDetail.@uuid)] + [#list this.mediaContentList as mediaNode] + [#assign mediaLocale = this.locale!''] + [#if mediaNode?has_content] <track> [#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] + <identifier>media:${mediaNode.@uuid}</identifier> + [#if (mediaNode['title_' + mediaLocale])?exists]<title><![CDATA[${mediaNode['title_' + mediaLocale]}]]></title>[/#if] [#assign resolution = systemProperty.getProperty("thumbresolution")!'l100x100' ] - [#if mediaEl.type(mediaNode) == 'image' || mediaDetail.image?exists] + [#if mediaEl.type(mediaNode) == 'image' || mediaNode.image?exists] [#assign imagePath = mediaEl.urlres(mediaNode, resolution)!''] [#if imagePath?has_content] <image>${mgnlEl.baseUrl()}${mediaEl.urlres(mediaNode, resolution)}</image> [/#if] [/#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] + [#if (mediaNode['description_' + mediaLocale])?exists]<description>${mediaNode['description_' + mediaLocale]}</description>[/#if] + [#if (mediaNode['richContent_' + mediaLocale])?exists]<annotation><![CDATA[${mediaNode['richContent_' + mediaLocale]}]]></annotation>[/#if] + [#if (mediaNode.media_duration)?exists]<duration>${(mediaNode.media_duration * 1000)?string.computer}</duration>[/#if] <extension application="http://www.openmindlab.com/media"> <media:locale code="${mediaLocale}" /> - <media:type>${mediaDetail.type}</media:type> + <media:type>${mediaNode.type}</media:type> </extension> </track> + [/#if] [/#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. |