[TASK] Cleanup FAL exception messages 78/36378/3
authorPhilipp Gampe <philipp.gampe@typo3.org>
Thu, 29 Jan 2015 17:52:03 +0000 (18:52 +0100)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Fri, 30 Jan 2015 16:20:37 +0000 (17:20 +0100)
Some exception messages fail to include available data that can help the
integrator or developer to track down the error quickly.
Fix spelling mistakes.

Resolves: #64613
Releases: master
Change-Id: I3ac1f066020ffe36a3597734ae7dd583b439524d
Reviewed-on: http://review.typo3.org/36378
Reviewed-by: Roman Schürmann <roman.schuermann@wmdb.de>
Tested-by: Roman Schürmann <roman.schuermann@wmdb.de>
Reviewed-by: Michael Oehlhof <typo3@oehlhof.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
13 files changed:
typo3/sysext/core/Classes/Resource/AbstractRepository.php
typo3/sysext/core/Classes/Resource/Driver/DriverRegistry.php
typo3/sysext/core/Classes/Resource/Driver/LocalDriver.php
typo3/sysext/core/Classes/Resource/FileReference.php
typo3/sysext/core/Classes/Resource/FileRepository.php
typo3/sysext/core/Classes/Resource/InaccessibleFolder.php
typo3/sysext/core/Classes/Resource/Index/ExtractorRegistry.php
typo3/sysext/core/Classes/Resource/Index/MetaDataRepository.php
typo3/sysext/core/Classes/Resource/Rendering/RendererRegistry.php
typo3/sysext/core/Classes/Resource/ResourceCompressor.php
typo3/sysext/core/Classes/Resource/ResourceFactory.php
typo3/sysext/core/Classes/Resource/ResourceStorage.php
typo3/sysext/core/Classes/Resource/Service/FrontendContentAdapterService.php

index 40b2534..09d5d02 100644 (file)
@@ -176,11 +176,11 @@ abstract class AbstractRepository implements \TYPO3\CMS\Extbase\Persistence\Repo
         */
        public function findByUid($uid) {
                if (!\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($uid)) {
-                       throw new \InvalidArgumentException('uid has to be integer.', 1316779798);
+                       throw new \InvalidArgumentException('The UID has to be an integer. UID given: "' . $uid . '"', 1316779798);
                }
                $row = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow('*', $this->table, 'uid=' . (int)$uid . $this->getWhereClauseForEnabledFields());
                if (empty($row) || !is_array($row)) {
-                       throw new \RuntimeException('Could not find row with uid "' . $uid . '" in table ' . $this->table, 1314354065);
+                       throw new \RuntimeException('Could not find row with UID "' . $uid . '" in table "' . $this->table . '"', 1314354065);
                }
                return $this->createDomainObject($row);
        }
index 61a2b98..7229241 100644 (file)
@@ -113,7 +113,9 @@ class DriverRegistry implements \TYPO3\CMS\Core\SingletonInterface {
                        return $shortName;
                }
                if (!array_key_exists($shortName, $this->drivers)) {
-                       throw new \InvalidArgumentException('Desired storage is not in the list of available storages.', 1314085990);
+                       throw new \InvalidArgumentException(
+                               'Desired storage "' . $shortName . '" is not in the list of available storages.',
+                               1314085990);
                }
                return $this->drivers[$shortName];
        }
