From: <die...@us...> - 2010-06-29 14:27:45
|
Revision: 2722 http://openutils.svn.sourceforge.net/openutils/?rev=2722&view=rev Author: diego_schivo Date: 2010-06-29 14:27:39 +0000 (Tue, 29 Jun 2010) Log Message: ----------- MEDIA-145 FolderViewPage populated using AdvancedResult 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/pages/MediaFolderViewPage.java 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-06-29 13:40:35 UTC (rev 2721) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaConfigurationManager.java 2010-06-29 14:27:39 UTC (rev 2722) @@ -218,7 +218,6 @@ * @param sorting sorting * @return all media nodes of passed type */ - @SuppressWarnings("unchecked") public Collection<Content> getMediaNodes(final Content folder, final String type, final String sorting) { List<Content> medias = (List<Content>) folder.getChildren(new Content.ContentFilter() @@ -389,7 +388,10 @@ { Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(MediaModule.REPO); path = StringUtils.removeEnd(StringUtils.removeStart(StringUtils.trimToEmpty(path), "/"), "/"); - criteria.setBasePath("//" + path + (recursive ? "//*" : "/*")); + if (!StringUtils.isEmpty(path)) + { + criteria.setBasePath("//" + path + (recursive ? "//*" : "/*")); + } criteria.add(Restrictions.eq("@jcr:primaryType", MGNL_MEDIA_TYPE)); if (!StringUtils.isEmpty(type)) { Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-06-29 13:40:35 UTC (rev 2721) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-06-29 14:27:39 UTC (rev 2722) @@ -38,6 +38,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import javax.jcr.RepositoryException; @@ -46,6 +47,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult; import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager; import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaTypeConfiguration; import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModule; @@ -55,7 +57,8 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; -import com.google.common.collect.Collections2; +import com.google.common.collect.Iterators; +import com.google.common.collect.Lists; /** @@ -195,7 +198,7 @@ HierarchyManager hm = MgnlContext.getInstance().getHierarchyManager(MediaModule.REPO); final MediaTypeConfiguration mtc = MediaConfigurationManager.getInstance().getTypes().get(type); - Collection<Content> mediasOfType = null; + AdvancedResult typeResult = null; if (!StringUtils.isBlank(path)) { @@ -206,8 +209,7 @@ writable = folder.isGranted(Permission.WRITE); canPublish = writable && ActivationManagerFactory.getActivationManager().hasAnyActiveSubscriber(); - mediasOfType = MediaConfigurationManager.getInstance().getMediaNodes(folder, type, sorting); - + typeResult = MediaConfigurationManager.getInstance().find(folder.getHandle(), type, null, false, 0, -1); } catch (RepositoryException ex) { @@ -216,23 +218,16 @@ } else if (!StringUtils.isBlank(search)) { - try - { - writable = false; - canPublish = false; + writable = false; + canPublish = false; - mediasOfType = MediaConfigurationManager.getInstance().find(null, type, search, true); - - } - catch (RepositoryException ex) - { - log.error("Exception caught", ex); - } + typeResult = MediaConfigurationManager.getInstance().find(null, type, search, true, 0, -1); } - if (mediasOfType != null) + if (typeResult != null && typeResult.getItems().hasNext()) { - medias = Collections2.transform(mediasOfType, new MediaBeanBuilder(mtc)); + Iterator<MediaBean> it = Iterators.transform(typeResult.getItems(), new MediaBeanBuilder(mtc)); + medias = Lists.newArrayList(it); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |