diff --git a/org.springframework.beans/src/main/java/org/springframework/beans/GenericTypeAwarePropertyDescriptor.java b/org.springframework.beans/src/main/java/org/springframework/beans/GenericTypeAwarePropertyDescriptor.java
index f0c42bcf7b7..b1d21cfa63b 100644
--- a/org.springframework.beans/src/main/java/org/springframework/beans/GenericTypeAwarePropertyDescriptor.java
+++ b/org.springframework.beans/src/main/java/org/springframework/beans/GenericTypeAwarePropertyDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2008 the original author or authors.
+ * Copyright 2002-2009 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,7 @@ class GenericTypeAwarePropertyDescriptor extends PropertyDescriptor {
// method due to lack of bridge method resolution, in case of the getter using a
// covariant return type whereas the setter is defined for the concrete property type.
writeMethodToUse = ClassUtils.getMethodIfAvailable(this.beanClass,
- "set" + StringUtils.capitalize(getName()), new Class[] {readMethodToUse.getReturnType()});
+ "set" + StringUtils.capitalize(getName()), readMethodToUse.getReturnType());
}
this.readMethod = readMethodToUse;
this.writeMethod = writeMethodToUse;
diff --git a/org.springframework.context/src/main/java/org/springframework/jmx/export/MBeanExporter.java b/org.springframework.context/src/main/java/org/springframework/jmx/export/MBeanExporter.java
index 7f8cd2e814d..06406b61919 100644
--- a/org.springframework.context/src/main/java/org/springframework/jmx/export/MBeanExporter.java
+++ b/org.springframework.context/src/main/java/org/springframework/jmx/export/MBeanExporter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2008 the original author or authors.
+ * Copyright 2002-2009 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.
@@ -305,9 +305,10 @@ public class MBeanExporter extends MBeanRegistrationSupport
/**
* Indicates whether Spring should ensure that {@link ObjectName ObjectNames}
* generated by the configured {@link ObjectNamingStrategy} for
- * runtime-registered MBeans should be modified to ensure uniqueness
- * for every instance of a managed Class.
+ * runtime-registered MBeans ({@link #registerManagedResource}) should get
+ * modified: to ensure uniqueness for every instance of a managed Class.
*
The default value is true.
+ * @see #registerManagedResource
* @see JmxUtils#appendIdentityToObjectName(javax.management.ObjectName, Object)
*/
public void setEnsureUniqueRuntimeObjectNames(boolean ensureUniqueRuntimeObjectNames) {
diff --git a/org.springframework.context/src/main/resources/org/springframework/ejb/config/spring-jee-2.5.xsd b/org.springframework.context/src/main/resources/org/springframework/ejb/config/spring-jee-2.5.xsd
index 09acaf39afe..6b491cc753f 100644
--- a/org.springframework.context/src/main/resources/org/springframework/ejb/config/spring-jee-2.5.xsd
+++ b/org.springframework.context/src/main/resources/org/springframework/ejb/config/spring-jee-2.5.xsd
@@ -13,8 +13,8 @@
@@ -178,7 +178,7 @@
@@ -186,7 +186,7 @@
@@ -195,7 +195,13 @@
diff --git a/org.springframework.expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyResolver.java b/org.springframework.expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyResolver.java
index b5f9d5c5081..7305e57c060 100644
--- a/org.springframework.expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyResolver.java
+++ b/org.springframework.expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyResolver.java
@@ -28,6 +28,7 @@ import org.springframework.expression.AccessException;
import org.springframework.expression.EvaluationContext;
import org.springframework.expression.PropertyAccessor;
import org.springframework.util.ReflectionUtils;
+import org.springframework.util.StringUtils;
/**
* Simple PropertyResolver that uses reflection to access properties for reading and writing. A property can be accessed
@@ -225,21 +226,17 @@ public class ReflectivePropertyResolver implements PropertyAccessor {
protected Method findGetterForProperty(String propertyName, Class> clazz, boolean mustBeStatic) {
Method[] ms = clazz.getMethods();
// Try "get*" method...
- StringBuilder sb = new StringBuilder(propertyName.length() + 3);
- sb.append("get").append(propertyName.substring(0, 1).toUpperCase()).append(propertyName.substring(1));
- String expectedGetterName = sb.toString();
+ String getterName = "get" + StringUtils.capitalize(propertyName);
for (Method method : ms) {
- if (method.getName().equals(expectedGetterName) && method.getParameterTypes().length == 0 &&
+ if (method.getName().equals(getterName) && method.getParameterTypes().length == 0 &&
(!mustBeStatic || Modifier.isStatic(method.getModifiers()))) {
return method;
}
}
// Try "is*" method...
- sb = new StringBuilder(propertyName.length() + 2);
- sb.append("is").append(propertyName.substring(0, 1).toUpperCase()).append(propertyName.substring(1));
- expectedGetterName = sb.toString();
+ getterName = "is" + StringUtils.capitalize(propertyName);
for (Method method : ms) {
- if (method.getName().equals(expectedGetterName) && method.getParameterTypes().length == 0 &&
+ if (method.getName().equals(getterName) && method.getParameterTypes().length == 0 &&
boolean.class.equals(method.getReturnType()) &&
(!mustBeStatic || Modifier.isStatic(method.getModifiers()))) {
return method;
@@ -252,14 +249,11 @@ public class ReflectivePropertyResolver implements PropertyAccessor {
* Find a setter method for the specified property.
*/
protected Method findSetterForProperty(String propertyName, Class> clazz, boolean mustBeStatic) {
- Method[] ms = clazz.getMethods();
- StringBuilder sb = new StringBuilder(propertyName.length() + 3);
- sb.append("set").append(propertyName.substring(0, 1).toUpperCase()).append(propertyName.substring(1));
- String setterName = sb.toString();
- for (Method method : ms) {
- if (method.getParameterTypes().length == 1 &&
- (!mustBeStatic || Modifier.isStatic(method.getModifiers())) &&
- method.getName().equals(setterName)) {
+ Method[] methods = clazz.getMethods();
+ String setterName = "set" + StringUtils.capitalize(propertyName);
+ for (Method method : methods) {
+ if (method.getName().equals(setterName) && method.getParameterTypes().length == 1 &&
+ (!mustBeStatic || Modifier.isStatic(method.getModifiers()))) {
return method;
}
}
@@ -270,7 +264,7 @@ public class ReflectivePropertyResolver implements PropertyAccessor {
* Find a field of a certain name on a specified class
*/
protected Field findField(String name, Class> clazz, boolean mustBeStatic) {
- Field[] fields = clazz.getFields(); // TODO use getDeclaredFields() and search up hierarchy?
+ Field[] fields = clazz.getFields();
for (Field field : fields) {
if (field.getName().equals(name) && (!mustBeStatic || Modifier.isStatic(field.getModifiers()))) {
return field;
diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/InternalResourceViewResolver.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/InternalResourceViewResolver.java
index 656624e8c32..d5585076511 100644
--- a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/InternalResourceViewResolver.java
+++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/view/InternalResourceViewResolver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2008 the original author or authors.
+ * Copyright 2002-2009 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.
@@ -99,7 +99,7 @@ public class InternalResourceViewResolver extends UrlBasedViewResolver {
* @see InternalResourceView#setExposeContextBeansAsAttributes
*/
public void setExposeContextBeansAsAttributes(boolean exposeContextBeansAsAttributes) {
- this.exposeContextBeansAsAttributes = Boolean.valueOf(exposeContextBeansAsAttributes);
+ this.exposeContextBeansAsAttributes = exposeContextBeansAsAttributes;
}
/**
@@ -117,10 +117,10 @@ public class InternalResourceViewResolver extends UrlBasedViewResolver {
protected AbstractUrlBasedView buildView(String viewName) throws Exception {
InternalResourceView view = (InternalResourceView) super.buildView(viewName);
if (this.alwaysInclude != null) {
- view.setAlwaysInclude(this.alwaysInclude.booleanValue());
+ view.setAlwaysInclude(this.alwaysInclude);
}
if (this.exposeContextBeansAsAttributes != null) {
- view.setExposeContextBeansAsAttributes(this.exposeContextBeansAsAttributes.booleanValue());
+ view.setExposeContextBeansAsAttributes(this.exposeContextBeansAsAttributes);
}
if (this.exposedContextBeanNames != null) {
view.setExposedContextBeanNames(this.exposedContextBeanNames);