Add different storage status codes managed by StoragedNotAvailableException

This commit is contained in:
Jesús Macias 2015-11-25 11:58:54 +01:00 committed by Morris Jobke
parent c6bda8d6ca
commit b17f26834d
2 changed files with 42 additions and 4 deletions

View File

@ -242,10 +242,44 @@ abstract class StoragesController extends Controller {
$this->l10n->t('Insufficient data: %s', [$e->getMessage()])
);
} catch (StorageNotAvailableException $e) {
$storage->setStatus(
\OC_Mount_Config::STATUS_ERROR,
$e->getMessage()
);
switch ($e->getCode()) {
case 1:
$storage->setStatus(
\OC_Mount_Config::STATUS_ERROR,
$this->l10n->t('%s', [$e->getMessage()])
);
break;
case 3:
$storage->setStatus(
\OC_Mount_Config::STATUS_INCOMPLETE_CONF,
$this->l10n->t('Incomplete configuration. %s', [$e->getMessage()])
);
break;
case 4:
$storage->setStatus(
\OC_Mount_Config::STATUS_UNAUTHORIZED,
$this->l10n->t('Unauthorized. %s', [$e->getMessage()])
$e->getMessage()
);
break;
case 5:
$storage->setStatus(
\OC_Mount_Config::STATUS_TIMEOUT,
$this->l10n->t('Timeout. %s', [$e->getMessage()])
);
break;
case 6:
$storage->setStatus(
\OC_Mount_Config::STATUS_NETWORK_ERROR,
$this->l10n->t('Network error. %s', [$e->getMessage()])
);
break;
default:
$storage->setStatus(
\OC_Mount_Config::STATUS_ERROR,
$this->l10n->t('%s', [$e->getMessage()])
);
}
} catch (\Exception $e) {
// FIXME: convert storage exceptions to StorageNotAvailableException
$storage->setStatus(

View File

@ -52,6 +52,10 @@ class OC_Mount_Config {
const STATUS_SUCCESS = 0;
const STATUS_ERROR = 1;
const STATUS_INDETERMINATE = 2;
const STATUS_INCOMPLETE_CONF = 3;
const STATUS_UNAUTHORIZED = 4;
const STATUS_TIMEOUT = 5;
const STATUS_NETWORK_ERROR = 6;
// whether to skip backend test (for unit tests, as this static class is not mockable)
public static $skipTest = false;