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 2015/01/28 23:30:15 UTC
wicket git commit: WICKET-5808 Add support for extracting the generic
element for List/Set/Map subtypes
Repository: wicket
Updated Branches:
refs/heads/WICKET-5808-ArrayList [created] cc075e9c2
WICKET-5808 Add support for extracting the generic element for List/Set/Map subtypes
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/cc075e9c
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/cc075e9c
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/cc075e9c
Branch: refs/heads/WICKET-5808-ArrayList
Commit: cc075e9c25050ff8b9153d2b759f9c6d783c22f1
Parents: 6d0eae5
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jan 29 00:28:46 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jan 29 00:28:46 2015 +0200
----------------------------------------------------------------------
.../apache/wicket/spring/SpringBeanLocator.java | 8 ++---
.../wicket/spring/FieldBeansCollectorTest.java | 18 +++++-----
.../annot/SpringBeanWithGenericsTest.java | 35 ++++++++++++++++++--
3 files changed, 45 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/cc075e9c/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java
----------------------------------------------------------------------
diff --git a/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java b/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java
index 1f51ef9..60ccbfa 100644
--- a/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java
+++ b/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java
@@ -137,7 +137,7 @@ public class SpringBeanLocator implements IProxyTargetLocator
/**
* If the field type is a collection (Map, Set or List) extracts type
- * informations about its elements.
+ * information about its elements.
*
* @param fieldResolvableType
* the resolvable type of the field
@@ -147,13 +147,13 @@ public class SpringBeanLocator implements IProxyTargetLocator
{
Class<?> clazz = fieldResolvableType.resolve();
- if (clazz == Set.class || clazz == List.class)
+ if (Set.class.isAssignableFrom(clazz) || List.class.isAssignableFrom(clazz))
{
return fieldResolvableType.getGeneric();
}
- else if (clazz == Map.class)
+ else if (Map.class.isAssignableFrom(clazz))
{
- return fieldResolvableType.getGeneric(1);
+ return fieldResolvableType.getGeneric(1);
}
return null;
http://git-wip-us.apache.org/repos/asf/wicket/blob/cc075e9c/wicket-spring/src/test/java/org/apache/wicket/spring/FieldBeansCollectorTest.java
----------------------------------------------------------------------
diff --git a/wicket-spring/src/test/java/org/apache/wicket/spring/FieldBeansCollectorTest.java b/wicket-spring/src/test/java/org/apache/wicket/spring/FieldBeansCollectorTest.java
index 4a20d44..62597f4 100644
--- a/wicket-spring/src/test/java/org/apache/wicket/spring/FieldBeansCollectorTest.java
+++ b/wicket-spring/src/test/java/org/apache/wicket/spring/FieldBeansCollectorTest.java
@@ -29,28 +29,28 @@ import org.springframework.core.ResolvableType;
public class FieldBeansCollectorTest
{
public List<List<String>> listOfStringList;
-
+
public List genericList;
-
+
@Test
public void resolveGenericList() throws Exception
{
Field field = getClass().getField("listOfStringList");
ResolvableType resolvableType = ResolvableType.forField(field);
-
+
FieldBeansCollector fieldBeansCollector = new FieldBeansCollector(resolvableType);
-
- assertTrue(fieldBeansCollector.getFieldType() == FieldType.LIST);
+
+ assertTrue(fieldBeansCollector.getFieldType() == FieldType.LIST);
}
-
+
@Test
public void resolveRowList() throws Exception
{
Field field = getClass().getField("genericList");
-
+
ResolvableType resolvableType = ResolvableType.forField(field);
FieldBeansCollector fieldBeansCollector = new FieldBeansCollector(resolvableType);
-
+
assertTrue(fieldBeansCollector.getFieldType() == FieldType.LIST);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/cc075e9c/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/SpringBeanWithGenericsTest.java
----------------------------------------------------------------------
diff --git a/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/SpringBeanWithGenericsTest.java b/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/SpringBeanWithGenericsTest.java
index 782dc00..245cf90 100644
--- a/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/SpringBeanWithGenericsTest.java
+++ b/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/SpringBeanWithGenericsTest.java
@@ -16,6 +16,11 @@
*/
package org.apache.wicket.spring.injection.annot;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -89,13 +94,12 @@ public class SpringBeanWithGenericsTest extends Assert
tester.startPage(new AnnotatedMapOfBeanGenericQualifier());
Map<String, BeanWithGeneric<?>> beans = page.getBeans();
-
+
assertNotNull(beans);
assertEquals(2, beans.size());
-
+
assertTrue(beans.containsKey("stringBean"));
assertTrue(beans.containsKey("integerBean"));
-
}
@Test
@@ -121,6 +125,13 @@ public class SpringBeanWithGenericsTest extends Assert
assertNotNull(page.getStringsList());
assertEquals(3, page.getStringsList().size());
+
+ ArrayList<String> arrayListStrings = page.getArrayListStrings();
+ assertThat(arrayListStrings, is(notNullValue()));
+ assertThat(arrayListStrings.size(), is(3));
+ assertThat(arrayListStrings.get(0), is(equalTo("one")));
+ assertThat(arrayListStrings.get(1), is(equalTo("two")));
+ assertThat(arrayListStrings.get(2), is(equalTo("three")));
}
@Test
@@ -197,6 +208,14 @@ public class SpringBeanWithGenericsTest extends Assert
{
return stringsList;
}
+
+ @SpringBean
+ private ArrayList<String> arrayListStrings;
+
+ public ArrayList<String> getArrayListStrings()
+ {
+ return arrayListStrings;
+ }
}
@Configuration
@@ -219,5 +238,15 @@ public class SpringBeanWithGenericsTest extends Assert
{
return Arrays.asList("foo", "bar", "baz");
}
+
+ @Bean
+ public ArrayList<String> arrayListStrings()
+ {
+ ArrayList<String> arrayList = new ArrayList();
+ arrayList.add("one");
+ arrayList.add("two");
+ arrayList.add("three");
+ return arrayList;
+ }
}
}