You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2014/03/18 13:58:43 UTC

git commit: WICKET-5284 Too deep recursion in AbstractHierarchyIterator

Repository: wicket
Updated Branches:
  refs/heads/master 9589d9720 -> d31415397


WICKET-5284 Too deep recursion in AbstractHierarchyIterator

Deprecate component hierarchy iterators


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

Branch: refs/heads/master
Commit: d31415397199ecc71f8486124f02a6e983e23781
Parents: 9589d97
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Mar 18 14:57:35 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Mar 18 14:57:35 2014 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/wicket/MarkupContainer.java      | 6 ++++++
 .../wicket/util/iterator/AbstractHierarchyIterator.java       | 5 +++++
 .../util/iterator/AbstractHierarchyIteratorWithFilter.java    | 5 +++++
 .../wicket/util/iterator/ComponentHierarchyIterator.java      | 7 ++++++-
 .../util/iterator/GenericComponentHierarchyIterator.java      | 7 ++++++-
 5 files changed, 28 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d3141539/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
index 69e9372..b11eb10 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -880,7 +880,10 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 
 	/**
 	 * @return A iterator which iterators over all children and grand-children the Component
+	 * @deprecated ComponentHierarchyIterator is deprecated.
+	 *      Use {@link #visitChildren(org.apache.wicket.util.visit.IVisitor)} instead
 	 */
+	@Deprecated
 	public final ComponentHierarchyIterator visitChildren()
 	{
 		return new ComponentHierarchyIterator(this);
@@ -891,7 +894,10 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 	 *            Filter condition
 	 * @return A iterator which iterators over all children and grand-children the Component,
 	 *         returning only components which implement (instanceof) the provided clazz.
+	 * @deprecated ComponentHierarchyIterator is deprecated.
+	 *      Use {@link #visitChildren(Class, org.apache.wicket.util.visit.IVisitor)} instead.
 	 */
+	@Deprecated
 	public final ComponentHierarchyIterator visitChildren(final Class<?> clazz)
 	{
 		return new ComponentHierarchyIterator(this).filterByClass(clazz);

http://git-wip-us.apache.org/repos/asf/wicket/blob/d3141539/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java b/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java
index a946977..fd8be61 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIterator.java
@@ -42,7 +42,12 @@ import org.apache.wicket.util.lang.Args;
  *            Form.
  * @param <N>
  *            The base type of all nodes, e.g. Component
+ * @deprecated Hierarchy iterators are deprecated because they have problems with pages with
+ *      deep component tree. Use {@link org.apache.wicket.util.visit.IVisitor} instead.
+ * @see org.apache.wicket.MarkupContainer#visitChildren(org.apache.wicket.util.visit.IVisitor)
+ * @see org.apache.wicket.MarkupContainer#visitChildren(Class, org.apache.wicket.util.visit.IVisitor)
  */
+@Deprecated
 public abstract class AbstractHierarchyIterator<N, I extends N> implements Iterator<I>, Iterable<I>
 {
 	// An iterator for each level we are down from root

http://git-wip-us.apache.org/repos/asf/wicket/blob/d3141539/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java b/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java
index af2dfd0..25a4c81 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/iterator/AbstractHierarchyIteratorWithFilter.java
@@ -28,7 +28,12 @@ import org.apache.wicket.util.lang.Generics;
  * @author Juergen Donnerstag
  * @param <N>
  * @param <I>
+ * @deprecated Hierarchy iterators are deprecated because they have problems with pages with
+ *      deep component tree. Use {@link org.apache.wicket.util.visit.IVisitor} instead.
+ * @see org.apache.wicket.MarkupContainer#visitChildren(org.apache.wicket.util.visit.IVisitor)
+ * @see org.apache.wicket.MarkupContainer#visitChildren(Class, org.apache.wicket.util.visit.IVisitor)
  */
+@Deprecated
 public abstract class AbstractHierarchyIteratorWithFilter<N, I extends N> extends
 	AbstractHierarchyIterator<N, I>
 {

http://git-wip-us.apache.org/repos/asf/wicket/blob/d3141539/wicket-core/src/main/java/org/apache/wicket/util/iterator/ComponentHierarchyIterator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/iterator/ComponentHierarchyIterator.java b/wicket-core/src/main/java/org/apache/wicket/util/iterator/ComponentHierarchyIterator.java
index bac69d4..66a60ba 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/iterator/ComponentHierarchyIterator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/iterator/ComponentHierarchyIterator.java
@@ -29,7 +29,12 @@ import org.apache.wicket.util.lang.Args;
  * A fluent or builder type of API is provided to configure the iterator with filters.
  * 
  * @author Juergen Donnerstag
+ * @deprecated Hierarchy iterators are deprecated because they have problems with pages with
+ *      deep component tree. Use {@link org.apache.wicket.util.visit.IVisitor} instead.
+ * @see org.apache.wicket.MarkupContainer#visitChildren(org.apache.wicket.util.visit.IVisitor)
+ * @see org.apache.wicket.MarkupContainer#visitChildren(Class, org.apache.wicket.util.visit.IVisitor)
  */
+@Deprecated
 public class ComponentHierarchyIterator extends
 	AbstractHierarchyIteratorWithFilter<Component, Component>
 {
@@ -238,4 +243,4 @@ public class ComponentHierarchyIterator extends
 		super.addTraverseFilters(filter);
 		return this;
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/d3141539/wicket-core/src/main/java/org/apache/wicket/util/iterator/GenericComponentHierarchyIterator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/iterator/GenericComponentHierarchyIterator.java b/wicket-core/src/main/java/org/apache/wicket/util/iterator/GenericComponentHierarchyIterator.java
index a2b7a46..2f623d8 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/iterator/GenericComponentHierarchyIterator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/iterator/GenericComponentHierarchyIterator.java
@@ -31,7 +31,12 @@ import org.apache.wicket.util.lang.Args;
  * @author Juergen Donnerstag
  * @param <I>
  *            The type which next() should return (the iterator type)
+ * @deprecated Hierarchy iterators are deprecated because they have problems with pages with
+ *      deep component tree. Use {@link org.apache.wicket.util.visit.IVisitor} instead.
+ * @see org.apache.wicket.MarkupContainer#visitChildren(org.apache.wicket.util.visit.IVisitor)
+ * @see org.apache.wicket.MarkupContainer#visitChildren(Class, org.apache.wicket.util.visit.IVisitor)
  */
+@Deprecated
 public class GenericComponentHierarchyIterator<I extends Component> extends
 	AbstractHierarchyIteratorWithFilter<Component, I>
 {
@@ -200,4 +205,4 @@ public class GenericComponentHierarchyIterator<I extends Component> extends
 		super.addTraverseFilters(filter);
 		return this;
 	}
-}
\ No newline at end of file
+}