Updated Branches:
  refs/heads/master b5d81b36b -> 2b4a0c99e

fixed warnings, ClassVisitFilter has no use for generic parameter, added 
AllVisitFilter


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

Branch: refs/heads/master
Commit: 2b4a0c99e742476658f271f0b7ebd60c653b9969
Parents: b5d81b3
Author: Sven Meier <[email protected]>
Authored: Thu Jun 14 22:10:24 2012 +0200
Committer: Sven Meier <[email protected]>
Committed: Thu Jun 14 22:10:24 2012 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/wicket/Component.java |   23 +++------
 .../test/java/org/apache/wicket/VisitorTest.java   |    8 ++-
 .../apache/wicket/util/visit/AllVisitFilter.java   |   37 ++++++++++++++
 .../apache/wicket/util/visit/ClassVisitFilter.java |   12 +++--
 .../wicket/util/visit/AllVisitFilterTest.java      |   39 +++++++++++++++
 .../wicket/util/visit/ClassVisitFilterTest.java    |   13 +++--
 6 files changed, 104 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2b4a0c99/wicket-core/src/main/java/org/apache/wicket/Component.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java 
b/wicket-core/src/main/java/org/apache/wicket/Component.java
index 4cb377c..6686d98 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -86,8 +86,9 @@ import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.PrependingStringBuffer;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.value.ValueMap;
-import org.apache.wicket.util.visit.ClassVisitFilter;
+import org.apache.wicket.util.visit.AllVisitFilter;
 import org.apache.wicket.util.visit.IVisit;
+import org.apache.wicket.util.visit.IVisitFilter;
 import org.apache.wicket.util.visit.IVisitor;
 import org.apache.wicket.util.visit.Visit;
 import org.slf4j.Logger;
@@ -3399,17 +3400,9 @@ public abstract class Component
        public final <R, C extends MarkupContainer> R visitParents(final 
Class<C> parentClass,
                final IVisitor<C, R> visitor)
        {
-               return visitParents(parentClass, visitor, new 
ClassVisitFilter<R>(null)
-               {
-                       @Override
-                       public boolean visitObject(Object object)
-                       {
-                               return true;
-                       }
-               });
+               return visitParents(parentClass, visitor, new AllVisitFilter());
        }
 
-
        /**
         * Traverses all parent components of the given class in this 
parentClass, calling the visitor's
         * visit method at each one.
@@ -3424,15 +3417,15 @@ public abstract class Component
         *            a filter that adds an additional logic to the condition 
whether a parent container
         *            matches
         * @return First non-null value returned by visitor callback
-        * @see org.apache.wicket.util.visit.ClassVisitFilter
         */
+       @SuppressWarnings("unchecked")
        public final <R, C extends MarkupContainer> R visitParents(final 
Class<C> parentClass,
-               final IVisitor<C, R> visitor, ClassVisitFilter<R> filter)
+               final IVisitor<C, R> visitor, IVisitFilter filter)
        {
                Args.notNull(filter, "filter");
 
                // Start here
-               C current = (C)getParent();
+               MarkupContainer current = getParent();
 
                Visit<R> visit = new Visit<R>();
 
@@ -3442,7 +3435,7 @@ public abstract class Component
                        // Is current an instance of this class?
                        if (parentClass.isInstance(current) && 
filter.visitObject(current))
                        {
-                               visitor.component(current, visit);
+                               visitor.component((C)current, visit);
                                if (visit.isStopped())
                                {
                                        return visit.getResult();
@@ -3450,7 +3443,7 @@ public abstract class Component
                        }
 
                        // Check parent
-                       current = (C)current.getParent();
+                       current = current.getParent();
                }
                return null;
        }

http://git-wip-us.apache.org/repos/asf/wicket/blob/2b4a0c99/wicket-core/src/test/java/org/apache/wicket/VisitorTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/VisitorTest.java 
b/wicket-core/src/test/java/org/apache/wicket/VisitorTest.java
index f1d7c0f..a91c399 100644
--- a/wicket-core/src/test/java/org/apache/wicket/VisitorTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/VisitorTest.java
@@ -183,7 +183,7 @@ public class VisitorTest extends WicketTestCase
 
        /**
         * https://issues.apache.org/jira/browse/WICKET-3805
-        *
+        * 
         * Visit parents with arbitrary type
         */
        public void testVisitParents()
@@ -193,11 +193,11 @@ public class VisitorTest extends WicketTestCase
                {
                        public void component(MarkupContainer object, 
IVisit<MarkerInterface> visit)
                        {
-                               visit.stop((MarkerInterface) object);
+                               visit.stop((MarkerInterface)object);
                        }
                };
                MarkerInterface markedParent = 
testContainer.get("G:H").visitParents(MarkupContainer.class,
-                       visitor, new 
ClassVisitFilter<MarkerInterface>(MarkerInterface.class));
+                       visitor, new ClassVisitFilter(MarkerInterface.class));
                assertEquals("G", markedParent.getId());
        }
 
