Throw FileNotFoundException on inherited methods throwing IOException if resource is absent. Retain filename for absent resources to provide context through GridFsResource.getFilename(). Switch exists() to determine presence/absence based on GridFSFile presence. Extend tests.
Original pull request: #555.
@ -74,18 +77,35 @@ public class GridFsResource extends InputStreamResource {
@@ -74,18 +77,35 @@ public class GridFsResource extends InputStreamResource {
@ -105,9 +125,16 @@ public class GridFsResource extends InputStreamResource {
@@ -105,9 +125,16 @@ public class GridFsResource extends InputStreamResource {
@ -121,14 +148,25 @@ public class GridFsResource extends InputStreamResource {
@@ -121,14 +148,25 @@ public class GridFsResource extends InputStreamResource {
Assert.state(exists(),()->String.format("%s does not exist.",getDescription()));
returnfile.getId();
}
@ -138,11 +176,12 @@ public class GridFsResource extends InputStreamResource {
@@ -138,11 +176,12 @@ public class GridFsResource extends InputStreamResource {
Assert.state(exists(),()->String.format("%s does not exist.",getDescription()));
returnOptionals
.firstNonEmpty(
@ -151,10 +190,10 @@ public class GridFsResource extends InputStreamResource {
@@ -151,10 +190,10 @@ public class GridFsResource extends InputStreamResource {
.orElseThrow(()->newMongoGridFSException("No contentType data for this GridFS file"));
@ -229,7 +229,7 @@ public class GridFsTemplate implements GridFsOperations, ResourcePatternResolver
@@ -229,7 +229,7 @@ public class GridFsTemplate implements GridFsOperations, ResourcePatternResolver