Browse Source

Polishing

pull/621/head
Juergen Hoeller 10 years ago
parent
commit
53192bb6f4
  1. 138
      spring-test/src/main/java/org/springframework/test/context/ContextConfigurationAttributes.java

138
spring-test/src/main/java/org/springframework/test/context/ContextConfigurationAttributes.java

@ -51,14 +51,14 @@ public class ContextConfigurationAttributes { @@ -51,14 +51,14 @@ public class ContextConfigurationAttributes {
private final boolean inheritLocations;
private final Class<? extends ContextLoader> contextLoaderClass;
private final Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>[] initializers;
private final boolean inheritInitializers;
private final String name;
private final Class<? extends ContextLoader> contextLoaderClass;
/**
* Construct a new {@link ContextConfigurationAttributes} instance for the
@ -69,8 +69,8 @@ public class ContextConfigurationAttributes { @@ -69,8 +69,8 @@ public class ContextConfigurationAttributes {
*/
public ContextConfigurationAttributes(Class<?> declaringClass, ContextConfiguration contextConfiguration) {
this(declaringClass, resolveLocations(declaringClass, contextConfiguration), contextConfiguration.classes(),
contextConfiguration.inheritLocations(), contextConfiguration.initializers(),
contextConfiguration.inheritInitializers(), contextConfiguration.name(), contextConfiguration.loader());
contextConfiguration.inheritLocations(), contextConfiguration.initializers(),
contextConfiguration.inheritInitializers(), contextConfiguration.name(), contextConfiguration.loader());
}
/**
@ -84,11 +84,11 @@ public class ContextConfigurationAttributes { @@ -84,11 +84,11 @@ public class ContextConfigurationAttributes {
@SuppressWarnings("unchecked")
public ContextConfigurationAttributes(Class<?> declaringClass, AnnotationAttributes annAttrs) {
this(declaringClass,
resolveLocations(declaringClass, annAttrs.getStringArray("locations"), annAttrs.getStringArray("value")),
annAttrs.getClassArray("classes"), annAttrs.getBoolean("inheritLocations"),
(Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>[]) annAttrs.getClassArray("initializers"),
annAttrs.getBoolean("inheritInitializers"), annAttrs.getString("name"),
(Class<? extends ContextLoader>) annAttrs.getClass("loader"));
resolveLocations(declaringClass, annAttrs.getStringArray("locations"), annAttrs.getStringArray("value")),
annAttrs.getClassArray("classes"), annAttrs.getBoolean("inheritLocations"),
(Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>[]) annAttrs.getClassArray("initializers"),
annAttrs.getBoolean("inheritInitializers"), annAttrs.getString("name"),
(Class<? extends ContextLoader>) annAttrs.getClass("loader"));
}
/**
@ -119,7 +119,6 @@ public class ContextConfigurationAttributes { @@ -119,7 +119,6 @@ public class ContextConfigurationAttributes {
* {@linkplain Class test class} that declared the
* {@link ContextConfiguration @ContextConfiguration} annotation and its
* corresponding attributes.
*
* @param declaringClass the test class that declared {@code @ContextConfiguration}
* @param locations the resource locations declared via {@code @ContextConfiguration}
* @param classes the annotated classes declared via {@code @ContextConfiguration}
@ -134,8 +133,9 @@ public class ContextConfigurationAttributes { @@ -134,8 +133,9 @@ public class ContextConfigurationAttributes {
Class<?> declaringClass, String[] locations, Class<?>[] classes, boolean inheritLocations,
Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>[] initializers,
boolean inheritInitializers, Class<? extends ContextLoader> contextLoaderClass) {
this(declaringClass, locations, classes, inheritLocations, initializers, inheritInitializers, null,
contextLoaderClass);
contextLoaderClass);
}
/**
@ -164,11 +164,11 @@ public class ContextConfigurationAttributes { @@ -164,11 +164,11 @@ public class ContextConfigurationAttributes {
if (!ObjectUtils.isEmpty(locations) && !ObjectUtils.isEmpty(classes) && logger.isDebugEnabled()) {
logger.debug(String.format(
"Test class [%s] has been configured with @ContextConfiguration's 'locations' (or 'value') %s "
+ "and 'classes' %s attributes. Most SmartContextLoader implementations support "
+ "only one declaration of resources per @ContextConfiguration annotation.",
declaringClass.getName(), ObjectUtils.nullSafeToString(locations),
ObjectUtils.nullSafeToString(classes)));
"Test class [%s] has been configured with @ContextConfiguration's 'locations' (or 'value') %s " +
"and 'classes' %s attributes. Most SmartContextLoader implementations support " +
"only one declaration of resources per @ContextConfiguration annotation.",
declaringClass.getName(), ObjectUtils.nullSafeToString(locations),
ObjectUtils.nullSafeToString(classes)));
}
this.declaringClass = declaringClass;
@ -177,7 +177,7 @@ public class ContextConfigurationAttributes { @@ -177,7 +177,7 @@ public class ContextConfigurationAttributes {
this.inheritLocations = inheritLocations;
this.initializers = initializers;
this.inheritInitializers = inheritInitializers;
this.name = StringUtils.hasText(name) ? name : null;
this.name = (StringUtils.hasText(name) ? name : null);
this.contextLoaderClass = contextLoaderClass;
}
@ -245,6 +245,17 @@ public class ContextConfigurationAttributes { @@ -245,6 +245,17 @@ public class ContextConfigurationAttributes {
return this.classes;
}
/**
* Determine if this {@code ContextConfigurationAttributes} instance has
* class-based resources.
* @return {@code true} if the {@link #getClasses() classes} array is not empty
* @see #hasResources()
* @see #hasLocations()
*/
public boolean hasClasses() {
return !ObjectUtils.isEmpty(getClasses());
}
/**
* Set the <em>processed</em> resource locations, effectively overriding the
* original value declared via {@link ContextConfiguration @ContextConfiguration}.
@ -280,17 +291,6 @@ public class ContextConfigurationAttributes { @@ -280,17 +291,6 @@ public class ContextConfigurationAttributes {
return !ObjectUtils.isEmpty(getLocations());
}
/**
* Determine if this {@code ContextConfigurationAttributes} instance has
* class-based resources.
* @return {@code true} if the {@link #getClasses() classes} array is not empty
* @see #hasResources()
* @see #hasLocations()
*/
public boolean hasClasses() {
return !ObjectUtils.isEmpty(getClasses());
}
/**
* Determine if this {@code ContextConfigurationAttributes} instance has
* either path-based resource locations or class-based resources.
@ -300,7 +300,7 @@ public class ContextConfigurationAttributes { @@ -300,7 +300,7 @@ public class ContextConfigurationAttributes {
* @see #hasClasses()
*/
public boolean hasResources() {
return hasLocations() || hasClasses();
return (hasLocations() || hasClasses());
}
/**
@ -310,7 +310,7 @@ public class ContextConfigurationAttributes { @@ -310,7 +310,7 @@ public class ContextConfigurationAttributes {
* @see ContextConfiguration#inheritLocations
*/
public boolean isInheritLocations() {
return inheritLocations;
return this.inheritLocations;
}
/**
@ -320,7 +320,7 @@ public class ContextConfigurationAttributes { @@ -320,7 +320,7 @@ public class ContextConfigurationAttributes {
* @since 3.2
*/
public Class<? extends ApplicationContextInitializer<? extends ConfigurableApplicationContext>>[] getInitializers() {
return initializers;
return this.initializers;
}
/**
@ -330,17 +330,7 @@ public class ContextConfigurationAttributes { @@ -330,17 +330,7 @@ public class ContextConfigurationAttributes {
* @since 3.2
*/
public boolean isInheritInitializers() {
return inheritInitializers;
}
/**
* Get the {@code ContextLoader} class that was declared via
* {@link ContextConfiguration @ContextConfiguration}.
* @return the {@code ContextLoader} class
* @see ContextConfiguration#loader
*/
public Class<? extends ContextLoader> getContextLoaderClass() {
return contextLoaderClass;
return this.inheritInitializers;
}
/**
@ -354,6 +344,16 @@ public class ContextConfigurationAttributes { @@ -354,6 +344,16 @@ public class ContextConfigurationAttributes {
return this.name;
}
/**
* Get the {@code ContextLoader} class that was declared via
* {@link ContextConfiguration @ContextConfiguration}.
* @return the {@code ContextLoader} class
* @see ContextConfiguration#loader
*/
public Class<? extends ContextLoader> getContextLoaderClass() {
return this.contextLoaderClass;
}
/**
* Determine if the supplied object is equal to this
@ -367,47 +367,22 @@ public class ContextConfigurationAttributes { @@ -367,47 +367,22 @@ public class ContextConfigurationAttributes {
* {@link #getContextLoaderClass() ContextLoader class}.
*/
@Override
public boolean equals(Object obj) {
if (this == obj) {
public boolean equals(Object other) {
if (this == other) {
return true;
}
if (!(obj instanceof ContextConfigurationAttributes)) {
return false;
}
ContextConfigurationAttributes that = (ContextConfigurationAttributes) obj;
if (this.declaringClass == null) {
if (that.declaringClass != null) {
return false;
}
}
else if (!this.declaringClass.equals(that.declaringClass)) {
if (!(other instanceof ContextConfigurationAttributes)) {
return false;
}
if (!Arrays.equals(this.locations, that.locations)) {
return false;
}
if (!Arrays.equals(this.classes, that.classes)) {
return false;
}
if (this.inheritLocations != that.inheritLocations) {
return false;
}
if (!Arrays.equals(this.initializers, that.initializers)) {
return false;
}
if (this.inheritInitializers != that.inheritInitializers) {
return false;
}
if (this.contextLoaderClass == null) {
if (that.contextLoaderClass != null) {
return false;
}
}
else if (!this.contextLoaderClass.equals(that.contextLoaderClass)) {
return false;
}
return true;
ContextConfigurationAttributes otherAttr = (ContextConfigurationAttributes) other;
return (ObjectUtils.nullSafeEquals(this.declaringClass, otherAttr.declaringClass) &&
Arrays.equals(this.classes, otherAttr.classes)) &&
Arrays.equals(this.locations, otherAttr.locations) &&
this.inheritLocations == otherAttr.inheritLocations &&
Arrays.equals(this.initializers, otherAttr.initializers) &&
this.inheritInitializers == otherAttr.inheritInitializers &&
ObjectUtils.nullSafeEquals(this.name, otherAttr.name) &&
ObjectUtils.nullSafeEquals(this.contextLoaderClass, otherAttr.contextLoaderClass);
}
/**
@ -418,10 +393,9 @@ public class ContextConfigurationAttributes { @@ -418,10 +393,9 @@ public class ContextConfigurationAttributes {
@Override
public int hashCode() {
int result = this.declaringClass.hashCode();
result = 31 * result + Arrays.hashCode(this.locations);
result = 31 * result + Arrays.hashCode(this.classes);
result = 31 * result + Arrays.hashCode(this.locations);
result = 31 * result + Arrays.hashCode(this.initializers);
result = 31 * result + this.contextLoaderClass.hashCode();
return result;
}
@ -433,8 +407,8 @@ public class ContextConfigurationAttributes { @@ -433,8 +407,8 @@ public class ContextConfigurationAttributes {
public String toString() {
return new ToStringCreator(this)
.append("declaringClass", this.declaringClass.getName())
.append("locations", ObjectUtils.nullSafeToString(this.locations))
.append("classes", ObjectUtils.nullSafeToString(this.classes))
.append("locations", ObjectUtils.nullSafeToString(this.locations))
.append("inheritLocations", this.inheritLocations)
.append("initializers", ObjectUtils.nullSafeToString(this.initializers))
.append("inheritInitializers", this.inheritInitializers)

Loading…
Cancel
Save