You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2008/04/17 16:55:17 UTC

svn commit: r649137 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/navigation/paging/PagingNavigator.java

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);
 	}