index 0f62b95..ecc819f 100644 (file)
@@ -272,7 +272,7 @@ class LocalDriver extends AbstractHierarchicalFilesystemDriver {
 
                if (!$this->folderExists($folderIdentifier)) {
                        throw new Exception\FolderDoesNotExistException(
-                               'File ' . $folderIdentifier . ' does not exist.',
+                               'Folder "' . $folderIdentifier . '" does not exist.',
                                1314516810
                        );
                }
@@ -810,7 +810,10 @@ class LocalDriver extends AbstractHierarchicalFilesystemDriver {
                $result = copy($sourcePath, $temporaryPath);
                touch($temporaryPath, filemtime($sourcePath));
                if ($result === FALSE) {
-                       throw new \RuntimeException('Copying file ' . $fileIdentifier . ' to temporary path failed.', 1320577649);
+                       throw new \RuntimeException(
+                               'Copying file "' . $fileIdentifier . '" to temporary path "' . $temporaryPath . '" failed.',
+                               1320577649
+                       );
                }
                return $temporaryPath;
        }
@@ -943,7 +946,10 @@ class LocalDriver extends AbstractHierarchicalFilesystemDriver {
                $newIdentifier = $this->canonicalizeAndCheckFileIdentifier($newIdentifier);
                // The target should not exist already
                if ($this->fileExists($newIdentifier)) {
-                       throw new Exception\ExistingTargetFileNameException('The target file already exists.', 1320291063);
+                       throw new Exception\ExistingTargetFileNameException(
+                               'The target file "' . $newIdentifier . '" already exists.',
+                               1320291063
+                       );
                }
                $sourcePath = $this->getAbsolutePath($fileIdentifier);
                $targetPath = $this->getAbsolutePath($newIdentifier);
index 2737ab6..323226f 100644 (file)
@@ -91,7 +91,10 @@ class FileReference implements FileInterface {
                }
                $this->originalFile = $factory->getFileObject($fileReferenceData['uid_local']);
                if (!is_object($this->originalFile)) {
-                       throw new \RuntimeException('Original File not found for FileReference.', 1300098529);
+                       throw new \RuntimeException(
+                               'Original file not found for FileReference. UID given: "' . $fileReferenceData['uid_local'] . '"',
+                               1300098529
+                       );
                }
                $this->name = $fileReferenceData['name'] !== '' ? $fileReferenceData['name'] : $this->originalFile->getName();
        }
index 31a428a..def6750 100644 (file)
@@ -67,7 +67,7 @@ class FileRepository extends AbstractRepository {
        public function findByRelation($tableName, $fieldName, $uid) {
                $itemList = array();
                if (!\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($uid)) {
-                       throw new \InvalidArgumentException('Uid of related record has to be an integer.', 1316789798);
+                       throw new \InvalidArgumentException('UID of related record has to be an integer. UID given: "' . $uid  . '"', 1316789798);
                }
                $referenceUids = NULL;
                if ($this->getEnvironmentMode() === 'FE' && !empty($GLOBALS['TSFE']->sys_page)) {
@@ -123,7 +123,7 @@ class FileRepository extends AbstractRepository {
         */
        public function findFileReferenceByUid($uid) {
                if (!\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($uid)) {
-                       throw new \InvalidArgumentException('uid of record has to be an integer.', 1316889798);
+                       throw new \InvalidArgumentException('The UID of record has to be an integer. UID given: "' . $uid . '"', 1316889798);
                }
                try {
                        $fileReferenceObject = $this->factory->getFileReferenceObject($uid);
index a632d9d..7c24264 100644 (file)
@@ -26,14 +26,14 @@ class InaccessibleFolder extends Folder {
 
        /**
         * Throws an Exception,
-        * used to prevent duplicate code in al the methods
+        * used to prevent duplicate code in all the methods
         *
         * @throws Exception\InsufficientFolderReadPermissionsException
         * @return void
         */
        protected function throwInaccessibleException() {
                throw new \TYPO3\CMS\Core\Resource\Exception\InsufficientFolderReadPermissionsException(
-                       'You are trying to use a method on an Inaccssible Folder',
+                       'You are trying to use a method on an inaccessible folder.',
                        1390290029
                );
        }
index 22459ce..6bf2bf3 100644 (file)
@@ -50,7 +50,7 @@ class ExtractorRegistry implements \TYPO3\CMS\Core\SingletonInterface {
         */
        public function registerExtractionService($className) {
                if (!class_exists($className)) {
-                       throw new \RuntimeException('The Class you are registering is not available');
+                       throw new \RuntimeException('The class "' . $className . '" you are registering is not available');
                } elseif (!in_array(\TYPO3\CMS\Core\Resource\Index\ExtractorInterface::class, class_implements($className))) {
                        throw new \RuntimeException('The extractor needs to implement the ExtractorInterface');
                } else {
index 508a444..83aaac9 100644 (file)
@@ -67,7 +67,7 @@ class MetaDataRepository implements SingletonInterface {
        public function findByFileUid($uid) {
                $uid = (int)$uid;
                if ($uid <= 0) {
-                       throw new \RuntimeException('Metadata can only be retrieved for indexed files.', 1381590731);
+                       throw new \RuntimeException('Metadata can only be retrieved for indexed files. UID: "' . $uid . '"', 1381590731);
                }
                $record = $this->getDatabaseConnection()->exec_SELECTgetSingleRow('*', $this->tableName, 'file = ' . $uid . $this->getGeneralWhereClause());
 
index d0d0909..b0efbf1 100644 (file)
@@ -53,7 +53,7 @@ class RendererRegistry implements \TYPO3\CMS\Core\SingletonInterface {
         */
        public function registerRendererClass($className) {
                if (!class_exists($className)) {
-                       throw new \InvalidArgumentException('The class you are registering is not available', 1411840171);
+                       throw new \InvalidArgumentException('The class "' . $className . '" you are trying to register is not available', 1411840171);
                } elseif (!in_array(\TYPO3\CMS\Core\Resource\Rendering\FileRendererInterface::class, class_implements($className), TRUE)) {
                        throw new \InvalidArgumentException('The renderer needs to implement the FileRendererInterface', 1411840172);
                } else {
@@ -130,4 +130,4 @@ class RendererRegistry implements \TYPO3\CMS\Core\SingletonInterface {
                return $matchingFileRenderer;
        }
 
-}
\ No newline at end of file
+}
index b991d14..30ebce2 100644 (file)
@@ -280,7 +280,7 @@ class ResourceCompressor {
                // Get file type
                $type = strtolower(trim($type, '. '));
                if (empty($type)) {
-                       throw new \InvalidArgumentException('Error in TYPO3\\CMS\\Core\\Resource\\ResourceCompressor: No valid file type given for merged file', 1308957498);
+                       throw new \InvalidArgumentException('No valid file type given for files to be merged.', 1308957498);
                }
                // we add up the filenames, filemtimes and filsizes to later build a checksum over
                // it and include it in the temporary file name
index 27c2d75..92b392f 100644 (file)
@@ -127,7 +127,7 @@ class ResourceFactory implements ResourceFactoryInterface, \TYPO3\CMS\Core\Singl
         */
        public function getStorageObject($uid, array $recordData = array(), &$fileIdentifier = NULL) {
                if (!is_numeric($uid)) {
-                       throw new \InvalidArgumentException('uid of Storage has to be numeric.', 1314085991);
+                       throw new \InvalidArgumentException('The UID of storage has to be numeric. UID given: "' . $uid . '"', 1314085991);
                }
                $uid = (int)$uid;
                if ($uid === 0 && $fileIdentifier !== NULL) {
@@ -264,7 +264,7 @@ class ResourceFactory implements ResourceFactoryInterface, \TYPO3\CMS\Core\Singl
         */
        public function getCollectionObject($uid, array $recordData = array()) {
                if (!is_numeric($uid)) {
-                       throw new \InvalidArgumentException('uid of collection has to be numeric.', 1314085999);
+                       throw new \InvalidArgumentException('The UID of collection has to be numeric. UID given: "' . $uid . '"', 1314085999);
                }
                if (!$this->collectionInstances[$uid]) {
                        // Get mount data if not already supplied as argument to this function
@@ -272,7 +272,7 @@ class ResourceFactory implements ResourceFactoryInterface, \TYPO3\CMS\Core\Singl
                                /** @var $GLOBALS['TYPO3_DB'] \TYPO3\CMS\Core\Database\DatabaseConnection */
                                $recordData = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow('*', 'sys_file_collection', 'uid=' . (int)$uid . ' AND deleted=0');
                                if (!is_array($recordData)) {
-                                       throw new \InvalidArgumentException('No collection found for given UID.', 1314085992);
+                                       throw new \InvalidArgumentException('No collection found for given UID: "' . $uid . '"', 1314085992);
                                }
                        }
                        $collectionObject = $this->createCollectionObject($recordData);
@@ -346,14 +346,14 @@ class ResourceFactory implements ResourceFactoryInterface, \TYPO3\CMS\Core\Singl
         */
        public function getFileObject($uid, array $fileData = array()) {
                if (!is_numeric($uid)) {
-                       throw new \InvalidArgumentException('uid of file has to be numeric.', 1300096564);
+                       throw new \InvalidArgumentException('The UID of file has to be numeric. UID given: "' . $uid . '"', 1300096564);
                }
                if (!$this->fileInstances[$uid]) {
                        // Fetches data in case $fileData is empty
                        if (empty($fileData)) {
                                $fileData = $this->getFileIndexRepository()->findOneByUid($uid);
                                if ($fileData === FALSE) {
-                                       throw new \TYPO3\CMS\Core\Resource\Exception\FileDoesNotExistException('No file found for given UID.', 1317178604);
+                                       throw new \TYPO3\CMS\Core\Resource\Exception\FileDoesNotExistException('No file found for given UID:' . $uid, 1317178604);
                                }
                        }
                        $this->fileInstances[$uid] = $this->createFileObject($fileData);
@@ -568,14 +568,20 @@ class ResourceFactory implements ResourceFactoryInterface, \TYPO3\CMS\Core\Singl
         */
        public function getFileReferenceObject($uid, array $fileReferenceData = array(), $raw = FALSE) {
                if (!is_numeric($uid)) {
-                       throw new \InvalidArgumentException('uid of file usage (sys_file_reference) has to be numeric.', 1300086584);
+                       throw new \InvalidArgumentException(
+                               'The reference UID for the file (sys_file_reference) has to be numeric. UID given: "' . $uid . '"',
+                               1300086584
+                       );
                }
                if (!$this->fileReferenceInstances[$uid]) {
                        // Fetches data in case $fileData is empty
                        if (empty($fileReferenceData)) {
                                $fileReferenceData = $this->getFileReferenceData($uid, $raw);
                                if (!is_array($fileReferenceData)) {
-                                       throw new \TYPO3\CMS\Core\Resource\Exception\ResourceDoesNotExistException('No file usage (sys_file_reference) found for given UID.', 1317178794);
+                                       throw new \TYPO3\CMS\Core\Resource\Exception\ResourceDoesNotExistException(
+                                               'No file reference (sys_file_reference) was found for given UID: "' . $uid . '"',
+                                               1317178794
+                                       );
                                }
                        }
                        $this->fileReferenceInstances[$uid] = $this->createFileReferenceObject($fileReferenceData);
index 7dd9064..24b55e4 100644 (file)
@@ -691,7 +691,10 @@ class ResourceStorage implements ResourceStorageInterface {
         */
        protected function assureFolderReadPermission(Folder $folder = NULL) {
                if (!$this->checkFolderActionPermission('read', $folder)) {
-                       throw new Exception\InsufficientFolderAccessPermissionsException('You are not allowed to access the given folder', 1375955684);
+                       throw new Exception\InsufficientFolderAccessPermissionsException(
+                               'You are not allowed to access the given folder: "' . $folder->getName() . '"',
+                               1375955684
+                       );
                }
        }
 
@@ -712,7 +715,10 @@ class ResourceStorage implements ResourceStorageInterface {
                }
                // Check user action permission
                if (!$this->checkFolderActionPermission('delete', $folder)) {
-                       throw new Exception\InsufficientFolderAccessPermissionsException('You are not allowed to delete the given folder', 1377779039);
+                       throw new Exception\InsufficientFolderAccessPermissionsException(
+                               'You are not allowed to delete the given folder: "' . $folder->getName() . '"',
+                               1377779039
+                       );
                }
                // Check if the user has write permissions to folders
                // Would be good if we could check for actual write permissions in the containig folder
@@ -732,10 +738,16 @@ class ResourceStorage implements ResourceStorageInterface {
         */
        protected function assureFileReadPermission(FileInterface $file) {
                if (!$this->checkFileActionPermission('read', $file)) {
-                       throw new Exception\InsufficientFileAccessPermissionsException('You are not allowed to access that file.', 1375955429);
+                       throw new Exception\InsufficientFileAccessPermissionsException(
+                               'You are not allowed to access that file: "' . $file->getName() . '"',
+                               1375955429
+                       );
                }
                if (!$this->checkFileExtensionPermission($file->getName())) {
-                       throw new Exception\IllegalFileExtensionException('You are not allowed to use that file extension', 1375955430);
+                       throw new Exception\IllegalFileExtensionException(
+                               'You are not allowed to use that file extension. File: "' . $file->getName() . '"',
+                               1375955430
+                       );
                }
        }
 
@@ -859,7 +871,7 @@ class ResourceStorage implements ResourceStorageInterface {
        protected function assureFileMovePermissions(FileInterface $file, Folder $targetFolder, $targetFileName) {
                // Check if targetFolder is within this storage
                if ($this->getUid() !== $targetFolder->getStorage()->getUid()) {
-                       throw new \RuntimeException();
+                       throw new \RuntimeException('The target folder is not in the same storage. Target folder given: "' . $targetFolder . '"', 1422553107);
                }
                // Check for a valid file extension
                if (!$this->checkFileExtensionPermission($targetFileName)) {
@@ -889,11 +901,11 @@ class ResourceStorage implements ResourceStorageInterface {
        protected function assureFileRenamePermissions(FileInterface $file, $targetFileName) {
                // Check if file extension is allowed
                if (!$this->checkFileExtensionPermission($targetFileName) || !$this->checkFileExtensionPermission($file->getName())) {
-                       throw new Exception\IllegalFileExtensionException('You are not allowed to rename a file with to this extension', 1371466663);
+                       throw new Exception\IllegalFileExtensionException('You are not allowed to rename a file with this extension. File given: "' . $file->getName() . '"', 1371466663);
                }
                // Check if user is allowed to rename
                if (!$this->checkFileActionPermission('rename', $file)) {
-                       throw new Exception\InsufficientUserPermissionsException('You are not allowed to rename files."', 1319219351);
+                       throw new Exception\InsufficientUserPermissionsException('You are not allowed to rename files. File given."' . $file . '"', 1319219351);
                }
                // Check if the user is allowed to write to folders
                // Although it would be good to check, we cannot check here if the folder actually is writable
@@ -959,14 +971,14 @@ class ResourceStorage implements ResourceStorageInterface {
                        throw new Exception('The operation of the folder cannot be called by this storage "' . $this->getUid() . '"', 1377777624);
                }
                if (!$folderToCopy instanceof Folder) {
-                       throw new \RuntimeException('The folder "' . $folderToCopy->getIdentifier() . '" to copy is not of type Folder.', 1384209020);
+                       throw new \RuntimeException('The folder "' . $folderToCopy->getIdentifier() . '" to copy is not of type folder.', 1384209020);
                }
                // Check if user is allowed to copy and the folder is readable
                if (!$folderToCopy->getStorage()->checkFolderActionPermission('copy', $folderToCopy)) {
                        throw new Exception\InsufficientFileReadPermissionsException('You are not allowed to copy the folder "' . $folderToCopy->getIdentifier() . '"', 1377777629);
                }
                if (!$targetParentFolder instanceof Folder) {
-                       throw new \RuntimeException('The target folder "' . $targetParentFolder->getIdentifier() . '" is not of type Folder.', 1384209021);
+                       throw new \RuntimeException('The target folder "' . $targetParentFolder->getIdentifier() . '" is not of type folder.', 1384209021);
                }
                // Check if targetFolder is writable
                if (!$this->checkFolderActionPermission('write', $targetParentFolder)) {
index acf067e..1e7b92e 100644 (file)
@@ -145,7 +145,11 @@ class FrontendContentAdapterService {
        static public function registerAdditionalTypeForMigration($table, $field, $additionalType) {
 
                if (!isset(static::$migrateFields[$table][$field]['__typeMatch'])) {
-                       throw new \RuntimeException('Additional types can only be added when there is already an existing type match configuration for the given table and field.', 1377600978);
+                       throw new \RuntimeException(
+                               'Additional types can only be added when there is already an existing type match configuration for the given table and field. '
+                               . 'Table: "' . $table . '", Field: "' . $field . '", Additional Type: "' . $additionalType . '"',
+                               1377600978
+                       );
                }
 
                self::$migrateFields[$table][$field]['__typeMatch']['types'][] = $additionalType;
@@ -167,7 +171,8 @@ class FrontendContentAdapterService {
        static public function registerFieldForMigration($table, $field, $migrationField, $oldFieldName, $typeField = NULL, array $types = array()) {
 
                if (array_search($migrationField, static::$availableMigrationFields) === FALSE) {
-                       throw new \InvalidArgumentException('The value for $migrationField is invalid. Valid values can be found in the $availableMigrationFields array.', 1377600978);
+                       throw new \InvalidArgumentException('The value for $migrationField "' . $migrationField . '" is invalid.' .
+                               ' Valid values can be found in the $availableMigrationFields array.', 1377600978);
                }
 
                self::$migrateFields[$table][$field][$migrationField] = $oldFieldName;