Updated Branches:
  refs/heads/master ccd746419 -> f1bad0fc8

fixed warnings from compiler and in logs; added javadoc; aligned tree sorting 
with table sorting


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f1bad0fc
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f1bad0fc
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f1bad0fc

Branch: refs/heads/master
Commit: f1bad0fc8eae12d2accd3fa16438855175515a73
Parents: ccd7464
Author: svenmeier <[email protected]>
Authored: Tue Jul 17 20:33:09 2012 +0200
Committer: svenmeier <[email protected]>
Committed: Tue Jul 17 20:33:09 2012 +0200

----------------------------------------------------------------------
 .../html/repeater/data/sort/ISortStateLocator.java |    2 +
 .../html/repeater/data/sort/OrderByLink.java       |   37 +++++++++----
 .../markup/html/repeater/data/table/DataTable.java |    6 ++-
 .../html/repeater/data/table/DefaultDataTable.java |    4 +-
 .../markup/html/repeater/tree/AbstractTree.java    |   20 +------
 .../html/repeater/tree/DefaultTableTree.java       |   12 ++--
 .../html/repeater/tree/ISortableTreeProvider.java  |    2 +
 .../markup/html/repeater/tree/NestedTree.java      |   42 +++++++++++++++
 .../extensions/markup/html/repeater/tree/Node.java |    2 -
 .../markup/html/repeater/tree/TableTree.java       |    1 +
 .../repeater/tree/table/AbstractTreeColumn.java    |   23 ++++++++-
 .../html/repeater/tree/table/ITreeColumn.java      |   10 +++-
 .../html/repeater/tree/table/NodeBorder.java       |    4 ++
 .../markup/html/repeater/tree/table/NodeModel.java |   18 ++++++-
 .../html/repeater/tree/table/TreeDataProvider.java |    4 +-
 .../markup/html/repeater/util/ProviderSubset.java  |    6 ++
 .../html/repeater/util/SortableDataProvider.java   |    5 +-
 .../html/repeater/util/SortableTreeProvider.java   |   23 ++-------
 18 files changed, 155 insertions(+), 66 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java
index 1180591..fa2f5d1 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java
@@ -24,6 +24,8 @@ import org.apache.wicket.util.io.IClusterable;
  * version ISortState objects.
  * 
  * @author Igor Vaynberg (ivaynberg)
+ * @param <T>
+ *            the type of the sort property
  * 
  */
 public interface ISortStateLocator<T> extends IClusterable

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
index a7adff8..e027857 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
@@ -27,9 +27,9 @@ import org.apache.wicket.util.string.Strings;
 /**
  * A component that represents a sort header. When the link is clicked it will 
toggle the state of a
  * sortable property within the sort state object.
- *
+ * 
  * @param <S>
- *      the type of the sorting parameter
+ *            the type of the sorting parameter
  * @author Phil Kulak
  * @author Igor Vaynberg (ivaynberg)
  */
@@ -49,14 +49,15 @@ public class OrderByLink<S> extends Link<Void>
         * @param id
         *            the component id of the link
         * @param sortProperty
-        *            the name of the sortable sortProperty this link 
represents. this value will be used as
-        *            parameter for sort state object methods. sort state 
object will be located via the
-        *            stateLocator argument.
+        *            the name of the sortable sortProperty this link 
represents. this value will be
+        *            used as parameter for sort state object methods. sort 
state object will be located
+        *            via the stateLocator argument.
         * @param stateLocator
         *            locator used to locate sort state object that this will 
use to read/write state of
         *            sorted properties
         */
-       public OrderByLink(final String id, final S sortProperty, final 
ISortStateLocator<S> stateLocator)
+       public OrderByLink(final String id, final S sortProperty,
+               final ISortStateLocator<S> stateLocator)
        {
                this(id, sortProperty, stateLocator, new 
DefaultCssProvider<S>());
        }
@@ -77,7 +78,7 @@ public class OrderByLink<S> extends Link<Void>
         *            CSS provider that will be used generate the value of 
class attribute for this link
         * 
         * @see OrderByLink.ICssProvider
