From 802f449ea1fc50218ca4306709387ffe277959e7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Fri, 22 Feb 2013 07:54:02 +0000 Subject: [PATCH] Updated core: - Make use of new interface IoHandler (as type-hint and class implementation) - Used optional parameter to give all database "rows" unique name --- .../io/file/class_FileOutputStreamer.php | 4 ++-- .../main/class_BaseFrameworkSystem.php | 2 +- .../databases/class_LocalFileDatabase.php | 2 +- .../middleware/io/class_FileIoHandler.php | 24 ++++++++++++------- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/inc/classes/interfaces/io/file/class_FileOutputStreamer.php b/inc/classes/interfaces/io/file/class_FileOutputStreamer.php index 8840e004..89fd26ac 100644 --- a/inc/classes/interfaces/io/file/class_FileOutputStreamer.php +++ b/inc/classes/interfaces/io/file/class_FileOutputStreamer.php @@ -26,8 +26,8 @@ interface FileOutputStreamer extends Streamable { * Saves streamed (that are mostly serialized objects) data to files or * external servers. * - * @param $fileName The local file's name including full path - * @param $dataArray Array containing the compressor's extension and streamed data + * @param $fileName The local file's name including full path + * @param $dataArray Array containing the compressor's extension and streamed data * @return void */ function saveFile ($fileName, array $dataArray); diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index 679e5e4a..6c7eb5d2 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -783,7 +783,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @param $fileIoInstance An instance to the file I/O sub-system * @return void */ - public final function setFileIoInstance (FileIoHandler $fileIoInstance) { + public final function setFileIoInstance (IoHandler $fileIoInstance) { $this->fileIoInstance = $fileIoInstance; } diff --git a/inc/classes/main/database/databases/class_LocalFileDatabase.php b/inc/classes/main/database/databases/class_LocalFileDatabase.php index c4c67ee5..f49a9f16 100644 --- a/inc/classes/main/database/databases/class_LocalFileDatabase.php +++ b/inc/classes/main/database/databases/class_LocalFileDatabase.php @@ -206,7 +206,7 @@ class LocalFileDatabase extends BaseDatabaseBackend implements DatabaseBackendIn //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('DATABASE: Writing ' . strlen($compressedData) . ' bytes ...'); // Write this data BASE64 encoded to the file - $this->getFileIoInstance()->saveFile($fqfn, $compressedData); + $this->getFileIoInstance()->saveFile($fqfn, $compressedData, $this); // Debug message //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('DATABASE: Flushing ' . count($dataArray) . ' elements to database file completed.'); diff --git a/inc/classes/middleware/io/class_FileIoHandler.php b/inc/classes/middleware/io/class_FileIoHandler.php index 533dce3e..88b0401f 100644 --- a/inc/classes/middleware/io/class_FileIoHandler.php +++ b/inc/classes/middleware/io/class_FileIoHandler.php @@ -22,7 +22,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class FileIoHandler extends BaseMiddleware { +class FileIoHandler extends BaseMiddleware implements IoHandler { /** * The *real* file input class we shall use for reading data */ @@ -119,19 +119,27 @@ class FileIoHandler extends BaseMiddleware { /** * Saves a file with data by using the current output stream * - * @param $fileName Name of the file - * @param $dataStream File data stream + * @param $fileName Name of the file + * @param $dataStream File data stream + * @param $objectInstance An instance of a FrameworkInterface class (default: NULL) * @return void - * @see FileOutputStreamer */ - public function saveFile ($fileName, $dataStream) { + public function saveFile ($fileName, $dataStream, FrameworkInterface $objectInstance = NULL) { // Get output stream $outInstance = $this->getOutputStream(); + // Default is this array + $className = $this->__toString(); + + // Is the object instance set? + if ($objectInstance instanceof FrameworkInterface) { + // Then use this + $className = $objectInstance->__toString(); + } // END - if + // Prepare output array $dataArray = array( - // @TODO What is this for? - 0 => $this->__toString(), + 0 => $className, 1 => $dataStream ); @@ -141,8 +149,8 @@ class FileIoHandler extends BaseMiddleware { /** Loads data from a file over the input handler * + * @param $fqfn Given full-qualified file name (FQFN) to load * @return $array Array with the file contents - * @see FileInputStreamer */ public function loadFileContents ($fqfn) { // Get output stream -- 2.39.5