diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2014-11-27 12:14:06 +0100 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2014-11-27 12:14:06 +0100 |
commit | a2172786a8cbdcac58906df03713f21a98694119 (patch) | |
tree | 6aaf9d16185d5ec8e7c85aa4ab1782775a0b222c | |
parent | f52ba9c73c31d9ce4529f8ae657508c9ab984012 (diff) | |
parent | ea3780f91156f9028ba61624e8f940b0d09c0f0f (diff) | |
download | nextcloud-server-a2172786a8cbdcac58906df03713f21a98694119.tar.gz nextcloud-server-a2172786a8cbdcac58906df03713f21a98694119.zip |
Merge pull request #12449 from owncloud/issue/12444-namespace-exceptions
Issue/12444 namespace exceptions
-rw-r--r-- | lib/private/arrayparser.php | 5 | ||||
-rw-r--r-- | lib/private/databaseexception.php | 23 | ||||
-rw-r--r-- | lib/private/databasesetupexception.php | 12 | ||||
-rw-r--r-- | lib/private/db.php | 36 | ||||
-rw-r--r-- | lib/private/group/database.php | 2 | ||||
-rw-r--r-- | lib/private/server.php | 2 | ||||
-rw-r--r-- | lib/private/setup.php | 5 | ||||
-rw-r--r-- | lib/private/setup/mssql.php | 2 | ||||
-rw-r--r-- | lib/private/setup/mysql.php | 6 | ||||
-rw-r--r-- | lib/private/setup/oci.php | 6 | ||||
-rw-r--r-- | lib/private/setup/postgresql.php | 4 | ||||
-rw-r--r-- | tests/lib/testcase.php | 4 |
12 files changed, 61 insertions, 46 deletions
diff --git a/lib/private/arrayparser.php b/lib/private/arrayparser.php index dab1817c2ed..1cf3355d6fa 100644 --- a/lib/private/arrayparser.php +++ b/lib/private/arrayparser.php @@ -21,9 +21,6 @@ namespace OC; -class SyntaxException extends \Exception { -} - class ArrayParser { const TYPE_NUM = 1; const TYPE_BOOL = 2; @@ -209,7 +206,7 @@ class ArrayParser { $bracketDepth++; } elseif ($char === ')') { if ($bracketDepth <= 0) { - throw new SyntaxException; + throw new UnexpectedValueException(); } else { $bracketDepth--; } diff --git a/lib/private/databaseexception.php b/lib/private/databaseexception.php new file mode 100644 index 00000000000..1135621ead2 --- /dev/null +++ b/lib/private/databaseexception.php @@ -0,0 +1,23 @@ +<?php +/** + * Copyright (c) 2012 Frank Karlitschek <frank@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC; + +class DatabaseException extends \Exception { + private $query; + + //FIXME getQuery seems to be unused, maybe use parent constructor with $message, $code and $previous + public function __construct($message, $query = null){ + parent::__construct($message); + $this->query = $query; + } + + public function getQuery() { + return $this->query; + } +} diff --git a/lib/private/databasesetupexception.php b/lib/private/databasesetupexception.php new file mode 100644 index 00000000000..9235cda8c0e --- /dev/null +++ b/lib/private/databasesetupexception.php @@ -0,0 +1,12 @@ +<?php +/** + * Copyright (c) 2014 Lukas Reschke <lukas@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC; + +class DatabaseSetupException extends HintException { +} diff --git a/lib/private/db.php b/lib/private/db.php index b820281b8a3..f8015133682 100644 --- a/lib/private/db.php +++ b/lib/private/db.php @@ -22,20 +22,6 @@ define('MDB2_SCHEMA_DUMP_STRUCTURE', '1'); -class DatabaseException extends Exception { - private $query; - - //FIXME getQuery seems to be unused, maybe use parent constructor with $message, $code and $previous - public function __construct($message, $query = null){ - parent::__construct($message); - $this->query = $query; - } - - public function getQuery() { - return $this->query; - } -} - /** * This class manages the access to the database. It basically is a wrapper for * Doctrine with some adaptions. @@ -65,7 +51,7 @@ class OC_DB { * @param int $limit * @param int $offset * @param bool $isManipulation - * @throws DatabaseException + * @throws \OC\DatabaseException * @return OC_DB_StatementWrapper prepared SQL query * * SQL query via Doctrine prepare(), needs to be execute()'d! @@ -82,7 +68,7 @@ class OC_DB { try { $result =$connection->prepare($query, $limit, $offset); } catch (\Doctrine\DBAL\DBALException $e) { - throw new \DatabaseException($e->getMessage(), $query); + throw new \OC\DatabaseException($e->getMessage(), $query); } // differentiate between query and manipulation $result = new OC_DB_StatementWrapper($result, $isManipulation); @@ -123,7 +109,7 @@ class OC_DB { * .. or a simple sql query string * @param array $parameters * @return OC_DB_StatementWrapper - * @throws DatabaseException + * @throws \OC\DatabaseException */ static public function executeAudited( $stmt, array $parameters = null) { if (is_string($stmt)) { @@ -132,7 +118,7 @@ class OC_DB { // TODO try to convert LIMIT OFFSET notation to parameters, see fixLimitClauseForMSSQL $message = 'LIMIT and OFFSET are forbidden for portability reasons,' . ' pass an array with \'limit\' and \'offset\' instead'; - throw new DatabaseException($message); + throw new \OC\DatabaseException($message); } $stmt = array('sql' => $stmt, 'limit' => null, 'offset' => null); } @@ -140,7 +126,7 @@ class OC_DB { // convert to prepared statement if ( ! array_key_exists('sql', $stmt) ) { $message = 'statement array must at least contain key \'sql\''; - throw new DatabaseException($message); + throw new \OC\DatabaseException($message); } if ( ! array_key_exists('limit', $stmt) ) { $stmt['limit'] = null; @@ -160,7 +146,7 @@ class OC_DB { } else { $message = 'Expected a prepared statement or array got ' . gettype($stmt); } - throw new DatabaseException($message); + throw new \OC\DatabaseException($message); } return $result; } @@ -169,7 +155,7 @@ class OC_DB { * gets last value of autoincrement * @param string $table The optional table name (will replace *PREFIX*) and add sequence suffix * @return string id - * @throws DatabaseException + * @throws \OC\DatabaseException * * \Doctrine\DBAL\Connection lastInsertId * @@ -312,7 +298,7 @@ class OC_DB { * @param mixed $result * @param string $message * @return void - * @throws DatabaseException + * @throws \OC\DatabaseException */ public static function raiseExceptionOnError($result, $message = null) { if(self::isError($result)) { @@ -321,7 +307,7 @@ class OC_DB { } else { $message .= ', Root cause:' . self::getErrorMessage($result); } - throw new DatabaseException($message, self::getErrorCode($result)); + throw new \OC\DatabaseException($message, self::getErrorCode($result)); } } @@ -345,7 +331,7 @@ class OC_DB { * * @param string $table * @return bool - * @throws DatabaseException + * @throws \OC\DatabaseException */ public static function tableExists($table) { @@ -381,7 +367,7 @@ class OC_DB { $result = \OC_DB::executeAudited($sql, array($table)); break; default: - throw new DatabaseException("Unknown database type: $dbType"); + throw new \OC\DatabaseException("Unknown database type: $dbType"); } return $result->fetchOne() === $table; diff --git a/lib/private/group/database.php b/lib/private/group/database.php index 6bad55c8d5e..2069e99599f 100644 --- a/lib/private/group/database.php +++ b/lib/private/group/database.php @@ -220,7 +220,7 @@ class OC_Group_Database extends OC_Group_Backend { * @param string $gid * @param string $search * @return int|false - * @throws DatabaseException + * @throws \OC\DatabaseException */ public function countUsersInGroup($gid, $search = '') { $stmt = OC_DB::prepare('SELECT COUNT(`uid`) AS `count` FROM `*PREFIX*group_user` WHERE `gid` = ? AND `uid` LIKE ?'); diff --git a/lib/private/server.php b/lib/private/server.php index c413ee8bf6d..cd57d41ce58 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -205,7 +205,7 @@ class Server extends SimpleContainer implements IServerContainer { $factory = new \OC\DB\ConnectionFactory(); $type = $c->getConfig()->getSystemValue('dbtype', 'sqlite'); if (!$factory->isValidType($type)) { - throw new \DatabaseException('Invalid database type'); + throw new \OC\DatabaseException('Invalid database type'); } $connectionParams = $factory->createConnectionParams($c->getConfig()); $connection = $factory->getConnection($type, $connectionParams); diff --git a/lib/private/setup.php b/lib/private/setup.php index 1125933c8e9..45c97bbd225 100644 --- a/lib/private/setup.php +++ b/lib/private/setup.php @@ -8,9 +8,6 @@ use OCP\IConfig; -class DatabaseSetupException extends \OC\HintException { -} - class OC_Setup { /** @var IConfig */ protected $config; @@ -195,7 +192,7 @@ class OC_Setup { try { $dbSetup->initialize($options); $dbSetup->setupDatabase($username); - } catch (DatabaseSetupException $e) { + } catch (\OC\DatabaseSetupException $e) { $error[] = array( 'error' => $e->getMessage(), 'hint' => $e->getHint() diff --git a/lib/private/setup/mssql.php b/lib/private/setup/mssql.php index b8329f99079..5143545b76f 100644 --- a/lib/private/setup/mssql.php +++ b/lib/private/setup/mssql.php @@ -17,7 +17,7 @@ class MSSQL extends AbstractDatabase { } else { $entry = ''; } - throw new \DatabaseSetupException($this->trans->t('MS SQL username and/or password not valid: %s', array($entry)), + throw new \OC\DatabaseSetupException($this->trans->t('MS SQL username and/or password not valid: %s', array($entry)), $this->trans->t('You need to enter either an existing account or the administrator.')); } diff --git a/lib/private/setup/mysql.php b/lib/private/setup/mysql.php index 5558a2d1e51..8f8d86d388c 100644 --- a/lib/private/setup/mysql.php +++ b/lib/private/setup/mysql.php @@ -9,7 +9,7 @@ class MySQL extends AbstractDatabase { //check if the database user has admin right $connection = @mysql_connect($this->dbhost, $this->dbuser, $this->dbpassword); if(!$connection) { - throw new \DatabaseSetupException($this->trans->t('MySQL/MariaDB username and/or password not valid'), + throw new \OC\DatabaseSetupException($this->trans->t('MySQL/MariaDB username and/or password not valid'), $this->trans->t('You need to enter either an existing account or the administrator.')); } //user already specified in config @@ -96,13 +96,13 @@ class MySQL extends AbstractDatabase { $query = "CREATE USER '$name'@'localhost' IDENTIFIED BY '$password'"; $result = mysql_query($query, $connection); if (!$result) { - throw new \DatabaseSetupException($this->trans->t("MySQL/MariaDB user '%s'@'localhost' exists already.", array($name)), + throw new \OC\DatabaseSetupException($this->trans->t("MySQL/MariaDB user '%s'@'localhost' exists already.", array($name)), $this->trans->t("Drop this user from MySQL/MariaDB", array($name))); } $query = "CREATE USER '$name'@'%' IDENTIFIED BY '$password'"; $result = mysql_query($query, $connection); if (!$result) { - throw new \DatabaseSetupException($this->trans->t("MySQL/MariaDB user '%s'@'%%' already exists", array($name)), + throw new \OC\DatabaseSetupException($this->trans->t("MySQL/MariaDB user '%s'@'%%' already exists", array($name)), $this->trans->t("Drop this user from MySQL/MariaDB.")); } } diff --git a/lib/private/setup/oci.php b/lib/private/setup/oci.php index 23b5232438a..b75b658bae2 100644 --- a/lib/private/setup/oci.php +++ b/lib/private/setup/oci.php @@ -45,14 +45,14 @@ class OCI extends AbstractDatabase { if(!$connection) { $errorMessage = $this->getLastError(); if ($errorMessage) { - throw new \DatabaseSetupException($this->trans->t('Oracle connection could not be established'), + throw new \OC\DatabaseSetupException($this->trans->t('Oracle connection could not be established'), $errorMessage.' Check environment: ORACLE_HOME='.getenv('ORACLE_HOME') .' ORACLE_SID='.getenv('ORACLE_SID') .' LD_LIBRARY_PATH='.getenv('LD_LIBRARY_PATH') .' NLS_LANG='.getenv('NLS_LANG') .' tnsnames.ora is '.(is_readable(getenv('ORACLE_HOME').'/network/admin/tnsnames.ora')?'':'not ').'readable'); } - throw new \DatabaseSetupException($this->trans->t('Oracle username and/or password not valid'), + throw new \OC\DatabaseSetupException($this->trans->t('Oracle username and/or password not valid'), 'Check environment: ORACLE_HOME='.getenv('ORACLE_HOME') .' ORACLE_SID='.getenv('ORACLE_SID') .' LD_LIBRARY_PATH='.getenv('LD_LIBRARY_PATH') @@ -124,7 +124,7 @@ class OCI extends AbstractDatabase { } $connection = @oci_connect($this->dbuser, $this->dbpassword, $easy_connect_string); if(!$connection) { - throw new \DatabaseSetupException($this->trans->t('Oracle username and/or password not valid'), + throw new \OC\DatabaseSetupException($this->trans->t('Oracle username and/or password not valid'), $this->trans->t('You need to enter either an existing account or the administrator.')); } $query = "SELECT count(*) FROM user_tables WHERE table_name = :un"; diff --git a/lib/private/setup/postgresql.php b/lib/private/setup/postgresql.php index 4d0c9b52a4d..3777d1620bc 100644 --- a/lib/private/setup/postgresql.php +++ b/lib/private/setup/postgresql.php @@ -27,7 +27,7 @@ class PostgreSQL extends AbstractDatabase { $connection = @pg_connect($connection_string); if(!$connection) - throw new \DatabaseSetupException($this->trans->t('PostgreSQL username and/or password not valid'), + throw new \OC\DatabaseSetupException($this->trans->t('PostgreSQL username and/or password not valid'), $this->trans->t('You need to enter either an existing account or the administrator.')); } $e_user = pg_escape_string($this->dbuser); @@ -80,7 +80,7 @@ class PostgreSQL extends AbstractDatabase { $connection_string = "host='$e_host' dbname='$e_dbname' user='$e_user' port='$port' password='$e_password'"; $connection = @pg_connect($connection_string); if(!$connection) { - throw new \DatabaseSetupException($this->trans->t('PostgreSQL username and/or password not valid'), + throw new \OC\DatabaseSetupException($this->trans->t('PostgreSQL username and/or password not valid'), $this->trans->t('You need to enter either an existing account or the administrator.')); } $query = "select count(*) FROM pg_class WHERE relname='".$this->tableprefix."users' limit 1"; diff --git a/tests/lib/testcase.php b/tests/lib/testcase.php index e6f5ca71dac..934bc5fa8f3 100644 --- a/tests/lib/testcase.php +++ b/tests/lib/testcase.php @@ -64,7 +64,7 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { /** * Remove all entries from the storages table - * @throws \DatabaseException + * @throws \OC\DatabaseException */ static protected function tearDownAfterClassCleanStorages() { $sql = 'DELETE FROM `*PREFIX*storages`'; @@ -74,7 +74,7 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { /** * Remove all entries from the filecache table - * @throws \DatabaseException + * @throws \OC\DatabaseException */ static protected function tearDownAfterClassCleanFileCache() { $sql = 'DELETE FROM `*PREFIX*filecache`'; |