From: <die...@us...> - 2010-06-30 10:09:43
|
Revision: 2748 http://openutils.svn.sourceforge.net/openutils/?rev=2748&view=rev Author: diego_schivo Date: 2010-06-30 10:09:36 +0000 (Wed, 30 Jun 2010) Log Message: ----------- MEDIA-145 refactoring Modified Paths: -------------- 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/pages/MediaFolderViewPage.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-06-30 09:47:08 UTC (rev 2747) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2010-06-30 10:09:36 UTC (rev 2748) @@ -153,6 +153,7 @@ { super.init(); + // left side of navigation bar if (!StringUtils.isEmpty(mediaType)) { // subset of types specified by selectMedia control @@ -173,6 +174,7 @@ types = MediaConfigurationManager.getInstance().getTypes().values(); } + // right side of navigation bar bgSelector = null; sorting = null; for (Cookie cookie : request.getCookies()) @@ -189,51 +191,48 @@ bgSelector = StringUtils.defaultIfEmpty(bgSelector, "white"); sorting = StringUtils.defaultIfEmpty(sorting, SORT_BY_CREATIONDATE); + // for activation status handling develop = SystemProperty.getBooleanProperty("magnolia.develop"); } /** - * Count medias for each media type + * Counts media items for the specified type. + * @param mtc + * @return */ - private void fillNumberOfMediaPerType() + protected int countMediaItems(MediaTypeConfiguration mtc) { - numberOfMedia = new HashMap<String, Integer>(); - for (MediaTypeConfiguration mtc : types) + if (StringUtils.isEmpty(path) && StringUtils.isBlank(search)) { - AdvancedResult typeResult = MediaConfigurationManager.getInstance().find( - path, - mtc.getName(), - search, - StringUtils.isEmpty(search), - null, - 0, - 1); - numberOfMedia.put(mtc.getName(), (int) typeResult.getItems().getSize()); + return 0; } + numberOfMedia = new HashMap<String, Integer>(); + AdvancedResult typeResult = MediaConfigurationManager.getInstance().find( + path, + mtc.getName(), + search, + StringUtils.isEmpty(search), + null, + 0, + 1); + return (int) typeResult.getItems().getSize(); } /** - * {@inheritDoc} + * Finds media items to show. + * @return */ - @Override - public String show() + protected AdvancedResult findMediaItems() { - if (!StringUtils.isBlank(path) || !StringUtils.isBlank(search)) + AdvancedResult result = null; + if (!StringUtils.isEmpty(path)) { - fillNumberOfMediaPerType(); - } - - AdvancedResult typeResult = null; - - if (!StringUtils.isBlank(path)) - { Content folder = ContentUtil.getContent(MediaModule.REPO, path); if (folder != null) { writable = folder.isGranted(Permission.WRITE); canPublish = writable && ActivationManagerFactory.getActivationManager().hasAnyActiveSubscriber(); - - typeResult = MediaConfigurationManager.getInstance().find( + result = MediaConfigurationManager.getInstance().find( folder.getHandle(), type, null, @@ -247,19 +246,33 @@ { writable = false; canPublish = false; + result = MediaConfigurationManager.getInstance().find(null, type, search, false, sorting, 0, 1); + } + return result; + } - typeResult = MediaConfigurationManager.getInstance().find(null, type, search, false, sorting, 0, -1); + /** + * {@inheritDoc} + */ + @Override + public String show() + { + numberOfMedia = new HashMap<String, Integer>(); + for (MediaTypeConfiguration mtc : types) + { + numberOfMedia.put(mtc.getName(), countMediaItems(mtc)); } medias = Iterators.emptyIterator(); pages = Collections.emptyList(); - if (typeResult != null) + AdvancedResult result = findMediaItems(); + if (result != null) { MediaTypeConfiguration mtc = MediaConfigurationManager.getInstance().getTypes().get(type); // casts Iterator<AdvancedResultItem> to Iterator<Content> - Iterator<Content> contentIterator = Iterators.filter(typeResult.getItems(), Content.class); + Iterator<Content> contentIterator = Iterators.filter(result.getItems(), Content.class); medias = Iterators.transform(contentIterator, new MediaBeanBuilder(mtc)); - pages = MgnlPagingElFunctions.pageList(typeResult.getNumberOfPages(), 5, "page"); + pages = MgnlPagingElFunctions.pageList(result.getNumberOfPages(), 5, "page"); } return super.show(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |