diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/AnnotationBeanNameGeneratorTests.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/AnnotationBeanNameGeneratorTests.java index 0d2d43a89de..f3c2437b745 100644 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/AnnotationBeanNameGeneratorTests.java +++ b/org.springframework.context/src/test/java/org/springframework/context/annotation/AnnotationBeanNameGeneratorTests.java @@ -26,6 +26,8 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; +import example.scannable.DefaultNamedComponent; + /** * @author Rick Evans * @author Juergen Hoeller diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/ClassPathScanningCandidateComponentProviderTests.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/ClassPathScanningCandidateComponentProviderTests.java index d024c8fe836..642a977c187 100644 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/ClassPathScanningCandidateComponentProviderTests.java +++ b/org.springframework.context/src/test/java/org/springframework/context/annotation/ClassPathScanningCandidateComponentProviderTests.java @@ -33,6 +33,15 @@ import org.springframework.stereotype.Repository; import org.springframework.stereotype.Service; import org.springframework.util.ClassUtils; +import example.scannable.FooDao; +import example.scannable.FooService; +import example.scannable.FooServiceImpl; +import example.scannable.MessageBean; +import example.scannable.NamedComponent; +import example.scannable.NamedStubDao; +import example.scannable.ServiceInvocationCounter; +import example.scannable.StubFooDao; + /** * @author Mark Fisher * @author Juergen Hoeller @@ -40,15 +49,15 @@ import org.springframework.util.ClassUtils; */ public class ClassPathScanningCandidateComponentProviderTests { - private static final String TEST_BASE_PACKAGE = - ClassPathScanningCandidateComponentProviderTests.class.getPackage().getName(); + private static final String TEST_BASE_PACKAGE = "example.scannable"; + //ClassPathScanningCandidateComponentProviderTests.class.getPackage().getName(); @Test public void testWithDefaults() { ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(true); Set candidates = provider.findCandidateComponents(TEST_BASE_PACKAGE); - assertEquals(9, candidates.size()); + assertEquals(6, candidates.size()); assertTrue(containsBeanClass(candidates, NamedComponent.class)); assertTrue(containsBeanClass(candidates, FooServiceImpl.class)); assertTrue(containsBeanClass(candidates, StubFooDao.class)); @@ -86,7 +95,7 @@ public class ClassPathScanningCandidateComponentProviderTests { provider.addExcludeFilter(new AnnotationTypeFilter(Service.class)); provider.addExcludeFilter(new AnnotationTypeFilter(Controller.class)); Set candidates = provider.findCandidateComponents(TEST_BASE_PACKAGE); - assertEquals(6, candidates.size()); + assertEquals(3, candidates.size()); assertTrue(containsBeanClass(candidates, NamedComponent.class)); assertTrue(containsBeanClass(candidates, ServiceInvocationCounter.class)); assertFalse(containsBeanClass(candidates, FooServiceImpl.class)); @@ -129,7 +138,7 @@ public class ClassPathScanningCandidateComponentProviderTests { provider.addIncludeFilter(new AnnotationTypeFilter(Component.class)); provider.addIncludeFilter(new AssignableTypeFilter(FooServiceImpl.class)); Set candidates = provider.findCandidateComponents(TEST_BASE_PACKAGE); - assertEquals(9, candidates.size()); + assertEquals(6, candidates.size()); assertTrue(containsBeanClass(candidates, NamedComponent.class)); assertTrue(containsBeanClass(candidates, ServiceInvocationCounter.class)); assertTrue(containsBeanClass(candidates, FooServiceImpl.class)); @@ -142,7 +151,7 @@ public class ClassPathScanningCandidateComponentProviderTests { provider.addIncludeFilter(new AssignableTypeFilter(FooServiceImpl.class)); provider.addExcludeFilter(new AssignableTypeFilter(FooService.class)); Set candidates = provider.findCandidateComponents(TEST_BASE_PACKAGE); - assertEquals(8, candidates.size()); + assertEquals(5, candidates.size()); assertTrue(containsBeanClass(candidates, NamedComponent.class)); assertTrue(containsBeanClass(candidates, ServiceInvocationCounter.class)); assertFalse(containsBeanClass(candidates, FooServiceImpl.class)); diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/CustomComponent.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/CustomComponent.java deleted file mode 100644 index ad9796ca2b4..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/CustomComponent.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * @author Mark Fisher - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@Inherited -public @interface CustomComponent { - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/CustomStereotype.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/CustomStereotype.java deleted file mode 100644 index b0b471a3171..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/CustomStereotype.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2002-2008 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.springframework.stereotype.Component; - -/** - * @author Juergen Hoeller - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@Component -public @interface CustomStereotype { - - String value() default "thoreau"; - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/DefaultNamedComponent.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/DefaultNamedComponent.java deleted file mode 100644 index 04e7c195a4b..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/DefaultNamedComponent.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2002-2008 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - - -/** - * @author Juergen Hoeller - */ -@CustomStereotype -public class DefaultNamedComponent { - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/FooDao.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/FooDao.java deleted file mode 100644 index 43964259763..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/FooDao.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -/** - * @author Mark Fisher - */ -public interface FooDao { - - String findFoo(int id); - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/FooService.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/FooService.java deleted file mode 100644 index 4082e06cebb..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/FooService.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -/** - * @author Mark Fisher - * @author Juergen Hoeller - */ -public interface FooService { - - String foo(int id); - - boolean isInitCalled(); - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/FooServiceImpl.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/FooServiceImpl.java deleted file mode 100644 index 5eb3a0a1549..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/FooServiceImpl.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -import java.util.List; - -import javax.annotation.PostConstruct; - -import org.springframework.beans.factory.BeanFactory; -import org.springframework.beans.factory.ListableBeanFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationEventPublisher; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.context.MessageSource; -import org.springframework.context.support.AbstractApplicationContext; -import org.springframework.core.io.ResourceLoader; -import org.springframework.core.io.support.ResourcePatternResolver; -import org.springframework.stereotype.Service; - -/** - * @author Mark Fisher - * @author Juergen Hoeller - */ -@Service -public class FooServiceImpl implements FooService { - - @Autowired private FooDao fooDao; - - @Autowired public BeanFactory beanFactory; - - @Autowired public List listableBeanFactory; - - @Autowired public ResourceLoader resourceLoader; - - @Autowired public ResourcePatternResolver resourcePatternResolver; - - @Autowired public ApplicationEventPublisher eventPublisher; - - @Autowired public MessageSource messageSource; - - @Autowired public ApplicationContext context; - - @Autowired public ConfigurableApplicationContext[] configurableContext; - - @Autowired public AbstractApplicationContext genericContext; - - private boolean initCalled = false; - - @PostConstruct - private void init() { - if (this.initCalled) { - throw new IllegalStateException("Init already called"); - } - this.initCalled = true; - } - - public String foo(int id) { - return this.fooDao.findFoo(id); - } - - public boolean isInitCalled() { - return this.initCalled; - } - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/MessageBean.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/MessageBean.java deleted file mode 100644 index be9c68bda2f..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/MessageBean.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -/** - * @author Mark Fisher - */ -@CustomComponent -public class MessageBean { - - private String message; - - public MessageBean() { - this.message = "DEFAULT MESSAGE"; - } - - public MessageBean(String message) { - this.message = message; - } - - public String getMessage() { - return this.message; - } - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/NamedComponent.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/NamedComponent.java deleted file mode 100644 index 8bcb205765f..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/NamedComponent.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -import org.springframework.stereotype.Component; - -/** - * @author Mark Fisher - */ -@Component("myNamedComponent") -public class NamedComponent { - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/NamedStubDao.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/NamedStubDao.java deleted file mode 100644 index a15ae5b2167..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/NamedStubDao.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -import org.springframework.stereotype.Repository; - -/** - * @author Juergen Hoeller - */ -@Repository("myNamedDao") -public class NamedStubDao { - - public String find(int id) { - return "bar"; - } - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/ServiceInvocationCounter.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/ServiceInvocationCounter.java deleted file mode 100644 index ec90390fa94..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/ServiceInvocationCounter.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; -import org.aspectj.lang.annotation.Pointcut; - -import org.springframework.stereotype.Component; - -/** - * @author Mark Fisher - */ -@Component -@Aspect -public class ServiceInvocationCounter { - - private int useCount; - - @Pointcut("execution(* org.springframework.context.annotation.FooService+.*(..))") - public void serviceExecution() {} - - @Before("serviceExecution()") - public void countUse() { - this.useCount++; - } - - public int getCount() { - return this.useCount; - } - -} diff --git a/org.springframework.context/src/test/java/org/springframework/context/annotation/StubFooDao.java b/org.springframework.context/src/test/java/org/springframework/context/annotation/StubFooDao.java deleted file mode 100644 index 567c2499925..00000000000 --- a/org.springframework.context/src/test/java/org/springframework/context/annotation/StubFooDao.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2002-2007 the original author or authors. - * - * Licensed 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.springframework.context.annotation; - -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.stereotype.Repository; - -/** - * @author Mark Fisher - */ -@Repository -@Qualifier("testing") -public class StubFooDao implements FooDao { - - public String findFoo(int id) { - return "bar"; - } - -}