Repository: wicket
Updated Branches:
refs/heads/lambdas 9e6b047f7 -> a0eeddda8
Revert "Introduced MarkupContainer#childrenStream to leverage Java 8 Stream
when accessing children components"
This reverts commit 73ac8c7e6da3ff9dd0244ad66c63944ba3d64c78.
Conflicts:
wicket-util/src/main/java/org/apache/wicket/util/NestedIterator.java
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/a0eeddda
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/a0eeddda
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/a0eeddda
Branch: refs/heads/lambdas
Commit: a0eeddda865b56d30fc1b17c3a4a41eb46f40ccf
Parents: 9e6b047
Author: Andrea Del Bene <[email protected]>
Authored: Sat Mar 12 19:52:00 2016 +0100
Committer: Andrea Del Bene <[email protected]>
Committed: Sat Mar 12 19:52:00 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/wicket/MarkupContainer.java | 17 -----
.../org/apache/wicket/MarkupContainerTest.java | 39 +----------
.../org/apache/wicket/util/NestedIterator.java | 70 --------------------
3 files changed, 1 insertion(+), 125 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/a0eeddda/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 2c61f60..7a5210b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -24,8 +24,6 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.stream.Stream;
-import java.util.stream.StreamSupport;
import org.apache.commons.collections4.map.LinkedMap;
import org.apache.wicket.core.util.string.ComponentStrings;
@@ -47,7 +45,6 @@ import org.apache.wicket.model.IComponentInheritedModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.IWrapModel;
import org.apache.wicket.settings.DebugSettings;
-import org.apache.wicket.util.NestedIterator;
import org.apache.wicket.util.lang.Args;
import org.apache.wicket.util.lang.Classes;
import org.apache.wicket.util.lang.Generics;
@@ -2176,18 +2173,4 @@ public abstract class MarkupContainer extends Component
implements Iterable<Comp
{
add(component);
}
-
- /**
- * Creates a {@code java.util.stream.Stream} returning all the children
(included nested ones)
- * of the this container.
- *
- * @return a stream returning children.
- */
- public Stream<Component> childrenStream()
- {
- NestedIterator<Component> nestedIterator = new
NestedIterator<>(this);
- Iterable<Component> iterable = () -> nestedIterator;
-
- return StreamSupport.stream(iterable.spliterator(), false);
- }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/a0eeddda/wicket-core/src/test/java/org/apache/wicket/MarkupContainerTest.java
----------------------------------------------------------------------
diff --git
a/wicket-core/src/test/java/org/apache/wicket/MarkupContainerTest.java
b/wicket-core/src/test/java/org/apache/wicket/MarkupContainerTest.java
index 1bea201..aba2148 100644
--- a/wicket-core/src/test/java/org/apache/wicket/MarkupContainerTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/MarkupContainerTest.java
@@ -29,7 +29,6 @@ import java.util.ConcurrentModificationException;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
-import java.util.stream.Stream;
import org.apache.commons.collections4.map.LinkedMap;
import org.apache.wicket.core.util.lang.WicketObjects;
@@ -38,7 +37,6 @@ import org.apache.wicket.markup.html.WebComponent;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.util.resource.IResourceStream;
import org.apache.wicket.util.resource.StringResourceStream;
@@ -1210,42 +1208,7 @@ public class MarkupContainerTest extends WicketTestCase
assertThat(iterator1.hasNext(), is(false));
assertThat(iterator2.hasNext(), is(false));
}
-
- @Test
- public void testStreamOfChildren() throws Exception
- {
- WebMarkupContainer wmc = new WebMarkupContainer("id");
- WebMarkupContainer container = new
WebMarkupContainer("container");
- addNChildren(wmc, 10);
-
- wmc.add(container);
- container.add(new Form<>("form"));
-
- long wmcNumber = filterChildrenStreamByClass(wmc,
WebMarkupContainer.class).count();
- assertEquals(2l, wmcNumber);
-
- long formNumber = filterChildrenStreamByClass(wmc,
Form.class).count();
- assertEquals(1l, formNumber);
-
- long labelNumber = filterChildrenStreamByClass(wmc,
Label.class).count();
- assertEquals(10l, labelNumber);
- }
-
- /**
- * Returns a stream containg only children components who are instance
of
- * <code>filterClass</code>.
- *
- * @param container
- * the parent markup container
- * @param filterClass
- * the component class to use as filter
- * @return a stream containg only children who are instance of param
<code>filterClass</code>
- */
- private Stream<Component> filterChildrenStreamByClass(MarkupContainer
container, Class<? extends Component> filterClass)
- {
- return
container.childrenStream().filter(filterClass::isInstance);
- }
-
+
/**
* Asserts that the children property of the {@code wmc} is of a
particular {@code type}.
*
http://git-wip-us.apache.org/repos/asf/wicket/blob/a0eeddda/wicket-util/src/main/java/org/apache/wicket/util/NestedIterator.java
----------------------------------------------------------------------
diff --git
a/wicket-util/src/main/java/org/apache/wicket/util/NestedIterator.java
b/wicket-util/src/main/java/org/apache/wicket/util/NestedIterator.java
deleted file mode 100644
index 6104df8..0000000
--- a/wicket-util/src/main/java/org/apache/wicket/util/NestedIterator.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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.util;
-
-import java.util.ArrayDeque;
-import java.util.Deque;
-import java.util.Iterator;
-
-/**
- * Wrapper class for {@link java.util.Iterator} meant to recursively
- * iterate over its elements if they are iterable.
- *
- * @author Andrea Del Bene
- */
-public class NestedIterator<E> implements Iterator<E>
-{
- private Iterator<E> currentIterator;
- private Deque<Iterator<E>> iteratorStack = new ArrayDeque<>();
-
- public NestedIterator(Iterator<E> currentIterator)
- {
- this.currentIterator = currentIterator;
- }
-
- public NestedIterator(Iterable<E> iterable)
- {
- this(iterable.iterator());
- }
-
- @Override
- public boolean hasNext()
- {
- if (!currentIterator.hasNext() && !iteratorStack.isEmpty())
- {
- currentIterator = iteratorStack.pop();
- }
-
- return currentIterator.hasNext();
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public E next()
- {
- E nextElement = currentIterator.next();
-
- if (nextElement instanceof Iterable)
- {
- iteratorStack.push(currentIterator);
- currentIterator = ((Iterable<E>)nextElement).iterator();
- }
-
- return nextElement;
- }
-
-}