On 7/26/07, Allen Gilliland <[EMAIL PROTECTED]> wrote:
Is there a reason why we had to do this as a new method?  Wouldn't we
want folder.getBookmarks() to just return the sorted collection?

I didn't want to muck with the getBookmarks() method because it is an
ORM managed relationship, i.e. JPA fetches the bookmarks. Think we
should manage that relationship instead so we can have one method?

- Dave





-- Allen


[EMAIL PROTECTED] wrote:
> Author: snoopdave
> Date: Thu Jul 26 07:37:07 2007
> New Revision: 559835
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=559835
> Log:
> Fix for ROL-548 - Bookmark display macro not obeying sort order
>
> Modified:
>     
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java
>     roller/trunk/apps/weblogger/web/WEB-INF/velocity/weblog.vm
>
> Modified: 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java
> URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java?view=diff&rev=559835&r1=559834&r2=559835
> ==============================================================================
> --- 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java
 (original)
> +++ 
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper.java
 Thu Jul 26 07:37:07 2007
> @@ -22,7 +22,9 @@
>  import java.util.Iterator;
>  import java.util.List;
>  import java.util.Set;
> +import java.util.TreeSet;
>  import org.apache.roller.weblogger.WebloggerException;
> +import org.apache.roller.weblogger.pojos.BookmarkComparator;
>  import org.apache.roller.weblogger.pojos.WeblogBookmark;
>  import org.apache.roller.weblogger.pojos.WeblogBookmarkFolder;
>
> @@ -115,7 +117,24 @@
>          return wrappedCollection;
>      }
>
> -
> +    public List getBookmarksSorted() {
> +        TreeSet initialCollection = new TreeSet(new BookmarkComparator());
> +        initialCollection.addAll(this.pojo.getBookmarks());
> +
> +        // iterate through and wrap
> +        // we force the use of an ArrayList because it should be good enough 
to cover
> +        // for any Collection type we encounter.
> +        ArrayList wrappedCollection = new 
ArrayList(initialCollection.size());
> +        Iterator it = initialCollection.iterator();
> +        int i = 0;
> +        while(it.hasNext()) {
> +            
wrappedCollection.add(i,WeblogBookmarkWrapper.wrap((WeblogBookmark) it.next()));
> +            i++;
> +        }
> +
> +        return wrappedCollection;
> +    }
> +
>      public List retrieveBookmarks(boolean subfolders)
>              throws WebloggerException {
>
>
> Modified: roller/trunk/apps/weblogger/web/WEB-INF/velocity/weblog.vm
> URL: 
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/velocity/weblog.vm?view=diff&rev=559835&r1=559834&r2=559835
> ==============================================================================
> --- roller/trunk/apps/weblogger/web/WEB-INF/velocity/weblog.vm (original)
> +++ roller/trunk/apps/weblogger/web/WEB-INF/velocity/weblog.vm Thu Jul 26 
07:37:07 2007
> @@ -366,7 +366,7 @@
>  *#
>  #macro(_showBookmarkLinksList $folderObject $subfolders $expanding )
>      #if ($expanding) #_showCommonJavascript() #end
> -    #set($bookmarks = $folderObject.getBookmarks())
> +    #set($bookmarks = $folderObject.getBookmarksSorted())
>      #set($folders = $folderObject.getFolders())
>      #set($divId = $utils.replace($folderObject.name, " ", "_" ))
>      #if ($folderObject.name != "root" && $expanding && $subfolders && 
($folderObject.getBookmarks().size() > 0 || $folderObject.getFolders().size() > 0))
>
>

Reply via email to