Browse Source

Polishing

See gh-26574
See gh-26575
pull/26612/head
Juergen Hoeller 5 years ago
parent
commit
b5147a034c
  1. 3
      spring-beans/src/main/java/org/springframework/beans/propertyeditors/PathEditor.java
  2. 18
      spring-beans/src/test/java/org/springframework/beans/propertyeditors/PathEditorTests.java
  3. 4
      spring-core/src/main/java/org/springframework/core/io/ClassPathResource.java

3
spring-beans/src/main/java/org/springframework/beans/propertyeditors/PathEditor.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2021 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.
@ -98,6 +98,7 @@ public class PathEditor extends PropertyEditorSupport { @@ -98,6 +98,7 @@ public class PathEditor extends PropertyEditorSupport {
setValue(null);
}
else if (!resource.isFile() && !resource.exists() && nioPathCandidate) {
// Prefer getFile().toPath() below for non-existent file handles
setValue(Paths.get(text).normalize());
}
else {

18
spring-beans/src/test/java/org/springframework/beans/propertyeditors/PathEditorTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2019 the original author or authors.
* Copyright 2002-2021 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.
@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException @@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
public class PathEditorTests {
@Test
public void testClasspathPathName() throws Exception {
public void testClasspathPathName() {
PropertyEditor pathEditor = new PathEditor();
pathEditor.setAsText("classpath:" + ClassUtils.classPackageAsResourcePath(getClass()) + "/" +
ClassUtils.getShortName(getClass()) + ".class");
@ -46,14 +46,14 @@ public class PathEditorTests { @@ -46,14 +46,14 @@ public class PathEditorTests {
}
@Test
public void testWithNonExistentResource() throws Exception {
public void testWithNonExistentResource() {
PropertyEditor propertyEditor = new PathEditor();
assertThatIllegalArgumentException().isThrownBy(() ->
propertyEditor.setAsText("classpath:/no_way_this_file_is_found.doc"));
}
@Test
public void testWithNonExistentPath() throws Exception {
public void testWithNonExistentPath() {
PropertyEditor pathEditor = new PathEditor();
pathEditor.setAsText("file:/no_way_this_file_is_found.doc");
Object value = pathEditor.getValue();
@ -65,7 +65,7 @@ public class PathEditorTests { @@ -65,7 +65,7 @@ public class PathEditorTests {
}
@Test
public void testAbsolutePath() throws Exception {
public void testAbsolutePath() {
PropertyEditor pathEditor = new PathEditor();
pathEditor.setAsText("/no_way_this_file_is_found.doc");
Object value = pathEditor.getValue();
@ -77,7 +77,7 @@ public class PathEditorTests { @@ -77,7 +77,7 @@ public class PathEditorTests {
}
@Test
public void testWindowsAbsolutePath() throws Exception {
public void testWindowsAbsolutePath() {
PropertyEditor pathEditor = new PathEditor();
pathEditor.setAsText("C:\\no_way_this_file_is_found.doc");
Object value = pathEditor.getValue();
@ -89,7 +89,7 @@ public class PathEditorTests { @@ -89,7 +89,7 @@ public class PathEditorTests {
}
@Test
public void testWindowsAbsoluteFilePath() throws Exception {
public void testWindowsAbsoluteFilePath() {
PropertyEditor pathEditor = new PathEditor();
pathEditor.setAsText("file://C:\\no_way_this_file_is_found.doc");
Object value = pathEditor.getValue();
@ -101,7 +101,7 @@ public class PathEditorTests { @@ -101,7 +101,7 @@ public class PathEditorTests {
}
@Test
public void testUnqualifiedPathNameFound() throws Exception {
public void testUnqualifiedPathNameFound() {
PropertyEditor pathEditor = new PathEditor();
String fileName = ClassUtils.classPackageAsResourcePath(getClass()) + "/" +
ClassUtils.getShortName(getClass()) + ".class";
@ -120,7 +120,7 @@ public class PathEditorTests { @@ -120,7 +120,7 @@ public class PathEditorTests {
}
@Test
public void testUnqualifiedPathNameNotFound() throws Exception {
public void testUnqualifiedPathNameNotFound() {
PropertyEditor pathEditor = new PathEditor();
String fileName = ClassUtils.classPackageAsResourcePath(getClass()) + "/" +
ClassUtils.getShortName(getClass()) + ".clazz";

4
spring-core/src/main/java/org/springframework/core/io/ClassPathResource.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2021 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.
@ -160,6 +160,8 @@ public class ClassPathResource extends AbstractFileResolvingResource { @@ -160,6 +160,8 @@ public class ClassPathResource extends AbstractFileResolvingResource {
}
}
catch (IllegalArgumentException ex) {
// Should not happen according to the JDK's contract:
// see https://github.com/openjdk/jdk/pull/2662
return null;
}
}

Loading…
Cancel
Save