diff --git a/spring-context/src/test/java/org/springframework/context/annotation/configuration/Spr10744Tests.java b/spring-context/src/test/java/org/springframework/context/annotation/configuration/Spr10744Tests.java index 541407c3cf..abc3f495a7 100644 --- a/spring-context/src/test/java/org/springframework/context/annotation/configuration/Spr10744Tests.java +++ b/spring-context/src/test/java/org/springframework/context/annotation/configuration/Spr10744Tests.java @@ -41,14 +41,15 @@ public class Spr10744Tests { @Test public void testSpr10744() throws Exception { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); - MyTestScope scope = new MyTestScope(); - context.getBeanFactory().registerScope("myTestScope", scope); + context.getBeanFactory().registerScope("myTestScope", new MyTestScope()); context.register(MyTestConfiguration.class); context.refresh(); + Foo bean1 = context.getBean("foo", Foo.class); Foo bean2 = context.getBean("foo", Foo.class); assertThat(bean1, sameInstance(bean2)); - // Should have created a single instance for the proxy + + // Should not have invoked constructor for the proxy instance assertThat(createCount, equalTo(0)); assertThat(scopeCount, equalTo(0)); @@ -118,9 +119,9 @@ public class Spr10744Tests { @Configuration static class MyTestConfiguration extends MyConfiguration { - @Override - @Scope(value = "myTestScope", proxyMode = ScopedProxyMode.TARGET_CLASS) @Bean + @Scope(value = "myTestScope", proxyMode = ScopedProxyMode.TARGET_CLASS) + @Override public Foo foo() { return new Foo(); } diff --git a/spring-core/src/main/java/org/springframework/core/annotation/AnnotationUtils.java b/spring-core/src/main/java/org/springframework/core/annotation/AnnotationUtils.java index 1dd2088794..fa418d3b02 100644 --- a/spring-core/src/main/java/org/springframework/core/annotation/AnnotationUtils.java +++ b/spring-core/src/main/java/org/springframework/core/annotation/AnnotationUtils.java @@ -70,8 +70,8 @@ public abstract class AnnotationUtils { * Get a single {@link Annotation} of {@code annotationType} from the supplied * annotation: either the given annotation itself or a meta-annotation thereof. * @param ann the Annotation to check - * @param annotationType the annotation class to look for, both locally and as a meta-annotation - * @return the matching annotation or {@code null} if not found + * @param annotationType the annotation type to look for, both locally and as a meta-annotation + * @return the matching annotation, or {@code null} if none found * @since 4.0 */ @SuppressWarnings("unchecked") @@ -87,8 +87,8 @@ public abstract class AnnotationUtils { * Method, Constructor or Field. Meta-annotations will be searched if the annotation * is not declared locally on the supplied element. * @param ae the Method, Constructor or Field from which to get the annotation - * @param annotationType the annotation class to look for, both locally and as a meta-annotation - * @return the matching annotation or {@code null} if not found + * @param annotationType the annotation type to look for, both locally and as a meta-annotation + * @return the matching annotation, or {@code null} if none found * @since 3.1 */ public static T getAnnotation(AnnotatedElement ae, Class annotationType) { @@ -119,7 +119,7 @@ public abstract class AnnotationUtils { * Get a single {@link Annotation} of {@code annotationType} from the supplied {@link Method}. *

Correctly handles bridge {@link Method Methods} generated by the compiler. * @param method the method to look for annotations on - * @param annotationType the annotation class to look for + * @param annotationType the annotation type to look for * @return the annotations found * @see org.springframework.core.BridgeMethodResolver#findBridgedMethod(Method) */ @@ -135,7 +135,7 @@ public abstract class AnnotationUtils { *

Correctly handles bridge {@link Method Methods} generated by the compiler. * @param method the method to look for annotations on * @param containerAnnotationType the class of the container that holds the annotations - * @param annotationType the annotation class to look for + * @param annotationType the annotation type to look for * @return the annotations found * @since 4.0 * @see org.springframework.core.BridgeMethodResolver#findBridgedMethod(Method) @@ -154,7 +154,7 @@ public abstract class AnnotationUtils { *

Correctly handles bridge {@link Method Methods} generated by the compiler. * @param annotatedElement the element to look for annotations on * @param containerAnnotationType the class of the container that holds the annotations - * @param annotationType the annotation class to look for + * @param annotationType the annotation type to look for * @return the annotations found * @since 4.0 * @see org.springframework.core.BridgeMethodResolver#findBridgedMethod(Method) @@ -170,13 +170,13 @@ public abstract class AnnotationUtils { /** * Find a single {@link Annotation} of {@code annotationType} from the supplied - * {@link Method}, traversing its super methods (i.e., from super classes and + * {@link Method}, traversing its super methods (i.e., from superclasses and * interfaces) if no annotation can be found on the given method itself. *

Annotations on methods are not inherited by default, so we need to handle * this explicitly. * @param method the method to look for annotations on - * @param annotationType the annotation class to look for - * @return the annotation found, or {@code null} if none found + * @param annotationType the annotation type to look for + * @return the annotation found, or {@code null} if none */ public static A findAnnotation(Method method, Class annotationType) { A annotation = getAnnotation(method, annotationType); @@ -288,8 +288,7 @@ public abstract class AnnotationUtils { } for (Annotation ann : clazz.getDeclaredAnnotations()) { if (!isInJavaLangAnnotationPackage(ann) && visited.add(ann)) { - A annotation = findAnnotation(ann.annotationType(), annotationType, - visited); + A annotation = findAnnotation(ann.annotationType(), annotationType, visited); if (annotation != null) { return annotation; } @@ -312,8 +311,8 @@ public abstract class AnnotationUtils { *

The standard {@link Class} API does not provide a mechanism for determining which class * in an inheritance hierarchy actually declares an {@link Annotation}, so we need to handle * this explicitly. - * @param annotationType the annotation class to look for, both locally and as a meta-annotation - * @param clazz the class on which to check for the annotation, or {@code null} + * @param annotationType the annotation type to look for, both locally and as a meta-annotation + * @param clazz the class on which to check for the annotation (may be {@code null}) * @return the first {@link Class} in the inheritance hierarchy of the specified {@code clazz} * which declares an annotation for the specified {@code annotationType}, or {@code null} * if not found @@ -509,8 +508,7 @@ public abstract class AnnotationUtils { Annotation[] realAnnotations = (Annotation[]) value; AnnotationAttributes[] mappedAnnotations = new AnnotationAttributes[realAnnotations.length]; for (int i = 0; i < realAnnotations.length; i++) { - mappedAnnotations[i] = getAnnotationAttributes( - realAnnotations[i], classValuesAsString, true); + mappedAnnotations[i] = getAnnotationAttributes(realAnnotations[i], classValuesAsString, true); } attrs.put(method.getName(), mappedAnnotations); } @@ -634,7 +632,7 @@ public abstract class AnnotationUtils { this.result.add((A) annotation); } else if (ObjectUtils.nullSafeEquals(this.containerAnnotationType, annotation.annotationType())) { - result.addAll(Arrays.asList(getValue(annotation))); + this.result.addAll(Arrays.asList(getValue(annotation))); } else if (!isInJavaLangAnnotationPackage(annotation)) { process(annotation.annotationType()); @@ -651,8 +649,8 @@ public abstract class AnnotationUtils { return (A[]) method.invoke(annotation); } catch (Exception ex) { - throw new IllegalStateException("Unable to read value from repeating annotation container " - + this.containerAnnotationType.getName(), ex); + throw new IllegalStateException("Unable to read value from repeating annotation container " + + this.containerAnnotationType.getName(), ex); } } } diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/OracleTableMetaDataProvider.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/OracleTableMetaDataProvider.java index d9f56fcb83..7c82762176 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/OracleTableMetaDataProvider.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/OracleTableMetaDataProvider.java @@ -29,8 +29,8 @@ import org.springframework.util.ReflectionUtils; /** * Oracle-specific implementation of the {@link org.springframework.jdbc.core.metadata.TableMetaDataProvider}. - * Supports a feature for including synonyms in the metadata lookup. Also supports lookup of current schema using - * the sys_context. + * Supports a feature for including synonyms in the metadata lookup. Also supports lookup of current schema + * using the sys_context. * *

Thanks to Mike Youngstrom and Bruce Campbell for submitting the original suggestion for the Oracle * current schema lookup implementation. @@ -128,7 +128,6 @@ public class OracleTableMetaDataProvider extends GenericTableMetaDataProvider { /* * Oracle-based implementation for detecting the current schema. - * @param databaseMetaData */ private void lookupDefaultSchema(DatabaseMetaData databaseMetaData) { try { diff --git a/spring-test/src/main/java/org/springframework/test/context/TestContextManager.java b/spring-test/src/main/java/org/springframework/test/context/TestContextManager.java index cdfcda91d5..4cf38da199 100644 --- a/spring-test/src/main/java/org/springframework/test/context/TestContextManager.java +++ b/spring-test/src/main/java/org/springframework/test/context/TestContextManager.java @@ -89,21 +89,22 @@ public class TestContextManager { /** - * Construct a new {@code TestContextManager} for the specified {@linkplain Class - * test class} and automatically {@link #registerTestExecutionListeners register} the + * Construct a new {@code TestContextManager} for the specified {@linkplain Class test class} + * and automatically {@link #registerTestExecutionListeners register} the * {@link TestExecutionListener TestExecutionListeners} configured for the test class * via the {@link TestExecutionListeners @TestExecutionListeners} annotation. * @param testClass the test class to be managed - * @see #registerTestExecutionListeners(List) + * @see #registerTestExecutionListeners */ public TestContextManager(Class testClass) { CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate = new DefaultCacheAwareContextLoaderDelegate(contextCache); BootstrapContext bootstrapContext = new DefaultBootstrapContext(testClass, cacheAwareContextLoaderDelegate); this.testContextBootstrapper = BootstrapUtils.resolveTestContextBootstrapper(bootstrapContext); - this.testContext = new DefaultTestContext(testContextBootstrapper); - registerTestExecutionListeners(testContextBootstrapper.getTestExecutionListeners()); + this.testContext = new DefaultTestContext(this.testContextBootstrapper); + registerTestExecutionListeners(this.testContextBootstrapper.getTestExecutionListeners()); } + /** * Get the {@link TestContext} managed by this {@code TestContextManager}. */