Author: ivaynberg
Date: Thu Apr 17 07:55:02 2008
New Revision: 649137

URL: http://svn.apache.org/viewvc?rev=649137&view=rev
Log:
WICKET-1548 refactored paging navigator to call factories from onbeforerender

Modified:
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java?rev=649137&r1=649136&r2=649137&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java
 Thu Apr 17 07:55:02 2008
@@ -32,7 +32,9 @@
        private static final long serialVersionUID = 1L;
 
        /** The navigation bar to be printed, e.g. 1 | 2 | 3 etc. */
-       private final PagingNavigation pagingNavigation;
+       private PagingNavigation pagingNavigation;
+       private final IPageable pageable;
+       private final IPagingLabelProvider labelProvider;
 
        /**
         * Constructor.
@@ -58,20 +60,30 @@
         *            The label provider for the link text.
         */
        public PagingNavigator(final String id, final IPageable pageable,
-                       final IPagingLabelProvider labelProvider)
+               final IPagingLabelProvider labelProvider)
        {
                super(id);
+               this.pageable = pageable;
+               this.labelProvider = labelProvider;
+       }
 
+       @Override
+       protected void onBeforeRender()
+       {
 
-               // Get the navigation bar and add it to the hierarchy
-               this.pagingNavigation = newNavigation(pageable, labelProvider);
-               add(pagingNavigation);
-
-               // Add additional page links
-               add(newPagingNavigationLink("first", pageable, 0));
-               add(newPagingNavigationIncrementLink("prev", pageable, -1));
-               add(newPagingNavigationIncrementLink("next", pageable, 1));
-               add(newPagingNavigationLink("last", pageable, -1));
+               if (get("first") == null)
+               {
+                       // Get the navigation bar and add it to the hierarchy
+                       pagingNavigation = newNavigation(pageable, 
labelProvider);
+                       add(pagingNavigation);
+
+                       // Add additional page links
+                       add(newPagingNavigationLink("first", pageable, 0));
+                       add(newPagingNavigationIncrementLink("prev", pageable, 
-1));
+                       add(newPagingNavigationIncrementLink("next", pageable, 
1));
+                       add(newPagingNavigationLink("last", pageable, -1));
+               }
+               super.onBeforeRender();
        }
 
        /**
@@ -118,7 +130,7 @@
         * @return the navigation object
         */
        protected PagingNavigation newNavigation(final IPageable pageable,
-                       final IPagingLabelProvider labelProvider)
+               final IPagingLabelProvider labelProvider)
        {
                return new PagingNavigation("navigation", pageable, 
labelProvider);
        }


Reply via email to