Moved last exception thing to BaseDatabaseFrontend so it will become available for...
authorRoland Häder <roland@mxchange.org>
Fri, 18 May 2012 18:54:24 +0000 (18:54 +0000)
committerRoland Häder <roland@mxchange.org>
Fri, 18 May 2012 18:54:24 +0000 (18:54 +0000)
inc/classes/main/database/class_BaseDatabaseFrontend.php
inc/classes/main/database/databases/class_LocalFileDatabase.php

index ffdd69c..820e4c3 100644 (file)
@@ -31,6 +31,11 @@ abstract class BaseDatabaseFrontend extends BaseFrameworkSystem implements Datab
        const RESULT_INDEX_STATUS    = 'status';
        const RESULT_INDEX_EXCEPTION = 'exception';
 
+       /**
+        * Last thrown exception or NULL if all is fine
+        */
+       private $lastException = NULL;
+
        /**
         * Protected constructor
         *
@@ -41,6 +46,35 @@ abstract class BaseDatabaseFrontend extends BaseFrameworkSystem implements Datab
                // Call parent constructor
                parent::__construct($className);
        }
+
+       /**
+        * Getter for last exception
+        *
+        * @return      $lastException  Last thrown exception
+        */
+       public final function getLastException () {
+               return $this->lastException;
+       }
+
+       /**
+        * Setter for last exception
+        *
+        * @param       $lastException  Last thrown exception
+        * @return      void
+        */
+       public final function setLastException (FrameworkException $exceptionInstance) {
+               $this->lastException = $exceptionInstance;
+       }
+
+       /**
+        * Reset the last exception instance. This should be done after a "query"
+        * was completed without any errors.
+        *
+        * @return      void
+        */
+       protected final function resetLastException () {
+               $this->lastException = NULL;
+       }
 }
 
 // [EOF]
index d104151..b093a9d 100644 (file)
@@ -52,11 +52,6 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend
         */
        private $alreadyConnected = false;
 
-       /**
-        * Last exception
-        */
-       private $lastException = NULL;
-
        /**
         * Table information array
         */
@@ -101,15 +96,6 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend
                return $databaseInstance;
        }
 
-       /**
-        * Getter for last exception
-        *
-        * @return      $lastException  Last thrown exception
-        */
-       public final function getLastException () {
-               return $this->lastException;
-       }
-
        /**
         * Setter for the last read file
         *
@@ -121,16 +107,6 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend
                $this->lastFile = (string) $fqfn;
        }
 
-       /**
-        * Reset the last exception instance. This should be done after a "query"
-        * was completed without any errors.
-        *
-        * @return      void
-        */
-       private final function resetLastException () {
-               $this->lastException = NULL;
-       }
-
        /**
         * Getter for last read file
         *
@@ -412,13 +388,13 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend
                        $this->resetLastException();
                } catch (PathIsNoDirectoryException $e) {
                        // Path not found means "table not found" for real databases...
-                       $this->lastException = $e;
+                       $this->setLastException($e);
 
                        // So throw an SqlException here with faked error message
                        throw new SqlException (array($this, sprintf("Table &#39;%s&#39; not found", $tableName), self::DB_CODE_TABLE_MISSING), self::EXCEPTION_SQL_QUERY);
                } catch (FrameworkException $e) {
                        // Catch all exceptions and store them in last error
-                       $this->lastException = $e;
+                       $this->setLastException($e);
                }
 
                // Return the gathered result
@@ -448,7 +424,7 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend
                        $this->resetLastException();
                } catch (FrameworkException $e) {
                        // Catch all exceptions and store them in last error
-                       $this->lastException = $e;
+                       $this->setLastException($e);
 
                        // Throw an SQL exception
                        throw new SqlException(array($this, sprintf("Cannot write data to table &#39;%s&#39;, is the table created?", $dataSetInstance->getTableName()), self::DB_CODE_TABLE_UNWRITEABLE), self::EXCEPTION_SQL_QUERY);
@@ -538,7 +514,7 @@ class LocalFileDatabase extends BaseDatabaseFrontend implements DatabaseFrontend
                        $this->resetLastException();
                } catch (FrameworkException $e) {
                        // Catch all exceptions and store them in last error
-                       $this->lastException = $e;
+                       $this->setLastException($e);
 
                        // Throw an SQL exception
                        throw new SqlException(array($this, sprintf("Cannot write data to table &#39;%s&#39;, is the table created?", $dataSetInstance->getTableName()), self::DB_CODE_TABLE_UNWRITEABLE), self::EXCEPTION_SQL_QUERY);