Merge branch '6.0.x'

This commit is contained in:
Juergen Hoeller
2023-06-29 18:04:40 +02:00
3 changed files with 27 additions and 12 deletions

View File

@@ -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);
}
}
}

View File

@@ -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"));