Polishing
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2015 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.
|
||||
@@ -667,27 +667,27 @@ public class InjectAnnotationAutowireContextTests {
|
||||
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Qualifier
|
||||
public static @interface TestQualifier {
|
||||
public @interface TestQualifier {
|
||||
}
|
||||
|
||||
|
||||
@Target(ElementType.FIELD)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Qualifier
|
||||
public static @interface TestQualifierWithDefaultValue {
|
||||
public @interface TestQualifierWithDefaultValue {
|
||||
|
||||
public abstract String value() default "default";
|
||||
String value() default "default";
|
||||
}
|
||||
|
||||
|
||||
@Target(ElementType.FIELD)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Qualifier
|
||||
public static @interface TestQualifierWithMultipleAttributes {
|
||||
public @interface TestQualifierWithMultipleAttributes {
|
||||
|
||||
public abstract String value() default "default";
|
||||
String value() default "default";
|
||||
|
||||
public abstract int number();
|
||||
int number();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -92,7 +92,8 @@ public abstract class ReflectionUtils {
|
||||
while (!Object.class.equals(searchType) && searchType != null) {
|
||||
Field[] fields = getDeclaredFields(searchType);
|
||||
for (Field field : fields) {
|
||||
if ((name == null || name.equals(field.getName())) && (type == null || type.equals(field.getType()))) {
|
||||
if ((name == null || name.equals(field.getName())) &&
|
||||
(type == null || type.equals(field.getType()))) {
|
||||
return field;
|
||||
}
|
||||
}
|
||||
@@ -418,8 +419,7 @@ public abstract class ReflectionUtils {
|
||||
i--;
|
||||
}
|
||||
return ((i > CGLIB_RENAMED_METHOD_PREFIX.length()) &&
|
||||
(i < name.length() - 1) &&
|
||||
(name.charAt(i) == '$'));
|
||||
(i < name.length() - 1) && name.charAt(i) == '$');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -433,7 +433,8 @@ public abstract class ReflectionUtils {
|
||||
* @see java.lang.reflect.Field#setAccessible
|
||||
*/
|
||||
public static void makeAccessible(Field field) {
|
||||
if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) ||
|
||||
if ((!Modifier.isPublic(field.getModifiers()) ||
|
||||
!Modifier.isPublic(field.getDeclaringClass().getModifiers()) ||
|
||||
Modifier.isFinal(field.getModifiers())) && !field.isAccessible()) {
|
||||
field.setAccessible(true);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2015 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.
|
||||
@@ -147,6 +147,28 @@ public class WebRequestDataBinderTests {
|
||||
assertFalse(target.isPostProcessed());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFieldDefaultWithNestedProperty() throws Exception {
|
||||
TestBean target = new TestBean();
|
||||
target.setSpouse(new TestBean());
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(target);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("!spouse.postProcessed", "on");
|
||||
request.addParameter("_spouse.postProcessed", "visible");
|
||||
request.addParameter("spouse.postProcessed", "on");
|
||||
binder.bind(new ServletWebRequest(request));
|
||||
assertTrue(((TestBean) target.getSpouse()).isPostProcessed());
|
||||
|
||||
request.removeParameter("spouse.postProcessed");
|
||||
binder.bind(new ServletWebRequest(request));
|
||||
assertTrue(((TestBean) target.getSpouse()).isPostProcessed());
|
||||
|
||||
request.removeParameter("!spouse.postProcessed");
|
||||
binder.bind(new ServletWebRequest(request));
|
||||
assertFalse(((TestBean) target.getSpouse()).isPostProcessed());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFieldDefaultNonBoolean() throws Exception {
|
||||
TestBean target = new TestBean();
|
||||
|
||||
Reference in New Issue
Block a user