$this->l10n->t('Insufficient data: %s', [$e->getMessage()])
);
} catch (StorageNotAvailableException $e) {
- 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()])
- );
- }
+ $storage->setStatus(
+ \OC_Mount_Config::STATUS_ERROR,
+ $this->l10n->t('%s', [$e->getMessage()])
+ );
+ } catch (ExtStorageBadConfigException $e) {
+ $storage->setStatus(
+ $e->getCode(),
+ $this->l10n->t('%s', [$e->getMessage()])
+ );
+ } catch (ExtStorageAuthException $e) {
+ $storage->setStatus(
+ $e->getCode(),
+ $this->l10n->t('%s', [$e->getMessage()])
+ );
+ } catch (ExtStorageTimeoutException $e) {
+ $storage->setStatus(
+ $e->getCode(),
+ $this->l10n->t('%s', [$e->getMessage()])
+ );
+ } catch (ExtStorageConnectionException $e) {
+ $storage->setStatus(
+ $e->getCode(),
+ $this->l10n->t('%s', [$e->getMessage()])
+ );
} catch (\Exception $e) {
// FIXME: convert storage exceptions to StorageNotAvailableException
$storage->setStatus(
--- /dev/null
+<?php
+/**
+ * @author Jesus Macias <jesus@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+// use OCP namespace for all classes that are considered public.
+// This means that they should be used by apps instead of the internal ownCloud classes
+namespace OCP\Files;
+
+/**
+ * External Storage authentication exception
+ * @since 9.0.0
+ */
+class ExtStorageAuthException extends StorageNotAvailableException {
+
+ /**
+ * ExtStorageAuthException constructor.
+ *
+ * @param string $message
+ * @param int $code
+ * @param \Exception $previous
+ * @since 9.0.0
+ */
+ public function __construct($message = '', $code, \Exception $previous = null) {
+ $l = \OC::$server->getL10N('core');
+ parent::__construct($message, $l->t('External storage unauthorized'), 3, $previous);
+ }
+}
--- /dev/null
+<?php
+/**
+ * @author Jesus Macias <jesus@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+// use OCP namespace for all classes that are considered public.
+// This means that they should be used by apps instead of the internal ownCloud classes
+namespace OCP\Files;
+
+/**
+ * External Storage has bad or missing config params
+ * @since 9.0.0
+ */
+class ExtStorageBadConfigException extends StorageNotAvailableException {
+
+ /**
+ * ExtStorageBadConfigException constructor.
+ *
+ * @param string $message
+ * @param int $code
+ * @param \Exception $previous
+ * @since 9.0.0
+ */
+ public function __construct($message = '', $code, \Exception $previous = null) {
+ $l = \OC::$server->getL10N('core');
+ parent::__construct($message, $l->t('External storage incomplete configuration'), 2, $previous);
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * @author Jesus Macias <jesus@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+// use OCP namespace for all classes that are considered public.
+// This means that they should be used by apps instead of the internal ownCloud classes
+namespace OCP\Files;
+
+/**
+ * External Storage authentication exception
+ * @since 9.0.0
+ */
+class ExtStorageConnectionException extends StorageNotAvailableException {
+
+ /**
+ * ExtStorageConnectionException constructor.
+ *
+ * @param string $message
+ * @param int $code
+ * @param \Exception $previous
+ * @since 9.0.0
+ */
+ public function __construct($message = '', $code, \Exception $previous = null) {
+ $l = \OC::$server->getL10N('core');
+ parent::__construct($message, $l->t('External storage connection error'), 5, $previous);
+ }
+}
--- /dev/null
+<?php
+/**
+ * @author Jesus Macias <jesus@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+// use OCP namespace for all classes that are considered public.
+// This means that they should be used by apps instead of the internal ownCloud classes
+namespace OCP\Files;
+
+/**
+ * External Storage authentication exception
+ * @since 9.0.0
+ */
+class ExtStorageTimeoutException extends StorageNotAvailableException {
+
+ /**
+ * ExtStorageTimeoutException constructor.
+ *
+ * @param string $message
+ * @param int $code
+ * @param \Exception $previous
+ * @since 9.0.0
+ */
+ public function __construct($message = '', $code, \Exception $previous = null) {
+ $l = \OC::$server->getL10N('core');
+ parent::__construct($message, $l->t('External storage connection timeout'), 4, $previous);
+ }
+}