Merge branch '5.3.x'
This commit is contained in:
@@ -367,7 +367,7 @@ public final class CachedIntrospectionResults {
|
||||
|
||||
for (Method method : beanClass.getMethods()) {
|
||||
if (!this.propertyDescriptors.containsKey(method.getName()) &&
|
||||
!readMethodNames.contains((method.getName())) && isPlainAccessor(method)) {
|
||||
!readMethodNames.contains(method.getName()) && isPlainAccessor(method)) {
|
||||
this.propertyDescriptors.put(method.getName(),
|
||||
new GenericTypeAwarePropertyDescriptor(beanClass, method.getName(), method, null, null));
|
||||
readMethodNames.add(method.getName());
|
||||
@@ -376,8 +376,11 @@ public final class CachedIntrospectionResults {
|
||||
}
|
||||
|
||||
private boolean isPlainAccessor(Method method) {
|
||||
if (method.getParameterCount() > 0 || method.getReturnType() == void.class ||
|
||||
method.getDeclaringClass() == Object.class || Modifier.isStatic(method.getModifiers())) {
|
||||
if (Modifier.isStatic(method.getModifiers()) ||
|
||||
method.getDeclaringClass() == Object.class || method.getDeclaringClass() == Class.class ||
|
||||
method.getParameterCount() > 0 || method.getReturnType() == void.class ||
|
||||
ClassLoader.class.isAssignableFrom(method.getReturnType()) ||
|
||||
ProtectionDomain.class.isAssignableFrom(method.getReturnType())) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
* Copyright 2002-2022 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.
|
||||
@@ -269,7 +269,7 @@ public class ModelAttributeMethodProcessorTests {
|
||||
assertThat(this.container.getModel().get("testBean")).isSameAs(testBean);
|
||||
}
|
||||
|
||||
@Test // gh-25182
|
||||
@Test // gh-25182
|
||||
public void resolveConstructorListArgumentFromCommaSeparatedRequestParameter() throws Exception {
|
||||
MockHttpServletRequest mockRequest = new MockHttpServletRequest();
|
||||
mockRequest.addParameter("listOfStrings", "1,2");
|
||||
@@ -279,7 +279,6 @@ public class ModelAttributeMethodProcessorTests {
|
||||
given(factory.createBinder(any(), any(), eq("testBeanWithConstructorArgs")))
|
||||
.willAnswer(invocation -> {
|
||||
WebRequestDataBinder binder = new WebRequestDataBinder(invocation.getArgument(1));
|
||||
|
||||
// Add conversion service which will convert "1,2" to a list
|
||||
binder.setConversionService(new DefaultFormattingConversionService());
|
||||
return binder;
|
||||
@@ -309,7 +308,6 @@ public class ModelAttributeMethodProcessorTests {
|
||||
|
||||
private boolean validateInvoked;
|
||||
|
||||
|
||||
public StubRequestDataBinder(Object target, String objectName) {
|
||||
super(target, objectName);
|
||||
}
|
||||
@@ -345,7 +343,7 @@ public class ModelAttributeMethodProcessorTests {
|
||||
}
|
||||
|
||||
|
||||
@SessionAttributes(types=TestBean.class)
|
||||
@SessionAttributes(types = TestBean.class)
|
||||
private static class ModelAttributeHandler {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@@ -360,6 +358,7 @@ public class ModelAttributeMethodProcessorTests {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static class TestBeanWithConstructorArgs {
|
||||
|
||||
final List<String> listOfStrings;
|
||||
@@ -367,15 +366,15 @@ public class ModelAttributeMethodProcessorTests {
|
||||
public TestBeanWithConstructorArgs(List<String> listOfStrings) {
|
||||
this.listOfStrings = listOfStrings;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ModelAttribute("modelAttrName") @SuppressWarnings("unused")
|
||||
|
||||
@ModelAttribute("modelAttrName")
|
||||
@SuppressWarnings("unused")
|
||||
private String annotatedReturnValue() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private TestBean notAnnotatedReturnValue() {
|
||||
return null;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2021 the original author or authors.
|
||||
* Copyright 2002-2022 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.
|
||||
@@ -2248,6 +2248,7 @@ public class ServletAnnotationControllerHandlerMethodTests extends AbstractServl
|
||||
assertThat(response.getContentAsString()).isEqualTo("foo-body");
|
||||
}
|
||||
|
||||
|
||||
@Controller
|
||||
static class ControllerWithEmptyValueMapping {
|
||||
|
||||
@@ -3585,7 +3586,6 @@ public class ServletAnnotationControllerHandlerMethodTests extends AbstractServl
|
||||
assertThat(headers.getContentType()).as("Invalid Content-Type").isEqualTo(new MediaType("text", "html"));
|
||||
multiValueMap(headers, writer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Controller
|
||||
|
||||
Reference in New Issue
Block a user