@@ -210,6 +210,8 @@ public class VisitorTest extends WicketTestCase
                implements
                        MarkerInterface
        {
+               private static final long serialVersionUID = 1L;
+
                public MarkedWebMarkupContainer(String id)
                {
                        super(id);

http://git-wip-us.apache.org/repos/asf/wicket/blob/2b4a0c99/wicket-util/src/main/java/org/apache/wicket/util/visit/AllVisitFilter.java
----------------------------------------------------------------------
diff --git 
a/wicket-util/src/main/java/org/apache/wicket/util/visit/AllVisitFilter.java 
b/wicket-util/src/main/java/org/apache/wicket/util/visit/AllVisitFilter.java
new file mode 100644
index 0000000..80d6794
--- /dev/null
+++ b/wicket-util/src/main/java/org/apache/wicket/util/visit/AllVisitFilter.java
@@ -0,0 +1,37 @@
+/*
+ * 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.visit;
+
+/**
+ * {@link IVisitFilter} that let visitors visit all.
+ * 
+ * @author igor.vaynberg
+ */
+public class AllVisitFilter implements IVisitFilter
+{
+       /** {@inheritDoc} */
+       public boolean visitChildren(final Object object)
+       {
+               return true;
+       }
+
+       /** {@inheritDoc} */
+       public boolean visitObject(final Object object)
+       {
+               return true;
+       }
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2b4a0c99/wicket-util/src/main/java/org/apache/wicket/util/visit/ClassVisitFilter.java
----------------------------------------------------------------------
diff --git 
a/wicket-util/src/main/java/org/apache/wicket/util/visit/ClassVisitFilter.java 
b/wicket-util/src/main/java/org/apache/wicket/util/visit/ClassVisitFilter.java
index 0a7d0b1..57f3500 100644
--- 
a/wicket-util/src/main/java/org/apache/wicket/util/visit/ClassVisitFilter.java
+++ 
b/wicket-util/src/main/java/org/apache/wicket/util/visit/ClassVisitFilter.java
@@ -16,14 +16,16 @@
  */
 package org.apache.wicket.util.visit;
 
+import org.apache.wicket.util.lang.Args;
+
 /**
  * {@link IVisitFilter} that restricts visitors to only visiting objects of 
the specified class
  * 
  * @author igor.vaynberg
  */
-public class ClassVisitFilter<T> implements IVisitFilter
+public class ClassVisitFilter implements IVisitFilter
 {
-       private final Class<T> clazz;
+       private final Class<?> clazz;
 
        /**
         * Constructor
@@ -31,8 +33,10 @@ public class ClassVisitFilter<T> implements IVisitFilter
         * @param clazz
         *            class of objects that visitors should be restricted to
         */
-       public ClassVisitFilter(final Class<T> clazz)
+       public ClassVisitFilter(final Class<?> clazz)
        {
+               Args.notNull(clazz, "clazz");
+
                this.clazz = clazz;
        }
 
@@ -45,6 +49,6 @@ public class ClassVisitFilter<T> implements IVisitFilter
        /** {@inheritDoc} */
        public boolean visitObject(final Object object)
        {
-               return clazz == null || 
clazz.isAssignableFrom(object.getClass());
+               return clazz.isAssignableFrom(object.getClass());
        }
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/2b4a0c99/wicket-util/src/test/java/org/apache/wicket/util/visit/AllVisitFilterTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-util/src/test/java/org/apache/wicket/util/visit/AllVisitFilterTest.java
 
b/wicket-util/src/test/java/org/apache/wicket/util/visit/AllVisitFilterTest.java
new file mode 100644
index 0000000..2eb972d
--- /dev/null
+++ 
b/wicket-util/src/test/java/org/apache/wicket/util/visit/AllVisitFilterTest.java
@@ -0,0 +1,39 @@
+/*
+ * 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.visit;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test for {@link AllVisitFilter}.
+ * 
+ * @since 1.5.7
+ */
+public class AllVisitFilterTest extends Assert
+{
+       /**
+        * @throws Exception
+        */
+       @Test
+       public void visitAll() throws Exception
+       {
+               IVisitFilter filter = new AllVisitFilter();
+               assertTrue(filter.visitObject("a string"));
+               assertTrue(filter.visitObject(123));
+       }
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2b4a0c99/wicket-util/src/test/java/org/apache/wicket/util/visit/ClassVisitFilterTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-util/src/test/java/org/apache/wicket/util/visit/ClassVisitFilterTest.java
 
b/wicket-util/src/test/java/org/apache/wicket/util/visit/ClassVisitFilterTest.java
index b93c5f4..01894c4 100644
--- 
a/wicket-util/src/test/java/org/apache/wicket/util/visit/ClassVisitFilterTest.java
+++ 
b/wicket-util/src/test/java/org/apache/wicket/util/visit/ClassVisitFilterTest.java
@@ -20,19 +20,20 @@ import org.junit.Assert;
 import org.junit.Test;
 
 /**
+ * Test for {@link ClassVisitFilter}.
+ * 
  * @since 1.5.7
  */
 public class ClassVisitFilterTest extends Assert
 {
+       /**
+        * @throws Exception
+        */
        @Test
-       public void visitObject() throws Exception
+       public void visitStrings() throws Exception
        {
-               ClassVisitFilter<String> filter = new 
ClassVisitFilter<String>(String.class);
+               ClassVisitFilter filter = new ClassVisitFilter(String.class);
                assertTrue(filter.visitObject("a string"));
                assertFalse(filter.visitObject(123));
-
-               filter = new ClassVisitFilter<String>(null);
-               assertTrue(filter.visitObject("a string"));
-               assertTrue(filter.visitObject(123));
        }
 }

Reply via email to