diff --git a/core/src/main/java/org/springframework/plugin/core/support/BeanListFactoryBean.java b/core/src/main/java/org/springframework/plugin/core/support/BeanListFactoryBean.java index ea970b3..bd3dadc 100644 --- a/core/src/main/java/org/springframework/plugin/core/support/BeanListFactoryBean.java +++ b/core/src/main/java/org/springframework/plugin/core/support/BeanListFactoryBean.java @@ -15,6 +15,7 @@ */ package org.springframework.plugin.core.support; +import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -38,7 +39,8 @@ public class BeanListFactoryBean extends AbstractTypeAwareSupport implemen */ public List getObject() { - List beans = getBeans(); + List beans = new ArrayList(); + beans.addAll(getBeans()); Collections.sort(beans, COMPARATOR); return beans; @@ -59,4 +61,4 @@ public class BeanListFactoryBean extends AbstractTypeAwareSupport implemen public boolean isSingleton() { return true; } -} \ No newline at end of file +} diff --git a/core/src/test/java/org/springframework/plugin/core/support/BeanListFactoryBeanUnitTest.java b/core/src/test/java/org/springframework/plugin/core/support/BeanListFactoryBeanUnitTest.java index 142dd67..93b2cb4 100644 --- a/core/src/test/java/org/springframework/plugin/core/support/BeanListFactoryBeanUnitTest.java +++ b/core/src/test/java/org/springframework/plugin/core/support/BeanListFactoryBeanUnitTest.java @@ -16,11 +16,10 @@ package org.springframework.plugin.core.support; import static org.junit.Assert.*; +import static org.mockito.Matchers.*; import static org.mockito.Mockito.*; -import java.util.HashMap; import java.util.List; -import java.util.Map; import org.junit.Before; import org.junit.Test; @@ -29,7 +28,6 @@ import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.context.ApplicationContext; import org.springframework.core.Ordered; -import org.springframework.plugin.core.support.BeanListFactoryBean; /** * Unit test for {@link BeanListFactoryBean}. @@ -60,11 +58,10 @@ public class BeanListFactoryBeanUnitTest { Ordered first = getOrdered(5); Ordered second = getOrdered(0); - Map beans = new HashMap(); - beans.put("first", first); - beans.put("second", second); - - when(context.getBeansOfType(Ordered.class, false, false)).thenReturn(beans); + when(context.getBeanNamesForType(Ordered.class, false, false)).thenReturn(new String[] { "first", "second" }); + when(context.getType(any(String.class))).thenReturn((Class) Ordered.class); + when(context.getBean("first")).thenReturn(first); + when(context.getBean("second")).thenReturn(second); Object result = factory.getObject(); assertTrue(result instanceof List); @@ -78,7 +75,7 @@ public class BeanListFactoryBeanUnitTest { @Test public void returnsEmptyListIfNoBeansFound() throws Exception { - when(context.getBeansOfType(Ordered.class)).thenReturn(new HashMap()); + when(context.getBeanNamesForType(Ordered.class, false, false)).thenReturn(new String[0]); Object result = factory.getObject(); assertTrue(result instanceof List);