Merge branch '6.0.x'
This commit is contained in:
@@ -220,6 +220,16 @@ public abstract class AbstractResource implements Resource {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lazily access the logger for debug logging in case of an exception.
|
||||
*/
|
||||
private void debug(Supplier<String> message, Throwable ex) {
|
||||
Log logger = LogFactory.getLog(getClass());
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug(message.get(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This implementation compares description strings.
|
||||
@@ -249,11 +259,4 @@ public abstract class AbstractResource implements Resource {
|
||||
return getDescription();
|
||||
}
|
||||
|
||||
private void debug(Supplier<String> message, Throwable ex) {
|
||||
Log logger = LogFactory.getLog(getClass());
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug(message.get(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -70,19 +70,19 @@ class PathResourceTests {
|
||||
@Test
|
||||
void nullPath() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new PathResource((Path) null))
|
||||
.withMessageContaining("Path must not be null");
|
||||
.withMessageContaining("Path must not be null");
|
||||
}
|
||||
|
||||
@Test
|
||||
void nullPathString() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new PathResource((String) null))
|
||||
.withMessageContaining("Path must not be null");
|
||||
.withMessageContaining("Path must not be null");
|
||||
}
|
||||
|
||||
@Test
|
||||
void nullUri() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new PathResource((URI) null))
|
||||
.withMessageContaining("URI must not be null");
|
||||
.withMessageContaining("URI must not be null");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -258,6 +258,17 @@ class PathResourceTests {
|
||||
assertThat(resource.isWritable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void equalsAndHashCode() {
|
||||
Resource mr1 = new PathResource(TEST_FILE);
|
||||
Resource mr2 = new PathResource(TEST_FILE);
|
||||
Resource mr3 = new PathResource(TEST_DIR);
|
||||
assertThat(mr1).isEqualTo(mr2);
|
||||
assertThat(mr1).isNotEqualTo(mr3);
|
||||
assertThat(mr1).hasSameHashCodeAs(mr2);
|
||||
assertThat(mr1).doesNotHaveSameHashCodeAs(mr3);
|
||||
}
|
||||
|
||||
@Test
|
||||
void outputStream(@TempDir Path temporaryFolder) throws IOException {
|
||||
PathResource resource = new PathResource(temporaryFolder.resolve("test"));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
* Copyright 2002-2023 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.
|
||||
@@ -57,7 +57,7 @@ public class ServletContextResource extends AbstractFileResolvingResource implem
|
||||
|
||||
|
||||
/**
|
||||
* Create a new ServletContextResource.
|
||||
* Create a new {@code ServletContextResource} for the given path.
|
||||
* <p>The Servlet spec requires that resource paths start with a slash,
|
||||
* even if many containers accept paths without leading slash too.
|
||||
* Consequently, the given path will be prepended with a slash if it
|
||||
@@ -94,6 +94,7 @@ public class ServletContextResource extends AbstractFileResolvingResource implem
|
||||
return this.path;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This implementation checks {@code ServletContext.getResource}.
|
||||
* @see jakarta.servlet.ServletContext#getResource(String)
|
||||
|
||||
Reference in New Issue
Block a user