diff --git a/spring-test/src/main/java/org/springframework/test/annotation/package-info.java b/spring-test/src/main/java/org/springframework/test/annotation/package-info.java index 6590ae49a149..1695b36cc002 100644 --- a/spring-test/src/main/java/org/springframework/test/annotation/package-info.java +++ b/spring-test/src/main/java/org/springframework/test/annotation/package-info.java @@ -1,8 +1,6 @@ - /** - * * Support classes for annotation-driven tests. - * */ + package org.springframework.test.annotation; diff --git a/spring-test/src/main/java/org/springframework/test/context/ActiveProfiles.java b/spring-test/src/main/java/org/springframework/test/context/ActiveProfiles.java index 71dc59ff97e8..b0bff1db9a4c 100644 --- a/spring-test/src/main/java/org/springframework/test/context/ActiveProfiles.java +++ b/spring-test/src/main/java/org/springframework/test/context/ActiveProfiles.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2011 the original author or authors. + * Copyright 2002-2012 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. @@ -65,15 +65,15 @@ * Whether or not bean definition profiles from superclasses should be * inherited. * - *
The default value is true
, which means that an annotated
- * class will inherit bean definition profiles defined by an
- * annotated superclass. Specifically, the bean definition profiles for an
- * annotated class will be appended to the list of bean definition profiles
- * defined by an annotated superclass. Thus, subclasses have the option of
+ *
The default value is true
, which means that a test
+ * class will inherit bean definition profiles defined by a
+ * test superclass. Specifically, the bean definition profiles for a test
+ * class will be appended to the list of bean definition profiles
+ * defined by a test superclass. Thus, subclasses have the option of
* extending the list of bean definition profiles.
*
*
If inheritProfiles
is set to false
, the bean
- * definition profiles for the annotated class will shadow and
+ * definition profiles for the test class will shadow and
* effectively replace any bean definition profiles defined by a superclass.
*
*
In the following example, the {@code ApplicationContext} for @@ -98,7 +98,8 @@ * *
Note: {@code @ActiveProfiles} can be used when loading an * {@code ApplicationContext} from path-based resource locations or - * configuration classes. + * annotated classes. + * * @see ContextConfiguration#locations * @see ContextConfiguration#classes * @see ContextConfiguration#inheritLocations diff --git a/spring-test/src/main/java/org/springframework/test/context/ContextCache.java b/spring-test/src/main/java/org/springframework/test/context/ContextCache.java index a2458fa3305b..e449ab866ecb 100644 --- a/spring-test/src/main/java/org/springframework/test/context/ContextCache.java +++ b/spring-test/src/main/java/org/springframework/test/context/ContextCache.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2011 the original author or authors. + * Copyright 2002-2012 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. @@ -25,16 +25,15 @@ import org.springframework.util.Assert; /** - * Cache for Spring {@link ApplicationContext ApplicationContexts} - * in a test environment. + * Cache for Spring {@link ApplicationContext ApplicationContexts} in a test environment. * *
Maintains a cache of {@link ApplicationContext contexts} keyed by
* {@link MergedContextConfiguration} instances. This has significant performance
* benefits if initializing the context would take time. While initializing a
* Spring context itself is very quick, some beans in a context, such as a
- * {@link org.springframework.orm.hibernate3.LocalSessionFactoryBean LocalSessionFactoryBean}
- * for working with Hibernate, may take some time to initialize. Hence it often
- * makes sense to perform that initialization once.
+ * {@code LocalSessionFactoryBean} for working with Hibernate, may take some time
+ * to initialize. Hence it often makes sense to perform that initialization only
+ * once per test suite.
*
* @author Sam Brannen
* @author Juergen Hoeller
@@ -70,6 +69,7 @@ void clearStatistics() {
/**
* Return whether there is a cached context for the given key.
+ *
* @param key the context key (never null
)
*/
boolean contains(MergedContextConfiguration key) {
@@ -79,8 +79,10 @@ boolean contains(MergedContextConfiguration key) {
/**
* Obtain a cached ApplicationContext for the given key.
+ *
*
The {@link #getHitCount() hit} and {@link #getMissCount() miss}
* counts will be updated accordingly.
+ *
* @param key the context key (never null
)
* @return the corresponding ApplicationContext instance,
* or null
if not found in the cache.
@@ -133,6 +135,7 @@ int getMissCount() {
/**
* Explicitly add an ApplicationContext instance to the cache under the given key.
+ *
* @param key the context key (never null
)
* @param context the ApplicationContext instance (never null
)
*/
@@ -144,9 +147,10 @@ void put(MergedContextConfiguration key, ApplicationContext context) {
/**
* Remove the context with the given key.
+ *
* @param key the context key (never null
)
- * @return the corresponding ApplicationContext instance,
- * or null
if not found in the cache.
+ * @return the corresponding ApplicationContext instance, or null
+ * if not found in the cache.
* @see #setDirty
*/
ApplicationContext remove(MergedContextConfiguration key) {
@@ -156,11 +160,13 @@ ApplicationContext remove(MergedContextConfiguration key) {
/**
* Mark the context with the given key as dirty, effectively
* {@link #remove removing} the context from the cache and explicitly
- * {@link ConfigurableApplicationContext#close() closing} it if
- * it is an instance of {@link ConfigurableApplicationContext}.
+ * {@link ConfigurableApplicationContext#close() closing} it if it is an
+ * instance of {@link ConfigurableApplicationContext}.
+ *
*
Generally speaking, you would only call this method if you change the
* state of a singleton bean, potentially affecting future interaction with
* the context.
+ *
* @param key the context key (never null
)
* @see #remove
*/
diff --git a/spring-test/src/main/java/org/springframework/test/context/ContextConfiguration.java b/spring-test/src/main/java/org/springframework/test/context/ContextConfiguration.java
index 1638f28cc3b3..60bfa1072820 100644
--- a/spring-test/src/main/java/org/springframework/test/context/ContextConfiguration.java
+++ b/spring-test/src/main/java/org/springframework/test/context/ContextConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2011 the original author or authors.
+ * Copyright 2002-2012 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.
@@ -23,20 +23,43 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
/**
* {@code ContextConfiguration} defines class-level metadata that is
* used to determine how to load and configure an
* {@link org.springframework.context.ApplicationContext ApplicationContext}
* for test classes.
- *
+ *
+ *
Prior to Spring 3.1, only path-based resource locations were supported. * As of Spring 3.1, {@link #loader context loaders} may choose to support * either path-based or class-based resources (but not both). Consequently * {@code @ContextConfiguration} can be used to declare either path-based * resource locations (via the {@link #locations} or {@link #value} - * attribute) or configuration classes (via the {@link #classes} + * attribute) or annotated classes (via the {@link #classes} * attribute). - * + * + *
The term annotated class can refer to any of the following. + * + *
Check out the Javadoc for * {@link org.springframework.test.context.support.AnnotationConfigContextLoader#detectDefaultConfigurationClasses * AnnotationConfigContextLoader.detectDefaultConfigurationClasses()} for details - * on how default configuration classes will be detected if none are specified. - * See the documentation for {@link #loader} for further details regarding - * default loaders. + * on how default configuration classes will be detected if no + * annotated classes are specified. See the documentation for + * {@link #loader} for further details regarding default loaders. * *
This attribute may not be used in conjunction with * {@link #locations} or {@link #value}. + * * @since 3.1 * @see org.springframework.context.annotation.Configuration * @see org.springframework.test.context.support.AnnotationConfigContextLoader @@ -112,23 +135,21 @@ Class>[] classes() default {}; /** - * Whether or not {@link #locations resource locations} or - * {@link #classes configuration classes} from superclasses should be - * inherited. - * + * Whether or not {@link #locations resource locations} or annotated + * classes from test superclasses should be inherited. + * *
The default value is true
. This means that an annotated
- * class will inherit the resource locations or configuration
- * classes defined by annotated superclasses. Specifically, the resource
- * locations or configuration classes for an annotated class will be
- * appended to the list of resource locations or configuration classes
- * defined by annotated superclasses. Thus, subclasses have the option of
- * extending the list of resource locations or configuration
- * classes.
+ * class will inherit the resource locations or annotated classes
+ * defined by test superclasses. Specifically, the resource locations or
+ * annotated classes for a given test class will be appended to the list of
+ * resource locations or annotated classes defined by test superclasses.
+ * Thus, subclasses have the option of extending the list of resource
+ * locations or annotated classes.
*
*
If inheritLocations
is set to false
, the
- * resource locations or configuration classes for the annotated class
+ * resource locations or annotated classes for the annotated class
* will shadow and effectively replace any resource locations
- * or configuration classes defined by superclasses.
+ * or annotated classes defined by superclasses.
*
*
In the following example that uses path-based resource locations, the * {@link org.springframework.context.ApplicationContext ApplicationContext} @@ -149,7 +170,7 @@ * } * * - *
Similarly, in the following example that uses configuration + *
Similarly, in the following example that uses annotated
* classes, the
* {@link org.springframework.context.ApplicationContext ApplicationContext}
* for {@code ExtendedTest} will be loaded from the
diff --git a/spring-test/src/main/java/org/springframework/test/context/ContextConfigurationAttributes.java b/spring-test/src/main/java/org/springframework/test/context/ContextConfigurationAttributes.java
index e937898a231a..b7983030cef5 100644
--- a/spring-test/src/main/java/org/springframework/test/context/ContextConfigurationAttributes.java
+++ b/spring-test/src/main/java/org/springframework/test/context/ContextConfigurationAttributes.java
@@ -96,7 +96,7 @@ public ContextConfigurationAttributes(Class> declaringClass, ContextConfigurat
*
* @param declaringClass the test class that declared {@code @ContextConfiguration}
* @param locations the resource locations declared via {@code @ContextConfiguration}
- * @param classes the configuration classes declared via {@code @ContextConfiguration}
+ * @param classes the annotated classes declared via {@code @ContextConfiguration}
* @param inheritLocations the inheritLocations
flag declared via {@code @ContextConfiguration}
* @param contextLoaderClass the {@code ContextLoader} class declared via {@code @ContextConfiguration}
* @throws IllegalArgumentException if the {@code declaringClass} or {@code contextLoaderClass} is
@@ -128,6 +128,7 @@ public ContextConfigurationAttributes(Class> declaringClass, String[] location
/**
* Get the {@link Class class} that declared the
* {@link ContextConfiguration @ContextConfiguration} annotation.
+ *
* @return the declaring class; never null
*/
public Class> getDeclaringClass() {
@@ -137,9 +138,11 @@ public Class> getDeclaringClass() {
/**
* Get the resource locations that were declared via
* {@link ContextConfiguration @ContextConfiguration}.
+ *
*
Note: this is a mutable property. The returned value may therefore
* represent a processed value that does not match the original value
* declared via {@link ContextConfiguration @ContextConfiguration}.
+ *
* @return the resource locations; potentially null
or empty
* @see ContextConfiguration#value
* @see ContextConfiguration#locations
@@ -152,6 +155,7 @@ public String[] getLocations() {
/**
* Set the processed resource locations, effectively overriding the
* original value declared via {@link ContextConfiguration @ContextConfiguration}.
+ *
* @see #getLocations()
*/
public void setLocations(String[] locations) {
@@ -159,12 +163,14 @@ public void setLocations(String[] locations) {
}
/**
- * Get the configuration classes that were declared via
+ * Get the annotated classes that were declared via
* {@link ContextConfiguration @ContextConfiguration}.
+ *
*
Note: this is a mutable property. The returned value may therefore
* represent a processed value that does not match the original value
* declared via {@link ContextConfiguration @ContextConfiguration}.
- * @return the configuration classes; potentially null
or empty
+ *
+ * @return the annotated classes; potentially null
or empty
* @see ContextConfiguration#classes
* @see #setClasses(Class[])
*/
@@ -173,8 +179,9 @@ public Class>[] getClasses() {
}
/**
- * Set the processed configuration classes, effectively overriding the
+ * Set the processed annotated classes, effectively overriding the
* original value declared via {@link ContextConfiguration @ContextConfiguration}.
+ *
* @see #getClasses()
*/
public void setClasses(Class>[] classes) {
@@ -184,6 +191,7 @@ public void setClasses(Class>[] classes) {
/**
* Determine if this {@code ContextConfigurationAttributes} instance has
* path-based resource locations.
+ *
* @return true
if the {@link #getLocations() locations} array is not empty
* @see #hasResources()
* @see #hasClasses()
@@ -195,6 +203,7 @@ public boolean hasLocations() {
/**
* Determine if this {@code ContextConfigurationAttributes} instance has
* class-based resources.
+ *
* @return true
if the {@link #getClasses() classes} array is not empty
* @see #hasResources()
* @see #hasLocations()
@@ -206,6 +215,7 @@ public boolean hasClasses() {
/**
* Determine if this {@code ContextConfigurationAttributes} instance has
* either path-based resource locations or class-based resources.
+ *
* @return true
if either the {@link #getLocations() locations}
* or the {@link #getClasses() classes} array is not empty
* @see #hasLocations()
@@ -218,6 +228,7 @@ public boolean hasResources() {
/**
* Get the inheritLocations
flag that was declared via
* {@link ContextConfiguration @ContextConfiguration}.
+ *
* @return the inheritLocations
flag
* @see ContextConfiguration#inheritLocations
*/
@@ -228,6 +239,7 @@ public boolean isInheritLocations() {
/**
* Get the ContextLoader
class that was declared via
* {@link ContextConfiguration @ContextConfiguration}.
+ *
* @return the ContextLoader
class
* @see ContextConfiguration#loader
*/
diff --git a/spring-test/src/main/java/org/springframework/test/context/ContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/ContextLoader.java
index a5d7f173f36e..12fdf6142a34 100644
--- a/spring-test/src/main/java/org/springframework/test/context/ContextLoader.java
+++ b/spring-test/src/main/java/org/springframework/test/context/ContextLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2011 the original author or authors.
+ * Copyright 2002-2012 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.
@@ -23,8 +23,8 @@
* for an integration test managed by the Spring TestContext Framework.
*
*
Note: as of Spring 3.1, implement {@link SmartContextLoader} instead - * of this interface in order to provide support for configuration classes and - * active bean definition profiles. + * of this interface in order to provide support for annotated classes and active + * bean definition profiles. * *
Clients of a ContextLoader should call * {@link #processLocations(Class,String...) processLocations()} prior to @@ -52,8 +52,10 @@ public interface ContextLoader { /** * Processes application context resource locations for a specified class. + * *
Concrete implementations may choose to modify the supplied locations,
* generate new locations, or simply return the supplied locations unchanged.
+ *
* @param clazz the class with which the locations are associated: used to
* determine how to process the supplied locations
* @param locations the unmodified locations to use for loading the
@@ -66,8 +68,10 @@ public interface ContextLoader {
* Loads a new {@link ApplicationContext context} based on the supplied
* locations
, configures the context, and finally returns
* the context in fully refreshed state.
+ *
*
Configuration locations are generally considered to be classpath * resources by default. + * *
Concrete implementations should register annotation configuration * processors with bean factories of {@link ApplicationContext application * contexts} loaded by this ContextLoader. Beans will therefore automatically @@ -75,11 +79,13 @@ public interface ContextLoader { * {@link org.springframework.beans.factory.annotation.Autowired @Autowired}, * {@link javax.annotation.Resource @Resource}, and * {@link javax.inject.Inject @Inject}. + * *
Any ApplicationContext loaded by a ContextLoader must * register a JVM shutdown hook for itself. Unless the context gets closed * early, all context instances will be automatically closed on JVM * shutdown. This allows for freeing external resources held by beans within * the context, e.g. temporary files. + * * @param locations the resource locations to use to load the application context * @return a new application context * @throws Exception if context loading failed diff --git a/spring-test/src/main/java/org/springframework/test/context/ContextLoaderUtils.java b/spring-test/src/main/java/org/springframework/test/context/ContextLoaderUtils.java index 5d3609d4b6ed..8f62aecbe5c4 100644 --- a/spring-test/src/main/java/org/springframework/test/context/ContextLoaderUtils.java +++ b/spring-test/src/main/java/org/springframework/test/context/ContextLoaderUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2011 the original author or authors. + * Copyright 2002-2012 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. @@ -35,7 +35,7 @@ /** * Utility methods for working with {@link ContextLoader ContextLoaders} and * {@link SmartContextLoader SmartContextLoaders} and resolving resource locations, - * configuration classes, and active bean definition profiles. + * annotated classes, and active bean definition profiles. * * @author Sam Brannen * @since 3.1 @@ -61,11 +61,13 @@ private ContextLoaderUtils() { * Resolve the {@link ContextLoader} {@link Class class} to use for the * supplied {@link Class testClass} and then instantiate and return that * {@code ContextLoader}. + * *
If the supplied defaultContextLoaderClassName
is
* null
or empty, the standard
* default context loader class name {@value #DEFAULT_CONTEXT_LOADER_CLASS_NAME}
* will be used. For details on the class resolution process, see
* {@link #resolveContextLoaderClass()}.
+ *
* @param testClass the test class for which the {@code ContextLoader}
* should be resolved (must not be null
)
* @param defaultContextLoaderClassName the name of the default
@@ -90,6 +92,7 @@ static ContextLoader resolveContextLoader(Class> testClass, String defaultCont
/**
* Resolve the {@link ContextLoader} {@link Class} to use for the supplied
* {@link Class testClass}.
+ *
*
defaultContextLoaderClassName
.null
* @param defaultContextLoaderClassName the name of the default
@@ -163,13 +167,15 @@ static Class extends ContextLoader> resolveContextLoaderClass(Class> testCla
/**
* Resolve the list of {@link ContextConfigurationAttributes configuration
* attributes} for the supplied {@link Class class} and its superclasses.
+ *
* Note that the {@link ContextConfiguration#inheritLocations
* inheritLocations} flag of {@link ContextConfiguration
* @ContextConfiguration} will be taken into consideration.
* Specifically, if the Note that the {@link ActiveProfiles#inheritProfiles inheritProfiles}
* flag of {@link ActiveProfiles @ActiveProfiles} will be taken into
* consideration. Specifically, if the Merged resource locations, configuration classes, and active profiles
+ *
+ * Merged resource locations, annotated classes, and active profiles
* represent all declared values in the test class hierarchy taking into
* consideration the semantics of the
* {@link ContextConfiguration#inheritLocations inheritLocations} and
@@ -98,15 +98,17 @@ private static String nullSafeToString(ContextLoader contextLoader) {
/**
* Create a new {@code MergedContextConfiguration} instance for the
- * supplied {@link Class test class}, resource locations, configuration
- * classes, active profiles, and {@link ContextLoader}.
+ * supplied test class, resource locations, annotated classes, active
+ * profiles, and {@code ContextLoader}.
+ *
* If a The {@code SmartContextLoader} SPI supersedes the {@link ContextLoader} SPI
* introduced in Spring 2.5: a {@code SmartContextLoader} can choose to process
- * either resource locations or configuration classes. Furthermore, a
+ * either resource locations or annotated classes. Furthermore, a
* {@code SmartContextLoader} can set active bean definition profiles in the
* context that it loads (see {@link MergedContextConfiguration#getActiveProfiles()}
* and {@link #loadContext(MergedContextConfiguration)}).
*
+ * See the Javadoc for
+ * {@link org.springframework.test.context.ContextConfiguration @ContextConfiguration}
+ * for a definition of annotated class.
+ *
* Clients of a {@code SmartContextLoader} should call
* {@link #processContextConfiguration(ContextConfigurationAttributes)
* processContextConfiguration()} prior to calling
diff --git a/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractJUnit4SpringContextTests.java b/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractJUnit4SpringContextTests.java
index 50967dedf795..69916d321df0 100644
--- a/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractJUnit4SpringContextTests.java
+++ b/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractJUnit4SpringContextTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2009 the original author or authors.
+ * Copyright 2002-2012 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.
@@ -60,11 +60,10 @@
* @see TestContext
* @see TestContextManager
* @see AbstractTransactionalJUnit4SpringContextTests
- * @see org.springframework.test.context.junit38.AbstractJUnit38SpringContextTests
* @see org.springframework.test.context.testng.AbstractTestNGSpringContextTests
*/
@RunWith(SpringJUnit4ClassRunner.class)
-@TestExecutionListeners( { DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class })
+@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class })
public abstract class AbstractJUnit4SpringContextTests implements ApplicationContextAware {
/**
diff --git a/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractTransactionalJUnit4SpringContextTests.java b/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractTransactionalJUnit4SpringContextTests.java
index ca545b1ad90c..541ffd241ab9 100644
--- a/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractTransactionalJUnit4SpringContextTests.java
+++ b/spring-test/src/main/java/org/springframework/test/context/junit4/AbstractTransactionalJUnit4SpringContextTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2011 the original author or authors.
+ * Copyright 2002-2012 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.
@@ -74,7 +74,6 @@
* @see org.springframework.test.context.transaction.BeforeTransaction
* @see org.springframework.test.context.transaction.AfterTransaction
* @see org.springframework.test.jdbc.SimpleJdbcTestUtils
- * @see org.springframework.test.context.junit38.AbstractTransactionalJUnit38SpringContextTests
* @see org.springframework.test.context.testng.AbstractTransactionalTestNGSpringContextTests
*/
@SuppressWarnings("deprecation")
diff --git a/spring-test/src/main/java/org/springframework/test/context/package-info.java b/spring-test/src/main/java/org/springframework/test/context/package-info.java
index c9cd821a2aee..f549babc39d7 100644
--- a/spring-test/src/main/java/org/springframework/test/context/package-info.java
+++ b/spring-test/src/main/java/org/springframework/test/context/package-info.java
@@ -1,16 +1,15 @@
/**
- * This package contains the Spring TestContext Framework
- * which provides annotation-driven unit and integration testing support
- * that is agnostic of the actual testing framework in use. The same
- * techniques and annotation-based configuration used in, for example, a
- * JUnit 3.8 environment can also be applied to tests written with JUnit
- * 4.5+, TestNG, etc. This package contains the Spring TestContext Framework which
+ * provides annotation-driven unit and integration testing support that is
+ * agnostic of the actual testing framework in use. The same techniques and
+ * annotation-based configuration used in, for example, a JUnit 4.5+ environment
+ * can also be applied to tests written with TestNG, etc.
*
- * In addition to providing generic and extensible testing
- * infrastructure, the Spring TestContext Framework provides out-of-the-box
- * support for Spring-specific integration testing functionality such as
- * context management and caching, dependency injection of test fixtures,
- * and transactional test management with default rollback semantics. In addition to providing generic and extensible testing infrastructure,
+ * the Spring TestContext Framework provides out-of-the-box support for
+ * Spring-specific integration testing functionality such as context management
+ * and caching, dependency injection of test fixtures, and transactional test
+ * management with default rollback semantics.
*/
package org.springframework.test.context;
diff --git a/spring-test/src/main/java/org/springframework/test/context/support/AbstractContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/support/AbstractContextLoader.java
index 83e50888e774..0fe803569501 100644
--- a/spring-test/src/main/java/org/springframework/test/context/support/AbstractContextLoader.java
+++ b/spring-test/src/main/java/org/springframework/test/context/support/AbstractContextLoader.java
@@ -68,8 +68,10 @@ public abstract class AbstractContextLoader implements SmartContextLoader {
* processed locations are then
* {@link ContextConfigurationAttributes#setLocations(String[]) set} in
* the supplied configuration attributes.
+ *
* Can be overridden in subclasses — for example, to process
- * configuration classes instead of resource locations.
+ * annotated classes instead of resource locations.
+ *
* @since 3.1
* @see #processLocations(Class, String...)
*/
@@ -90,6 +92,7 @@ public void processContextConfiguration(ContextConfigurationAttributes configAtt
* {@link #getResourceSuffix() resource suffix}; otherwise, the supplied
* For example, if the supplied class is As of Spring 3.1, the implementation of this method adheres to the
* contract defined in the {@link SmartContextLoader} SPI. Specifically,
* this method will preemptively verify that the generated default
* location actually exists. If it does not exist, this method will log a
* warning and return an empty array.
+ *
* Subclasses can override this method to implement a different
* default location generation strategy.
+ *
* @param clazz the class for which the default locations are to be generated
* @return an array of default application context resource locations
* @since 2.5
@@ -153,6 +160,7 @@ protected String[] generateDefaultLocations(Class> clazz) {
/**
* Generate a modified version of the supplied locations array and return it.
+ *
* A plain path — for example, "context.xml" — will
* be treated as a classpath resource that is relative to the package in which
* the specified class is defined. A path starting with a slash is treated
@@ -162,8 +170,10 @@ protected String[] generateDefaultLocations(Class> clazz) {
* {@link ResourceUtils#CLASSPATH_URL_PREFIX classpath:},
* {@link ResourceUtils#FILE_URL_PREFIX file:}, Subclasses can override this method to implement a different
* location modification strategy.
+ *
* @param clazz the class with which the locations are associated
* @param locations the resource locations to be modified
* @return an array of modified application context resource locations
@@ -191,6 +201,7 @@ else if (!ResourcePatternUtils.isUrl(path)) {
* Determine whether or not default resource locations should be
* generated if the As of Spring 3.1, the semantics of this method have been overloaded
* to include detection of either default resource locations or default
* configuration classes. Consequently, this method can also be used to
@@ -199,7 +210,9 @@ else if (!ResourcePatternUtils.isUrl(path)) {
* {@link ContextConfigurationAttributes configuration attributes} supplied
* to {@link #processContextConfiguration(ContextConfigurationAttributes)}
* are Can be overridden by subclasses to change the default behavior.
+ *
* @return always Must be implemented by subclasses.
+ *
* @return the resource suffix; should not be Concrete subclasses must provide an appropriate implementation of
@@ -62,7 +61,9 @@ public abstract class AbstractGenericContextLoader extends AbstractContextLoader
/**
* Load a Spring ApplicationContext from the supplied {@link MergedContextConfiguration}.
+ *
* Implementation details:
+ *
* Implementation details:
+ *
* Note: this method does not provide a means to set active bean definition
* profiles for the loaded context. See {@link #loadContext(MergedContextConfiguration)}
* for an alternative.
+ *
* @return a new application context
* @see org.springframework.test.context.ContextLoader#loadContext
* @see GenericApplicationContext
@@ -153,8 +159,10 @@ public final ConfigurableApplicationContext loadContext(String... locations) thr
/**
* Prepare the {@link GenericApplicationContext} created by this The default implementation is empty. Can be overridden in subclasses to
* customize The default implementation is empty but can be overridden in subclasses
* to customize The default implementation delegates to the {@link BeanDefinitionReader}
* returned by {@link #createBeanDefinitionReader(GenericApplicationContext)} to
* {@link BeanDefinitionReader#loadBeanDefinitions(String) load} the
* bean definitions.
+ *
* Subclasses must provide an appropriate implementation of
- * {@link #createBeanDefinitionReader(GenericApplicationContext)}. Alternatively subclasses may
- * provide a no-op implementation of {@code createBeanDefinitionReader()}
+ * {@link #createBeanDefinitionReader(GenericApplicationContext)}. Alternatively subclasses
+ * may provide a no-op implementation of {@code createBeanDefinitionReader()}
* and override this method to provide a custom strategy for loading or
* registering bean definitions.
+ *
* @param context the context into which the bean definitions should be loaded
* @param mergedConfig the merged context configuration
* @see #loadContext(MergedContextConfiguration)
@@ -208,6 +220,7 @@ protected void loadBeanDefinitions(GenericApplicationContext context, MergedCont
/**
* Factory method for creating a new {@link BeanDefinitionReader} for loading
* bean definitions into the supplied {@link GenericApplicationContext context}.
+ *
* @param context the context for which the The default implementation is empty but can be overridden in subclasses
* to customize the application context.
+ *
* @param context the newly created application context
* @see #loadContext(MergedContextConfiguration)
* @see #loadContext(String...)
diff --git a/spring-test/src/main/java/org/springframework/test/context/support/AnnotationConfigContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/support/AnnotationConfigContextLoader.java
index 8d92ff51a42c..39542ad34b14 100644
--- a/spring-test/src/main/java/org/springframework/test/context/support/AnnotationConfigContextLoader.java
+++ b/spring-test/src/main/java/org/springframework/test/context/support/AnnotationConfigContextLoader.java
@@ -33,11 +33,13 @@
/**
* Concrete implementation of {@link AbstractGenericContextLoader} that loads
- * bean definitions from
- * {@link org.springframework.context.annotation.Configuration configuration classes}.
- *
- * Note: See the Javadoc for
+ * {@link org.springframework.test.context.ContextConfiguration @ContextConfiguration}
+ * for a definition of annotated class.
+ *
+ * Note: If the configuration classes are If the annotated classes are Specifically, such candidates:
+ *
* The returned class array will contain all static inner classes of
* the supplied class that meet the requirements for {@code @Configuration}
* class implementations as specified in the documentation for
* {@link Configuration @Configuration}.
+ *
* The implementation of this method adheres to the contract defined in the
* {@link org.springframework.test.context.SmartContextLoader SmartContextLoader}
* SPI. Specifically, this method uses introspection to detect default
* configuration classes that comply with the constraints required of
* {@code @Configuration} class implementations. If a potential candidate
- * configuration class does meet these requirements, this method will log a
+ * configuration class does not meet these requirements, this method will log a
* warning, and the potential candidate class will be ignored.
* @param declaringClass the test class that declared {@code @ContextConfiguration}
* @return an array of default configuration classes, potentially empty but
@@ -163,6 +172,7 @@ protected Class>[] detectDefaultConfigurationClasses(Class> declaringClass)
* {@link org.springframework.test.context.SmartContextLoader SmartContextLoader},
* not as a legacy {@link org.springframework.test.context.ContextLoader ContextLoader}.
* Consequently, this method is not supported.
+ *
* @see AbstractContextLoader#modifyLocations
* @throws UnsupportedOperationException
*/
@@ -177,6 +187,7 @@ protected String[] modifyLocations(Class> clazz, String... locations) {
* {@link org.springframework.test.context.SmartContextLoader SmartContextLoader},
* not as a legacy {@link org.springframework.test.context.ContextLoader ContextLoader}.
* Consequently, this method is not supported.
+ *
* @see AbstractContextLoader#generateDefaultLocations
* @throws UnsupportedOperationException
*/
@@ -191,6 +202,7 @@ protected String[] generateDefaultLocations(Class> clazz) {
* {@link org.springframework.test.context.SmartContextLoader SmartContextLoader},
* not as a legacy {@link org.springframework.test.context.ContextLoader ContextLoader}.
* Consequently, this method is not supported.
+ *
* @see AbstractContextLoader#getResourceSuffix
* @throws UnsupportedOperationException
*/
@@ -203,26 +215,29 @@ protected String getResourceSuffix() {
// --- AbstractGenericContextLoader ----------------------------------------
/**
- * Register {@link org.springframework.context.annotation.Configuration configuration classes}
- * in the supplied {@link GenericApplicationContext context} from the classes
- * in the supplied {@link MergedContextConfiguration}.
- * Each class must represent an annotated configuration class or component. An
+ * Register classes in the supplied {@link GenericApplicationContext context}
+ * from the classes in the supplied {@link MergedContextConfiguration}.
+ *
+ * Each class must represent an annotated class. An
* {@link AnnotatedBeanDefinitionReader} is used to register the appropriate
* bean definitions.
- * Note that this method does not call {@link #createBeanDefinitionReader}
+ *
+ * Note that this method does not call {@link #createBeanDefinitionReader()}
* since inheritLocations
flag is set to
- * true
, configuration attributes defined in the annotated
+ * true
, configuration attributes defined in the test
* class will be appended to the configuration attributes defined in
* superclasses.
+ *
* @param clazz the class for which to resolve the configuration attributes (must
* not be null
)
* @return the list of configuration attributes for the specified class,
@@ -214,11 +220,13 @@ static ListinheritProfiles
flag is
- * set to true
, profiles defined in the annotated class will be
+ * set to true
, profiles defined in the test class will be
* merged with those defined in superclasses.
+ *
* @param clazz the class for which to resolve the active profiles (must
* not be null
)
* @return the set of active profiles for the specified class, including
@@ -280,6 +288,7 @@ else if (!ObjectUtils.isEmpty(valueProfiles)) {
* Build the {@link MergedContextConfiguration merged context configuration}
* for the supplied {@link Class testClass} and
* defaultContextLoaderClassName
.
+ *
* @param testClass the test class for which the {@code MergedContextConfiguration}
* should be built (must not be null
)
* @param defaultContextLoaderClassName the name of the default
diff --git a/spring-test/src/main/java/org/springframework/test/context/MergedContextConfiguration.java b/spring-test/src/main/java/org/springframework/test/context/MergedContextConfiguration.java
index 59b282a49768..274d5da8c431 100644
--- a/spring-test/src/main/java/org/springframework/test/context/MergedContextConfiguration.java
+++ b/spring-test/src/main/java/org/springframework/test/context/MergedContextConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2011 the original author or authors.
+ * Copyright 2002-2012 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.
@@ -30,8 +30,8 @@
* context configuration declared on a test class and all of its superclasses
* via {@link ContextConfiguration @ContextConfiguration} and
* {@link ActiveProfiles @ActiveProfiles}.
- *
- * null
value is supplied for locations
,
* classes
, or activeProfiles
an empty array will
* be stored instead. Furthermore, active profiles will be sorted, and duplicate
- * profiles will be removed.
+ * profiles will be removed.
+ *
* @param testClass the test class for which the configuration was merged
* @param locations the merged resource locations
- * @param classes the merged configuration classes
+ * @param classes the merged annotated classes
* @param activeProfiles the merged active bean definition profiles
* @param contextLoader the resolved ContextLoader
*/
@@ -120,40 +122,35 @@ public MergedContextConfiguration(Class> testClass, String[] locations, Class<
}
/**
- * Get the {@link Class test class} associated with this
- * {@code MergedContextConfiguration}.
+ * Get the {@link Class test class} associated with this {@code MergedContextConfiguration}.
*/
public Class> getTestClass() {
return testClass;
}
/**
- * Get the merged resource locations for the
- * {@link #getTestClass() test class}.
+ * Get the merged resource locations for the {@link #getTestClass() test class}.
*/
public String[] getLocations() {
return locations;
}
/**
- * Get the merged configuration classes for the
- * {@link #getTestClass() test class}.
+ * Get the merged annotated classes for the {@link #getTestClass() test class}.
*/
public Class>[] getClasses() {
return classes;
}
/**
- * Get the merged active bean definition profiles for the
- * {@link #getTestClass() test class}.
+ * Get the merged active bean definition profiles for the {@link #getTestClass() test class}.
*/
public String[] getActiveProfiles() {
return activeProfiles;
}
/**
- * Get the resolved {@link ContextLoader} for the
- * {@link #getTestClass() test class}.
+ * Get the resolved {@link ContextLoader} for the {@link #getTestClass() test class}.
*/
public ContextLoader getContextLoader() {
return contextLoader;
@@ -178,7 +175,7 @@ public int hashCode() {
/**
* Determine if the supplied object is equal to this {@code MergedContextConfiguration}
* instance by comparing both object's {@link #getLocations() locations},
- * {@link #getClasses() configuration classes}, {@link #getActiveProfiles()
+ * {@link #getClasses() annotated classes}, {@link #getActiveProfiles()
* active profiles}, and the fully qualified names of their
* {@link #getContextLoader() ContextLoaders}.
*/
@@ -212,7 +209,7 @@ public boolean equals(Object obj) {
/**
* Provide a String representation of the {@link #getTestClass() test class},
- * {@link #getLocations() locations}, {@link #getClasses() configuration classes},
+ * {@link #getLocations() locations}, {@link #getClasses() annotated classes},
* {@link #getActiveProfiles() active profiles}, and the name of the
* {@link #getContextLoader() ContextLoader}.
*/
diff --git a/spring-test/src/main/java/org/springframework/test/context/SmartContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/SmartContextLoader.java
index 63d52418a9dd..ba5f22bd66b1 100644
--- a/spring-test/src/main/java/org/springframework/test/context/SmartContextLoader.java
+++ b/spring-test/src/main/java/org/springframework/test/context/SmartContextLoader.java
@@ -24,11 +24,15 @@
*
* locations
will be {@link #modifyLocations modified} if
* necessary and returned.
+ *
* @param clazz the class with which the locations are associated: to be
* used when generating default locations
* @param locations the unmodified locations to use for loading the
@@ -110,18 +113,22 @@ public final String[] processLocations(Class> clazz, String... locations) {
/**
* Generate the default classpath resource locations array based on the
* supplied class.
+ *
* com.example.MyTest
,
* the generated locations will contain a single string with a value of
* "classpath:/com/example/MyTest<suffix>
",
* where <suffix>
is the value of the
* {@link #getResourceSuffix() resource suffix} string.
+ *
* http:
,
* etc.) will be added to the results unchanged.
+ *
* locations
provided to
* {@link #processLocations(Class, String...)} are null
or empty.
+ *
* null
or empty.
+ *
* true
by default
* @since 2.5
*/
@@ -208,9 +221,11 @@ protected boolean isGenerateDefaultLocations() {
}
/**
- * Get the suffix to append to {@link ApplicationContext} resource
- * locations when generating default locations.
+ * Get the suffix to append to {@link ApplicationContext} resource locations
+ * when generating default locations.
+ *
* null
or empty
* @since 2.5
* @see #generateDefaultLocations(Class)
diff --git a/spring-test/src/main/java/org/springframework/test/context/support/AbstractGenericContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/support/AbstractGenericContextLoader.java
index 6da30280093f..e1669ac176bc 100644
--- a/spring-test/src/main/java/org/springframework/test/context/support/AbstractGenericContextLoader.java
+++ b/spring-test/src/main/java/org/springframework/test/context/support/AbstractGenericContextLoader.java
@@ -40,8 +40,7 @@
* SPI, the context will be loaded from the {@link MergedContextConfiguration}
* provided to {@link #loadContext(MergedContextConfiguration)}. In such cases, a
* SmartContextLoader
will decide whether to load the context from
- * locations or
- * {@link org.springframework.context.annotation.Configuration configuration classes}.
+ * locations or annotated classes.
*
*
*
*
+ *
* @return a new application context
* @see org.springframework.test.context.SmartContextLoader#loadContext(MergedContextConfiguration)
* @see GenericApplicationContext
@@ -107,7 +109,9 @@ public final ConfigurableApplicationContext loadContext(MergedContextConfigurati
/**
* Load a Spring ApplicationContext from the supplied DefaultListableBeanFactory
.MergedContextConfiguration
.locations
.
+ *
*
*
+ *
* DefaultListableBeanFactory
.ContextLoader
.
* Called before bean definitions are read.
+ *
* GenericApplicationContext
's standard settings.
+ *
* @param context the context that should be prepared
* @see #loadContext(MergedContextConfiguration)
* @see #loadContext(String...)
@@ -169,8 +177,10 @@ protected void prepareContext(GenericApplicationContext context) {
/**
* Customize the internal bean factory of the ApplicationContext created by
* this ContextLoader
.
+ *
* DefaultListableBeanFactory
's standard settings.
+ *
* @param beanFactory the bean factory created by this ContextLoader
* @see #loadContext(MergedContextConfiguration)
* @see #loadContext(String...)
@@ -185,17 +195,19 @@ protected void customizeBeanFactory(DefaultListableBeanFactory beanFactory) {
/**
* Load bean definitions into the supplied {@link GenericApplicationContext context}
- * from the configuration locations or classes in the supplied
- * MergedContextConfiguration
.
+ * from the locations or classes in the supplied MergedContextConfiguration
.
+ *
* BeanDefinitionReader
* should be created
* @return a BeanDefinitionReader
for the supplied context
@@ -222,8 +235,10 @@ protected void loadBeanDefinitions(GenericApplicationContext context, MergedCont
* Customize the {@link GenericApplicationContext} created by this
* ContextLoader
after bean definitions have been
* loaded into the context but before the context is refreshed.
+ *
* AnnotationConfigContextLoader
supports
- * {@link org.springframework.context.annotation.Configuration configuration classes}
+ * bean definitions from annotated classes.
+ *
+ * AnnotationConfigContextLoader
supports annotated classes
* rather than the String-based resource locations defined by the legacy
* {@link org.springframework.test.context.ContextLoader ContextLoader} API. Thus,
* although AnnotationConfigContextLoader
extends
@@ -62,8 +64,9 @@ public class AnnotationConfigContextLoader extends AbstractGenericContextLoader
// --- SmartContextLoader -----------------------------------------------
/**
- * Process configuration classes in the supplied {@link ContextConfigurationAttributes}.
- * null
or empty and
+ * Process annotated classes in the supplied {@link ContextConfigurationAttributes}.
+ *
+ * null
or empty and
* {@link #isGenerateDefaultLocations()} returns true
, this
* SmartContextLoader
will attempt to {@link
* #detectDefaultConfigurationClasses detect default configuration classes}.
@@ -71,6 +74,7 @@ public class AnnotationConfigContextLoader extends AbstractGenericContextLoader
* {@link ContextConfigurationAttributes#setClasses(Class[]) set} in the
* supplied configuration attributes. Otherwise, properties in the supplied
* configuration attributes will not be modified.
+ *
* @param configAttributes the context configuration attributes to process
* @see org.springframework.test.context.SmartContextLoader#processContextConfiguration(ContextConfigurationAttributes)
* @see #isGenerateDefaultLocations()
@@ -94,7 +98,9 @@ private boolean isStaticNonPrivateAndNonFinal(Class> clazz) {
/**
* Determine if the supplied {@link Class} meets the criteria for being
* considered a default configuration class candidate.
+ *
*
*
+ *
* @param clazz the class to check
* @return null
private
static
true
if the supplied class meets the candidate criteria
*/
@@ -111,16 +118,18 @@ private boolean isDefaultConfigurationClassCandidate(Class> clazz) {
/**
* Detect the default configuration classes for the supplied test class.
+ *
* AnnotatedBeanDefinitionReader
is not an instance of
* {@link BeanDefinitionReader}.
- * @param context the context in which the configuration classes should be registered
+ *
+ * @param context the context in which the annotated classes should be registered
* @param mergedConfig the merged configuration from which the classes should be retrieved
+ *
* @see AbstractGenericContextLoader#loadBeanDefinitions
*/
@Override
protected void loadBeanDefinitions(GenericApplicationContext context, MergedContextConfiguration mergedConfig) {
- Class>[] configClasses = mergedConfig.getClasses();
+ Class>[] annotatedClasses = mergedConfig.getClasses();
if (logger.isDebugEnabled()) {
- logger.debug("Registering configuration classes: " + ObjectUtils.nullSafeToString(configClasses));
+ logger.debug("Registering annotated classes: " + ObjectUtils.nullSafeToString(annotatedClasses));
}
- new AnnotatedBeanDefinitionReader(context).register(configClasses);
+ new AnnotatedBeanDefinitionReader(context).register(annotatedClasses);
}
/**
@@ -230,6 +245,7 @@ protected void loadBeanDefinitions(GenericApplicationContext context, MergedCont
* {@link org.springframework.test.context.SmartContextLoader SmartContextLoader},
* not as a legacy {@link org.springframework.test.context.ContextLoader ContextLoader}.
* Consequently, this method is not supported.
+ *
* @see #loadBeanDefinitions
* @see AbstractGenericContextLoader#createBeanDefinitionReader
* @throws UnsupportedOperationException
diff --git a/spring-test/src/main/java/org/springframework/test/context/support/DelegatingSmartContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/support/DelegatingSmartContextLoader.java
index fcdf2a30db07..2fe19aa0a7d2 100644
--- a/spring-test/src/main/java/org/springframework/test/context/support/DelegatingSmartContextLoader.java
+++ b/spring-test/src/main/java/org/springframework/test/context/support/DelegatingSmartContextLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2011 the original author or authors.
+ * Copyright 2002-2012 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.
@@ -48,7 +48,7 @@
* {@link SmartContextLoader} is not explicitly declared via
* {@code @ContextConfiguration}, {@code DelegatingSmartContextLoader} will be used as
* the default loader, thus providing automatic support for either XML configuration
- * files or configuration classes, but not both simultaneously.
+ * files or annotated classes, but not both simultaneously.
*
* @author Sam Brannen
* @since 3.1
@@ -96,7 +96,7 @@ private static boolean supports(SmartContextLoader loader, MergedContextConfigur
* Specifically, the delegation algorithm is as follows:
*
*
- *
null
, or if the supplied configuration attributes include both
- * resource locations and configuration classes
+ * resource locations and annotated classes
* @throws IllegalStateException if {@code GenericXmlContextLoader} detects default
* configuration classes; if {@code AnnotationConfigContextLoader} detects default
* resource locations; if neither candidate loader detects defaults for the supplied
@@ -124,7 +124,7 @@ public void processContextConfiguration(final ContextConfigurationAttributes con
Assert.notNull(configAttributes, "configAttributes must not be null");
Assert.isTrue(!(configAttributes.hasLocations() && configAttributes.hasClasses()), String.format(
- "Cannot process locations AND configuration classes for context "
+ "Cannot process locations AND classes for context "
+ "configuration %s; configure one or the other, but not both.", configAttributes));
// If the original locations or classes were not empty, there's no
@@ -201,9 +201,9 @@ else if (configAttributes.hasClasses()) {
*
*
*
diff --git a/spring-test/src/main/java/org/springframework/test/context/support/DirtiesContextTestExecutionListener.java b/spring-test/src/main/java/org/springframework/test/context/support/DirtiesContextTestExecutionListener.java
index aa4cdd2aa66e..b59b88a93726 100644
--- a/spring-test/src/main/java/org/springframework/test/context/support/DirtiesContextTestExecutionListener.java
+++ b/spring-test/src/main/java/org/springframework/test/context/support/DirtiesContextTestExecutionListener.java
@@ -47,8 +47,7 @@ public class DirtiesContextTestExecutionListener extends AbstractTestExecutionLi
* {@link TestContext test context} as
* {@link TestContext#markApplicationContextDirty() dirty}, and sets the
* {@link DependencyInjectionTestExecutionListener#REINJECT_DEPENDENCIES_ATTRIBUTE
- * REINJECT_DEPENDENCIES_ATTRIBUTE} in the test context to true
- * .
+ * REINJECT_DEPENDENCIES_ATTRIBUTE} in the test context to true
.
*/
protected void dirtyContext(TestContext testContext) {
testContext.markApplicationContextDirty();
diff --git a/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTestNGSpringContextTests.java b/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTestNGSpringContextTests.java
index d2241912df6f..91192c50f0cc 100644
--- a/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTestNGSpringContextTests.java
+++ b/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTestNGSpringContextTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2009 the original author or authors.
+ * Copyright 2002-2012 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.
@@ -68,10 +68,9 @@
* @see TestContextManager
* @see TestExecutionListeners
* @see AbstractTransactionalTestNGSpringContextTests
- * @see org.springframework.test.context.junit38.AbstractJUnit38SpringContextTests
* @see org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests
*/
-@TestExecutionListeners( { DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class })
+@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class })
public abstract class AbstractTestNGSpringContextTests implements IHookable, ApplicationContextAware {
/** Logger available to subclasses */
diff --git a/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTransactionalTestNGSpringContextTests.java b/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTransactionalTestNGSpringContextTests.java
index 7e2bd68fa201..8c0736c0ea46 100644
--- a/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTransactionalTestNGSpringContextTests.java
+++ b/spring-test/src/main/java/org/springframework/test/context/testng/AbstractTransactionalTestNGSpringContextTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2011 the original author or authors.
+ * Copyright 2002-2012 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.
@@ -62,7 +62,6 @@
* @see org.springframework.test.annotation.NotTransactional
* @see org.springframework.test.annotation.Rollback
* @see org.springframework.test.jdbc.SimpleJdbcTestUtils
- * @see org.springframework.test.context.junit38.AbstractTransactionalJUnit38SpringContextTests
* @see org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests
*/
@SuppressWarnings("deprecation")