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/29 08:32:27 UTC

[1/3] wicket git commit: WICKET-5808 Add support for extracting the generic element for List/Set/Map subtypes

Repository: wicket
Updated Branches:
  refs/heads/master 6d0eae5f4 -> 3a36b0a23


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/master
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;
+		}
 	}
 }


[3/3] wicket git commit: WICKET-5808 Add more unit tests

Posted by mg...@apache.org.
WICKET-5808 Add more unit tests


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

Branch: refs/heads/master
Commit: 3a36b0a234a559f952ac0893a9de5326c86059de
Parents: 4b62ed0
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jan 29 09:30:08 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jan 29 09:30:08 2015 +0200

----------------------------------------------------------------------
 .../annot/SpringBeanWithGenericsTest.java       | 76 +++++++++++++++++++-
 1 file changed, 75 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/3a36b0a2/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 245cf90..f5e57e1 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
@@ -17,6 +17,7 @@
 package org.apache.wicket.spring.injection.annot;
 
 import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.hasItem;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.notNullValue;
 
@@ -86,6 +87,21 @@ public class SpringBeanWithGenericsTest extends Assert
 		assertTrue(beans.contains(ctx.getBean("stringBean")));
 		assertTrue(beans.contains(ctx.getBean("integerBean")));
 	}
+
+	@Test
+	public void listOfStringGenerics() throws Exception
+	{
+		AnnotatedListOfBeanStringGenericQualifier page =
+				tester.startPage(new AnnotatedListOfBeanStringGenericQualifier());
+
+		List<BeanWithGeneric<String>> beans = page.getBeans();
+
+		assertThat(beans, is(notNullValue()));
+		assertThat(beans.size(), is(1));
+
+		BeanWithGeneric<String> stringBean = (BeanWithGeneric<String>) ctx.getBean("stringBean");
+		assertThat(beans, hasItem(stringBean));
+	}
 	
 	@Test
 	public void mapOfGenerics() throws Exception
@@ -132,8 +148,20 @@ public class SpringBeanWithGenericsTest extends Assert
 		assertThat(arrayListStrings.get(0), is(equalTo("one")));
 		assertThat(arrayListStrings.get(1), is(equalTo("two")));
 		assertThat(arrayListStrings.get(2), is(equalTo("three")));
+
+		ArrayList<Integer> arrayListIntegers = page.getArrayListIntegers();
+		assertThat(arrayListIntegers, is(notNullValue()));
+		assertThat(arrayListIntegers.size(), is(3));
+		assertThat(arrayListIntegers.get(0), is(1));
+		assertThat(arrayListIntegers.get(1), is(2));
+		assertThat(arrayListIntegers.get(2), is(3));
+
+		MyList<String> myList = page.getMyList();
+		assertThat(myList, is(notNullValue()));
+		assertThat(myList.size(), is(1));
+		assertThat(myList.get(0), is("one"));
 	}
-	
+
 	@Test
 	public void listOfTypedGenerics() throws Exception
 	{
@@ -155,6 +183,17 @@ public class SpringBeanWithGenericsTest extends Assert
 		}
 	}
 
+	class AnnotatedListOfBeanStringGenericQualifier extends DummyHomePage
+	{
+		@SpringBean
+		private List<BeanWithGeneric<String>> beans;
+
+		public List<BeanWithGeneric<String>> getBeans()
+		{
+			return beans;
+		}
+	}
+
 	class AnnotatedListOfBeanGenericQualifier extends DummyHomePage
 	{
 		@SpringBean
@@ -216,6 +255,22 @@ public class SpringBeanWithGenericsTest extends Assert
 		{
 			return arrayListStrings;
 		}
+
+		@SpringBean
+		private ArrayList<Integer> arrayListIntegers;
+
+		public ArrayList<Integer> getArrayListIntegers()
+		{
+			return arrayListIntegers;
+		}
+
+		@SpringBean
+		private MyList<String> myList;
+
+		public MyList<String> getMyList()
+		{
+			return myList;
+		}
 	}
 
 	@Configuration
@@ -248,5 +303,24 @@ public class SpringBeanWithGenericsTest extends Assert
 			arrayList.add("three");
 			return arrayList;
 		}
+
+		@Bean
+		public ArrayList<Integer> arrayListIntegers()
+		{
+			ArrayList<Integer> arrayList = new ArrayList();
+			arrayList.add(1);
+			arrayList.add(2);
+			arrayList.add(3);
+			return arrayList;
+		}
+
+		@Bean
+		public MyList<String> myList() {
+			MyList<String> myList = new MyList<>();
+			myList.add("one");
+			return myList;
+		}
 	}
+
+	public static class MyList<T> extends ArrayList<T> {}
 }


[2/3] wicket git commit: WICKET-5808 Remove unused parameter

Posted by mg...@apache.org.
WICKET-5808 Remove unused parameter

It is a private method so this is not API change


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

Branch: refs/heads/master
Commit: 4b62ed0fe460c2b8618e70799d6ea68d6de044bf
Parents: cc075e9
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jan 29 09:29:36 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jan 29 09:29:36 2015 +0200

----------------------------------------------------------------------
 .../spring/injection/annot/AnnotProxyFieldValueFactory.java   | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/4b62ed0f/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
----------------------------------------------------------------------
diff --git a/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java b/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
index 27c4008..efa333d 100644
--- a/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
+++ b/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
@@ -192,8 +192,7 @@ public class AnnotProxyFieldValueFactory implements IFieldValueFactory
 			name = beanNameCache.get(fieldType);
 			if (name == null)
 			{
-				name = getBeanNameOfClass(contextLocator.getSpringContext(), fieldType, generic,
-					required);
+				name = getBeanNameOfClass(contextLocator.getSpringContext(), fieldType, generic);
 
 				if (name != null)
 				{
@@ -217,13 +216,11 @@ public class AnnotProxyFieldValueFactory implements IFieldValueFactory
 	 *            spring application context
 	 * @param clazz
 	 *            bean class
-	 * @param required
-	 *            true if the value is required
 	 * @throws IllegalStateException
 	 * @return spring name of the bean
 	 */
 	private String getBeanNameOfClass(final ApplicationContext ctx, final Class<?> clazz,
-		final Class<?> generic, final boolean required)
+		final Class<?> generic)
 	{
 		// get the list of all possible matching beans
 		List<String> names = new ArrayList<>(