Properly set exception in FailedStorage

This commit is contained in:
Vincent Petry 2016-03-02 12:17:14 +01:00 committed by Robin Appelman
parent 6990100e6e
commit 4255dd2b39
2 changed files with 7 additions and 1 deletions

View File

@ -35,6 +35,7 @@ use OCA\Files_external\Service\UserStoragesService;
use OCA\Files_External\Service\UserGlobalStoragesService;
use OCA\Files_External\Lib\StorageConfig;
use OCA\Files_External\Lib\FailedStorage;
use OCP\Files\StorageNotAvailableException;
/**
* Make the old files_external config work with the new public mount config api
@ -134,7 +135,9 @@ class ConfigAdapter implements IMountProvider {
try {
$availability = $impl->getAvailability();
if (!$availability['available'] && !Availability::shouldRecheck($availability)) {
$impl = new FailedStorage(['exception' => null]);
$impl = new FailedStorage([
'exception' => new StorageNotAvailableException('Storage with mount id ' . $storage->getId() . ' is not available')
]);
}
} catch (\Exception $e) {
// propagate exception into filesystem

View File

@ -39,6 +39,9 @@ class FailedStorage extends Common {
*/
public function __construct($params) {
$this->e = $params['exception'];
if (!$this->e) {
throw new \InvalidArgumentException('Missing "exception" argument in FailedStorage constructor');
}
}
public function getId() {