[gatein-commits] gatein SVN: r3071 - portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed May 12 23:08:20 EDT 2010


Author: hoang_to
Date: 2010-05-12 23:08:19 -0400 (Wed, 12 May 2010)
New Revision: 3071

Modified:
   portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/PageNavigationUtils.java
Log:
Add a method sorting list of PageNavigation

Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/PageNavigationUtils.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/PageNavigationUtils.java	2010-05-13 01:55:50 UTC (rev 3070)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/PageNavigationUtils.java	2010-05-13 03:08:19 UTC (rev 3071)
@@ -30,6 +30,8 @@
 import org.exoplatform.webui.application.WebuiRequestContext;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Locale;
 import java.util.ResourceBundle;
@@ -387,12 +389,50 @@
       return null;
    }
    
+   public static void sortPageNavigation(List<PageNavigation> navigations)
+   {
+      Collections.sort(navigations, new PageNavigationComparator());
+   }
+   
    /**
     * 
     * @author <a href="mailto:hoang281283 at gmail.com">Minh Hoang TO</a>
     * @version $Id$
     *
     */
+   public static class PageNavigationComparator implements Comparator<PageNavigation>
+   {
+      public int compare(PageNavigation firstNav, PageNavigation secondNav)
+      {
+         int firstNavPriority = firstNav.getPriority();
+         int secondNavPriority = secondNav.getPriority();
+         
+         if(firstNavPriority == secondNavPriority)
+         {
+            String firstNavId = firstNav.getOwnerId();
+            String secondNavId = secondNav.getOwnerId();
+            return firstNavId.compareTo(secondNavId);
+         }
+         else
+         {
+            if(firstNavPriority < secondNavPriority)
+            {
+               return -1;
+            }
+            else
+            {
+               return 1;
+            }
+         }
+      }
+   }
+   
+   /**
+    * 
+    * @author <a href="mailto:hoang281283 at gmail.com">Minh Hoang TO</a>
+    * @version $Id$
+    *
+    */
    public static class ParentChildPair
    {
       private PageNode parentNode;



More information about the gatein-commits mailing list