From efc568b4824fb737e9eefe04d4de883cc72ff768 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Wed, 18 Jan 2017 11:17:07 -0800 Subject: [PATCH] Propagate error on non-existent container or key --- .../internal/FilesystemStorageStrategyImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java b/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java index 7e65dcd823..6958fc3ada 100644 --- a/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java +++ b/apis/filesystem/src/main/java/org/jclouds/filesystem/strategy/internal/FilesystemStorageStrategyImpl.java @@ -52,6 +52,8 @@ import javax.inject.Inject; import javax.inject.Named; import javax.inject.Provider; +import org.jclouds.blobstore.ContainerNotFoundException; +import org.jclouds.blobstore.KeyNotFoundException; import org.jclouds.blobstore.LocalStorageStrategy; import org.jclouds.blobstore.domain.Blob; import org.jclouds.blobstore.domain.BlobAccess; @@ -552,7 +554,14 @@ public class FilesystemStorageStrategyImpl implements LocalStorageStrategy { @Override public BlobAccess getBlobAccess(String containerName, String blobName) { - Path path = new File(buildPathStartingFromBaseDir(containerName, blobName)).toPath(); + if (new File(buildPathStartingFromBaseDir(containerName)).exists()) { + throw new ContainerNotFoundException(containerName, "in getBlobAccess"); + } + File file = new File(buildPathStartingFromBaseDir(containerName, blobName)); + if (!file.exists()) { + throw new KeyNotFoundException(containerName, blobName, "in getBlobAccess"); + } + Path path = file.toPath(); if ( isWindows() ) { try {