-        *
+        * 
         */
        public OrderByLink(final String id, final S property, final 
ISortStateLocator<S> stateLocator,
                final ICssProvider<S> cssProvider)
@@ -157,8 +158,9 @@ public class OrderByLink<S> extends Link<Void>
        /**
         * Uses the specified ICssProvider to add css class attributes to the 
link.
         * 
+        * @param <S>
+        *            type of sort property
         * @author Igor Vaynberg ( ivaynberg )
-        * 
         */
        public static class CssModifier<S> extends Behavior
        {
@@ -219,8 +221,10 @@ public class OrderByLink<S> extends Link<Void>
        /**
         * Easily constructible implementation of ICSSProvider
         * 
+        * @param <S>
+        *            the type of the sort property
+        * 
         * @author Igor Vaynberg (ivaynberg)
-        *
         */
        public static class CssProvider<S> implements ICssProvider<S>
        {
@@ -270,13 +274,18 @@ public class OrderByLink<S> extends Link<Void>
        /**
         * Convenience implementation of ICssProvider that always returns a 
null and so never adds a
         * class attribute
-        *
+        * 
+        * @param <S>
+        *            the type of the sort property
         * @author Igor Vaynberg ( ivaynberg )
         */
        public static class VoidCssProvider<S> extends CssProvider<S>
        {
                private static final long serialVersionUID = 1L;
 
+               /**
+                * Construct.
+                */
                public VoidCssProvider()
                {
                        super("", "", "");
@@ -285,13 +294,19 @@ public class OrderByLink<S> extends Link<Void>
 
        /**
         * Default implementation of ICssProvider
-        *
+        * 
+        * @param <S>
+        *            the type of the sort property
+        * 
         * @author Igor Vaynberg ( ivaynberg )
         */
        public static class DefaultCssProvider<S> extends CssProvider<S>
        {
                private static final long serialVersionUID = 1L;
 
+               /**
+                * Construct.
+                */
                public DefaultCssProvider()
                {
                        super("wicket_orderUp", "wicket_orderDown", 
"wicket_orderNone");

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
index 4d5a386..c6912e7 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
@@ -74,7 +74,7 @@ import org.apache.wicket.util.visit.IVisitor;
  * @param <T>
  *            The model object type
  * @param <S>
- *      the type of the sorting parameter
+ *            the type of the sorting parameter
  * 
  */
 public class DataTable<T, S> extends Panel implements IPageableItems
@@ -472,6 +472,10 @@ public class DataTable<T, S> extends Panel implements 
IPageableItems
        private static class Caption extends Label
        {
                /**
+                */
+               private static final long serialVersionUID = 1L;
+
+               /**
                 * Construct.
                 * 
                 * @param id

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java
index 5b185cf..0cc30d8 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java
@@ -39,7 +39,7 @@ import org.apache.wicket.model.IModel;
  * @param <T>
  *            The model object type
  * @param <S>
- *      the type of the sorting parameter
+ *            the type of the sorting parameter
  */
 public class DefaultDataTable<T, S> extends DataTable<T, S>
 {
@@ -63,7 +63,7 @@ public class DefaultDataTable<T, S> extends DataTable<T, S>
                super(id, columns, dataProvider, rowsPerPage);
 
                addTopToolbar(new NavigationToolbar(this));
-               addTopToolbar(new HeadersToolbar(this, dataProvider));
+               addTopToolbar(new HeadersToolbar<S>(this, dataProvider));
                addBottomToolbar(new NoRecordsToolbar(this));
        }
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
index ce19863..c3470b9 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/AbstractTree.java
@@ -26,8 +26,6 @@ import 
org.apache.wicket.markup.repeater.DefaultItemReuseStrategy;
 import org.apache.wicket.markup.repeater.IItemReuseStrategy;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.util.visit.IVisit;
-import org.apache.wicket.util.visit.IVisitor;
 
 /**
  * Abstract base class for {@link NestedTree} and {@link TableTree}. Uses its 
model for storing the
@@ -309,6 +307,8 @@ public abstract class AbstractTree<T> extends Panel
         * Convenience method to update a single node on an {@link 
AjaxRequestTarget}. Does nothing if
         * the given node is currently not visible or target is {@code null}.
         * 
+        * This default implementation adds this whole component for rendering.
+        * 
         * @param node
         *            node to update
         * @param target
@@ -318,21 +318,7 @@ public abstract class AbstractTree<T> extends Panel
        {
                if (target != null)
                {
-                       final IModel<T> model = getProvider().model(node);
-                       visitChildren(Node.class, new IVisitor<Node<T>, Void>()
-                       {
-                               @Override
-                               public void component(Node<T> node, 
IVisit<Void> visit)
-                               {
-                                       if (model.equals(node.getModel()))
-                                       {
-                                               target.add(node);
-                                               visit.stop();
-                                       }
-                                       visit.dontGoDeeper();
-                               }
-                       });
-                       model.detach();
+                       target.add(this);
                }
        }
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java
index 151cbbd..61c1d48 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java
@@ -38,7 +38,7 @@ import org.apache.wicket.model.IModel;
  * @param <T>
  *            The node type
  * @param <S>
- *     the type of the sorting parameter
+ *            the type of the sorting parameter
  * @author svenmeier
  */
 public class DefaultTableTree<T, S> extends TableTree<T, S>
@@ -58,8 +58,8 @@ public class DefaultTableTree<T, S> extends TableTree<T, S>
         * @param rowsPerPage
         *            rows to show on each page
         */
-       public DefaultTableTree(String id, List<IColumn<T, S>> columns, 
ISortableTreeProvider<T, S> provider,
-               int rowsPerPage)
+       public DefaultTableTree(String id, List<IColumn<T, S>> columns,
+               ISortableTreeProvider<T, S> provider, int rowsPerPage)
        {
                this(id, columns, provider, rowsPerPage, null);
        }
@@ -78,13 +78,13 @@ public class DefaultTableTree<T, S> extends TableTree<T, S>
         * @param state
         *            expansion state
         */
-       public DefaultTableTree(String id, List<IColumn<T, S>> columns, 
ISortableTreeProvider<T, S> provider,
-               int rowsPerPage, IModel<Set<T>> state)
+       public DefaultTableTree(String id, List<IColumn<T, S>> columns,
+               ISortableTreeProvider<T, S> provider, int rowsPerPage, 
IModel<Set<T>> state)
        {
                super(id, columns, provider, rowsPerPage, state);
 
                getTable().addTopToolbar(new NavigationToolbar(getTable()));
-               getTable().addTopToolbar(new HeadersToolbar(getTable(), 
provider));
+               getTable().addTopToolbar(new HeadersToolbar<S>(getTable(), 
provider));
                getTable().addBottomToolbar(new NoRecordsToolbar(getTable()));
 
                add(new WindowsTheme());

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java
index 5a45a01..743d135 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java
@@ -24,6 +24,8 @@ import 
org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLoc
  * @author svenmeier
  * @param <T>
  *            node type
+ * @param <S>
+ *            the type of the sort property
  */
 public interface ISortableTreeProvider<T, S> extends ITreeProvider<T>, 
ISortStateLocator<S>
 {

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
index c1769c7..cd6084f 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/NestedTree.java
@@ -86,6 +86,22 @@ public abstract class NestedTree<T> extends AbstractTree<T>
        }
 
        /**
+        * Overriden to let the node output its markup id.
+        * 
+        * @see #updateNode(Object, AjaxRequestTarget)
+        * @see Component#setOutputMarkupId(boolean)
+        */
+       @Override
+       public Component newNodeComponent(String id, IModel<T> model)
+       {
+               Component node = super.newNodeComponent(id, model);
+
+               node.setOutputMarkupId(true);
+
+               return node;
+       }
+
+       /**
         * Overridden to update the affected {@link BranchItem} only.
         */
        @Override
@@ -110,6 +126,32 @@ public abstract class NestedTree<T> extends AbstractTree<T>
                }
        }
 
+       /**
+        * Overridden to update the affected {@link Node} only.
+        */
+       @Override
+       public void updateNode(T node, final AjaxRequestTarget target)
+       {
+               if (target != null)
+               {
+                       final IModel<T> model = getProvider().model(node);
+                       visitChildren(Node.class, new IVisitor<Node<T>, Void>()
+                       {
+                               @Override
+                               public void component(Node<T> node, 
IVisit<Void> visit)
+                               {
+                                       if (model.equals(node.getModel()))
+                                       {
+                                               target.add(node);
+                                               visit.stop();
+                                       }
+                                       visit.dontGoDeeper();
+                               }
+                       });
+                       model.detach();
+               }
+       }
+
        private class RootsModel extends AbstractReadOnlyModel<T>
        {
                private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
index 0399887..557abb6 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
@@ -64,8 +64,6 @@ public abstract class Node<T> extends Panel
 
                this.tree = tree;
 
-               setOutputMarkupId(true);
-
                MarkupContainer junction = createJunctionComponent("junction");
                junction.add(new StyleBehavior());
                add(junction);

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
index 90af9bd..3fa2bfc 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/TableTree.java
@@ -180,6 +180,7 @@ public abstract class TableTree<T, S> extends 
AbstractTree<T>
                                        {
                                                target.add(item);
                                                visit.stop();
+                                               return;
                                        }
                                        visit.dontGoDeeper();
                                }

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/AbstractTreeColumn.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/AbstractTreeColumn.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/AbstractTreeColumn.java
index 94bb80e..380ac61 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/AbstractTreeColumn.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/AbstractTreeColumn.java
@@ -27,16 +27,32 @@ import org.apache.wicket.model.IModel;
  *            the type of the sort property
  * @author svenmeier
  */
-public abstract class AbstractTreeColumn<T, S> extends AbstractColumn<T, S> 
implements ITreeColumn<T, S>
+public abstract class AbstractTreeColumn<T, S> extends AbstractColumn<T, S>
+       implements
+               ITreeColumn<T, S>
 {
 
+       /**
+        */
+       private static final long serialVersionUID = 1L;
+
        private TableTree<T, S> tree;
 
+       /**
+        * @param displayModel
+        *            model used to generate header text
+        */
        public AbstractTreeColumn(IModel<String> displayModel)
        {
                super(displayModel);
        }
 
+       /**
+        * @param displayModel
+        *            model used to generate header text
+        * @param sortProperty
+        *            sort property this column represents
+        */
        public AbstractTreeColumn(IModel<String> displayModel, S sortProperty)
        {
                super(displayModel, sortProperty);
@@ -48,6 +64,11 @@ public abstract class AbstractTreeColumn<T, S> extends 
AbstractColumn<T, S> impl
                this.tree = tree;
        }
 
+       /**
+        * Get the containing tree.
+        * 
+        * @return tree
+        */
        public TableTree<T, S> getTree()
        {
                return tree;

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/ITreeColumn.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/ITreeColumn.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/ITreeColumn.java
index 0f351d8..763ae5f 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/ITreeColumn.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/ITreeColumn.java
@@ -21,12 +21,18 @@ import 
org.apache.wicket.extensions.markup.html.repeater.tree.TableTree;
 
 /**
  * @param <T>
- *     the type of the model object
+ *            the type of the model object
  * @param <S>
- *     the type of the sorting parameter
+ *            the type of the sorting parameter
  * @author svenmeier
  */
 public interface ITreeColumn<T, S> extends IColumn<T, S>
 {
+       /**
+        * Set the containing tree.
+        * 
+        * @param t
+        *            tree
+        */
        public void setTree(TableTree<T, S> t);
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeBorder.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeBorder.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeBorder.java
index fe566a4..eac23ee 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeBorder.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeBorder.java
@@ -38,6 +38,10 @@ public class NodeBorder extends Behavior
 
        private boolean[] branches;
 
+       /**
+        * @param branches
+        *            branch
+        */
        public NodeBorder(boolean[] branches)
        {
                this.branches = branches;

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeModel.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeModel.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeModel.java
index 85258ec..382d52e 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeModel.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/NodeModel.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
 
 import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.IWrapModel;
 
 /**
  * A model wrapping the actual node model, carrying additional information 
about the parental
@@ -29,8 +30,10 @@ import org.apache.wicket.model.IModel;
  * @see ITreeProvider#model(Object)
  * 
  * @author svenmeier
+ * @param <T>
+ *            type of nodes
  */
-public class NodeModel<T> implements IModel<T>
+public class NodeModel<T> implements IWrapModel<T>
 {
 
        private static final long serialVersionUID = 1L;
@@ -39,12 +42,25 @@ public class NodeModel<T> implements IModel<T>
 
        private boolean[] branches;
 
+       /**
+        * Wrap the given model.
+        * 
+        * @param model
+        *            model to wrap
+        * @param branches
+        */
        public NodeModel(IModel<T> model, boolean[] branches)
        {
                this.model = model;
                this.branches = branches;
        }
 
+       /**
+        * Get the wrapped model.
+        * 
+        * @return wrapped model
+        */
+       @Override
        public IModel<T> getWrappedModel()
        {
                return model;

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/TreeDataProvider.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/TreeDataProvider.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/TreeDataProvider.java
index 4f251cb..519b1f4 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/TreeDataProvider.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/table/TreeDataProvider.java
@@ -35,9 +35,9 @@ public abstract class TreeDataProvider<T> implements 
ITreeDataProvider<T>
 
        private final ITreeProvider<T> provider;
 
-       private Branch<T> currentBranch;
+       private transient Branch<T> currentBranch;
 
-       private Branch<T> previousBranch;
+       private transient Branch<T> previousBranch;
 
        private int size = -1;
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/ProviderSubset.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/ProviderSubset.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/ProviderSubset.java
index 749999d..2b7dd5c 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/ProviderSubset.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/ProviderSubset.java
@@ -34,6 +34,8 @@ import org.apache.wicket.model.IModel;
  * @see ITreeProvider#model(Object)
  * 
  * @author svenmeier
+ * @param <T>
+ *            type of data
  */
 public class ProviderSubset<T> implements Set<T>, IDetachable
 {
@@ -243,6 +245,10 @@ public class ProviderSubset<T> implements Set<T>, 
IDetachable
        {
                return new AbstractReadOnlyModel<Set<T>>()
                {
+                       /**
+                        */
+                       private static final long serialVersionUID = 1L;
+
                        @Override
                        public Set<T> getObject()
                        {

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
index bdc9902..8671169 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java
@@ -31,7 +31,7 @@ import 
org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDat
  * @author Igor Vaynberg (ivaynberg at apache dot org)
  * @param <T>
  * @param <S>
- *     the type of the sorting parameter
+ *            the type of the sorting parameter
  */
 public abstract class SortableDataProvider<T, S> implements 
ISortableDataProvider<T, S>
 {
@@ -39,7 +39,8 @@ public abstract class SortableDataProvider<T, S> implements 
ISortableDataProvide
         * 
         */
        private static final long serialVersionUID = 1L;
-       private SingleSortState<S> state = new SingleSortState<S>();
+
+       private final SingleSortState<S> state = new SingleSortState<S>();
 
        /**
         * @see ISortableDataProvider#getSortState()

http://git-wip-us.apache.org/repos/asf/wicket/blob/f1bad0fc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java
index 866a4ff..c3058f6 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java
@@ -26,37 +26,22 @@ import 
org.apache.wicket.extensions.markup.html.repeater.tree.ISortableTreeProvi
  * 
  * @author svenmeier
  * @param <T>
+ * @param <S>
+ *            the type of the sorting parameter
  */
 public abstract class SortableTreeProvider<T, S> implements 
ISortableTreeProvider<T, S>
 {
        private static final long serialVersionUID = 1L;
 
-       private SingleSortState<S> state = new SingleSortState<S>();
+       private final SingleSortState<S> state = new SingleSortState<S>();
 
        /**
         * @see ISortableDataProvider#getSortState()
         */
-       @SuppressWarnings("unchecked")
        @Override
        public final ISortState<S> getSortState()
        {
-               return (ISortState<S>)state;
-       }
-
-       /**
-        * @see 
org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider#getSortState()
-        * @param state
-        */
-       @SuppressWarnings("unchecked")
-       public final void setSortState(ISortState<S> 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<S>)state;
+               return state;
        }
 
        /**

Reply via email to