Author: ivaynberg
Date: Wed Aug 15 11:11:25 2007
New Revision: 566286

URL: http://svn.apache.org/viewvc?view=rev&rev=566286
Log:
WICKET-781

Added:
    
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java
   (with props)
    
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
   (with props)
Modified:
    
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java
    
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java

Modified: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java?view=diff&rev=566286&r1=566285&r2=566286
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java
 Wed Aug 15 11:11:25 2007
@@ -21,9 +21,9 @@
 import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
+import 
org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.NavigationToolbar;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.NoRecordsToolbar;
-import 
org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.OddEvenItem;
 import org.apache.wicket.model.IModel;
@@ -62,7 +62,7 @@
         *            number of rows per page
         */
        public AjaxFallbackDefaultDataTable(String id, final List/* <IColumn> 
*/columns,
-                       SortableDataProvider dataProvider, int rowsPerPage)
+                       ISortableDataProvider dataProvider, int rowsPerPage)
        {
                this(id, (IColumn[])columns.toArray(new 
IColumn[columns.size()]), dataProvider, rowsPerPage);
        }
@@ -80,7 +80,7 @@
         *            number of rows per page
         */
        public AjaxFallbackDefaultDataTable(String id, final IColumn[] columns,
-                       SortableDataProvider dataProvider, int rowsPerPage)
+                       ISortableDataProvider dataProvider, int rowsPerPage)
        {
                super(id, columns, dataProvider, rowsPerPage);
                setOutputMarkupId(true);

Modified: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java?view=diff&rev=566286&r1=566285&r2=566286
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java
 Wed Aug 15 11:11:25 2007
@@ -18,7 +18,6 @@
 
 import java.util.List;
 
-import 
org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.OddEvenItem;
 import org.apache.wicket.model.IModel;
@@ -57,7 +56,7 @@
         *            number of rows per page
         */
        public DefaultDataTable(String id, final List/* <IColumn> */columns,
-                       SortableDataProvider dataProvider, int rowsPerPage)
+                       ISortableDataProvider dataProvider, int rowsPerPage)
        {
                this(id, (IColumn[])columns.toArray(new 
IColumn[columns.size()]), dataProvider, rowsPerPage);
        }
@@ -74,7 +73,7 @@
         * @param rowsPerPage
         *            number of rows per page
         */
-       public DefaultDataTable(String id, final IColumn[] columns, 
SortableDataProvider dataProvider,
+       public DefaultDataTable(String id, final IColumn[] columns, 
ISortableDataProvider dataProvider,
                        int rowsPerPage)
        {
                super(id, columns, dataProvider, rowsPerPage);

Added: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java?view=auto&rev=566286
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java
 Wed Aug 15 11:11:25 2007
@@ -0,0 +1,17 @@
+package org.apache.wicket.extensions.markup.html.repeater.data.table;
+
+import 
org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator;
+import org.apache.wicket.markup.repeater.data.IDataProvider;
+
+
+/**
+ * Data provider that can hold sort state
+ * 
+ * @author Igor Vaynberg (ivaynberg at apache dot org)
+ * 
+ */
+public interface ISortableDataProvider extends IDataProvider, ISortStateLocator
+{
+
+
+}
\ No newline at end of file

Propchange: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java?view=auto&rev=566286
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
 Wed Aug 15 11:11:25 2007
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.extensions.markup.html.repeater.util;
+
+import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortState;
+import 
org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
+
+
+/**
+ * Convinience implementation of a data provider that can also act as a locator
+ * for a [EMAIL PROTECTED] SingleSortState} object.
+ * 
+ * Most times it is convenient to keep sort and filtering information inside 
the
+ * data provider implementation because it makes that information easy to 
access
+ * within the data provider.
+ * 
+ * @author Igor Vaynberg
+ */
+public abstract class SortableDataProvider implements ISortableDataProvider
+{
+       private SingleSortState state = new SingleSortState();
+
+       /**
+        * @see ISortableDataProvider#getSortState()
+        */
+       public final ISortState getSortState()
+       {
+               return state;
+       }
+
+       /**
+        * @see 
ISortableDataProvider#setSortState(org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortState)
+        */
+       public final void setSortState(ISortState state)
+       {
+               if (!(state instanceof SingleSortState))
+               {
+                       throw new IllegalArgumentException(
+                                       "argument [state] must be an instance 
of SingleSortState, but it is ["
+                                                       + 
state.getClass().getName() + "]:[" + state.toString() + "]");
+               }
+               this.state = (SingleSortState)state;
+       }
+
+       /**
+        * Returns current sort state
+        * 
+        * @return current sort state
+        */
+       public SortParam getSort()
+       {
+               return state.getSort();
+       }
+
+       /**
+        * Sets the current sort state
+        * 
+        * @param param
+        *            parameter containing new sorting information
+        */
+       public void setSort(SortParam param)
+       {
+               state.setSort(param);
+       }
+
+       /**
+        * Sets the current sort state
+        * 
+        * @param property
+        *            sort property
+        * @param ascending
+        *            sort direction
+        */
+       public void setSort(String property, boolean ascending)
+       {
+               setSort(new SortParam(property, ascending));
+       }
+
+       /**
+        * @see ISortableDataProvider#detach()
+        */
+       public void detach()
+       {
+       }
+
+       
+}

Propchange: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: 
wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to