Merge branch '5.1.x'
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2019 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.
|
||||
@@ -206,7 +206,8 @@ final class JdkDynamicAopProxy implements AopProxy, InvocationHandler, Serializa
|
||||
}
|
||||
else {
|
||||
// We need to create a method invocation...
|
||||
MethodInvocation invocation = new ReflectiveMethodInvocation(proxy, target, method, args, targetClass, chain);
|
||||
MethodInvocation invocation =
|
||||
new ReflectiveMethodInvocation(proxy, target, method, args, targetClass, chain);
|
||||
// Proceed to the joinpoint through the interceptor chain.
|
||||
retVal = invocation.proceed();
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertTrue;
|
||||
public class ResourceEditorTests {
|
||||
|
||||
@Test
|
||||
public void sunnyDay() throws Exception {
|
||||
public void sunnyDay() {
|
||||
PropertyEditor editor = new ResourceEditor();
|
||||
editor.setAsText("classpath:org/springframework/core/io/ResourceEditorTests.class");
|
||||
Resource resource = (Resource) editor.getValue();
|
||||
@@ -46,20 +46,20 @@ public class ResourceEditorTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ctorWithNullCtorArgs() throws Exception {
|
||||
public void ctorWithNullCtorArgs() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() ->
|
||||
new ResourceEditor(null, null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAndGetAsTextWithNull() throws Exception {
|
||||
public void setAndGetAsTextWithNull() {
|
||||
PropertyEditor editor = new ResourceEditor();
|
||||
editor.setAsText(null);
|
||||
assertEquals("", editor.getAsText());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAndGetAsTextWithWhitespaceResource() throws Exception {
|
||||
public void setAndGetAsTextWithWhitespaceResource() {
|
||||
PropertyEditor editor = new ResourceEditor();
|
||||
editor.setAsText(" ");
|
||||
assertEquals("", editor.getAsText());
|
||||
@@ -67,6 +67,20 @@ public class ResourceEditorTests {
|
||||
|
||||
@Test
|
||||
public void testSystemPropertyReplacement() {
|
||||
PropertyEditor editor = new ResourceEditor();
|
||||
System.setProperty("test.prop", "foo");
|
||||
try {
|
||||
editor.setAsText("${test.prop}");
|
||||
Resource resolved = (Resource) editor.getValue();
|
||||
assertEquals("foo", resolved.getFilename());
|
||||
}
|
||||
finally {
|
||||
System.getProperties().remove("test.prop");
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSystemPropertyReplacementWithUnresolvablePlaceholder() {
|
||||
PropertyEditor editor = new ResourceEditor();
|
||||
System.setProperty("test.prop", "foo");
|
||||
try {
|
||||
@@ -80,7 +94,7 @@ public class ResourceEditorTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStrictSystemPropertyReplacement() {
|
||||
public void testStrictSystemPropertyReplacementWithUnresolvablePlaceholder() {
|
||||
PropertyEditor editor = new ResourceEditor(new DefaultResourceLoader(), new StandardEnvironment(), false);
|
||||
System.setProperty("test.prop", "foo");
|
||||
try {
|
||||
|
||||
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertTrue;
|
||||
public class ResourceArrayPropertyEditorTests {
|
||||
|
||||
@Test
|
||||
public void testVanillaResource() throws Exception {
|
||||
public void testVanillaResource() {
|
||||
PropertyEditor editor = new ResourceArrayPropertyEditor();
|
||||
editor.setAsText("classpath:org/springframework/core/io/support/ResourceArrayPropertyEditor.class");
|
||||
Resource[] resources = (Resource[]) editor.getValue();
|
||||
@@ -44,7 +44,7 @@ public class ResourceArrayPropertyEditorTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPatternResource() throws Exception {
|
||||
public void testPatternResource() {
|
||||
// N.B. this will sometimes fail if you use classpath: instead of classpath*:.
|
||||
// The result depends on the classpath - if test-classes are segregated from classes
|
||||
// and they come first on the classpath (like in Maven) then it breaks, if classes
|
||||
@@ -61,9 +61,9 @@ public class ResourceArrayPropertyEditorTests {
|
||||
PropertyEditor editor = new ResourceArrayPropertyEditor();
|
||||
System.setProperty("test.prop", "foo");
|
||||
try {
|
||||
editor.setAsText("${test.prop}-${bar}");
|
||||
editor.setAsText("${test.prop}");
|
||||
Resource[] resources = (Resource[]) editor.getValue();
|
||||
assertEquals("foo-${bar}", resources[0].getFilename());
|
||||
assertEquals("foo", resources[0].getFilename());
|
||||
}
|
||||
finally {
|
||||
System.getProperties().remove("test.prop");
|
||||
@@ -71,7 +71,7 @@ public class ResourceArrayPropertyEditorTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStrictSystemPropertyReplacement() {
|
||||
public void testStrictSystemPropertyReplacementWithUnresolvablePlaceholder() {
|
||||
PropertyEditor editor = new ResourceArrayPropertyEditor(
|
||||
new PathMatchingResourcePatternResolver(), new StandardEnvironment(),
|
||||
false);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2019 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.
|
||||
@@ -59,7 +59,7 @@ public class DeferredResult<T> {
|
||||
|
||||
|
||||
@Nullable
|
||||
private final Long timeout;
|
||||
private final Long timeoutValue;
|
||||
|
||||
private final Supplier<?> timeoutResult;
|
||||
|
||||
@@ -88,35 +88,36 @@ public class DeferredResult<T> {
|
||||
* <p>By default not set in which case the default configured in the MVC
|
||||
* Java Config or the MVC namespace is used, or if that's not set, then the
|
||||
* timeout depends on the default of the underlying server.
|
||||
* @param timeout timeout value in milliseconds
|
||||
* @param timeoutValue timeout value in milliseconds
|
||||
*/
|
||||
public DeferredResult(Long timeout) {
|
||||
this(timeout, () -> RESULT_NONE);
|
||||
public DeferredResult(Long timeoutValue) {
|
||||
this(timeoutValue, () -> RESULT_NONE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a DeferredResult with a timeout value and a default result to use
|
||||
* in case of timeout.
|
||||
* @param timeout timeout value in milliseconds (ignored if {@code null})
|
||||
* @param timeoutValue timeout value in milliseconds (ignored if {@code null})
|
||||
* @param timeoutResult the result to use
|
||||
*/
|
||||
public DeferredResult(@Nullable Long timeout, final Object timeoutResult) {
|
||||
public DeferredResult(@Nullable Long timeoutValue, final Object timeoutResult) {
|
||||
this.timeoutResult = () -> timeoutResult;
|
||||
this.timeout = timeout;
|
||||
this.timeoutValue = timeoutValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Variant of {@link #DeferredResult(Long, Object)} that accepts a dynamic
|
||||
* fallback value based on a {@link Supplier}.
|
||||
* @param timeout timeout value in milliseconds (ignored if {@code null})
|
||||
* @param timeoutValue timeout value in milliseconds (ignored if {@code null})
|
||||
* @param timeoutResult the result supplier to use
|
||||
* @since 5.1.1
|
||||
*/
|
||||
public DeferredResult(@Nullable Long timeout, Supplier<?> timeoutResult) {
|
||||
public DeferredResult(@Nullable Long timeoutValue, Supplier<?> timeoutResult) {
|
||||
this.timeoutResult = timeoutResult;
|
||||
this.timeout = timeout;
|
||||
this.timeoutValue = timeoutValue;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return {@code true} if this DeferredResult is no longer usable either
|
||||
* because it was previously set or because the underlying request expired.
|
||||
@@ -154,7 +155,7 @@ public class DeferredResult<T> {
|
||||
*/
|
||||
@Nullable
|
||||
final Long getTimeoutValue() {
|
||||
return this.timeout;
|
||||
return this.timeoutValue;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2019 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.
|
||||
|
||||
Reference in New Issue
Block a user