From: Roland Haeder Date: Tue, 20 May 2014 21:07:52 +0000 (+0200) Subject: Switched from unabstracted file pointer class to a better abstract approach (unfinished). X-Git-Url: https://git.mxchange.org/?p=core.git;a=commitdiff_plain;h=f2e5c734f1b1397a95d517094152da14b136b5a1 Switched from unabstracted file pointer class to a better abstract approach (unfinished). Signed-off-by: Roland Häder --- diff --git a/inc/classes/main/index/class_BaseIndex.php b/inc/classes/main/index/class_BaseIndex.php index 748a278a..18b2d69a 100644 --- a/inc/classes/main/index/class_BaseIndex.php +++ b/inc/classes/main/index/class_BaseIndex.php @@ -189,16 +189,17 @@ class BaseIndex extends BaseFrameworkSystem { * * @param $fileName File name of this index * @return void + * @todo Currently the index file is not cached, please implement a memory-handling class and if enough RAM is found, cache the whole index file. */ protected function initIndex ($fileName) { // Append index file extension $fileName .= $this->getConfigInstance()->getConfigEntry('index_extension'); // Get a file i/o pointer instance for index file - $pointerInstance = ObjectFactory::createObjectByConfiguredName('file_raw_input_output_class', array($fileName)); + $fileInstance = ObjectFactory::createObjectByConfiguredName('index_file_class', array($fileName)); // Get iterator instance - $iteratorInstance = ObjectFactory::createObjectByConfiguredName('file_io_iterator_class', array($pointerInstance)); + $iteratorInstance = ObjectFactory::createObjectByConfiguredName('file_io_iterator_class', array($fileInstance)); // Is the instance implementing the right interface? assert($iteratorInstance instanceof SeekableWritableFileIterator); diff --git a/inc/classes/main/stacker/file/class_BaseFileStack.php b/inc/classes/main/stacker/file/class_BaseFileStack.php index 9b662aac..4729486a 100644 --- a/inc/classes/main/stacker/file/class_BaseFileStack.php +++ b/inc/classes/main/stacker/file/class_BaseFileStack.php @@ -198,13 +198,14 @@ class BaseFileStack extends BaseStacker { * @param $fileName File name of this stack * @param $type Type of this stack (e.g. url_source for URL sources) * @return void + * @todo Currently the stack file is not cached, please implement a memory-handling class and if enough RAM is found, cache the whole stack file. */ protected function initFileStack ($fileName, $type) { // Get a file i/o pointer instance for stack file - $pointerInstance = ObjectFactory::createObjectByConfiguredName('file_raw_input_output_class', array($fileName)); + $fileInstance = ObjectFactory::createObjectByConfiguredName('stack_file_class', array($fileName)); // Get iterator instance - $iteratorInstance = ObjectFactory::createObjectByConfiguredName('file_io_iterator_class', array($pointerInstance)); + $iteratorInstance = ObjectFactory::createObjectByConfiguredName('file_io_iterator_class', array($fileInstance)); // Is the instance implementing the right interface? assert($iteratorInstance instanceof SeekableWritableFileIterator); diff --git a/inc/config.php b/inc/config.php index cecc8552..a51fb8df 100644 --- a/inc/config.php +++ b/inc/config.php @@ -386,5 +386,11 @@ $cfg->setConfigEntry('index_pre_allocate_enabled', 'Y'); // CFG: INDEX-PRE-ALLOCATE-COUNT $cfg->setConfigEntry('index_pre_allocate_count', 10000); +// CFG: STACK-FILE-CLASS +$cfg->setConfigEntry('stack_file_class', 'StackFile'); + +// CFG: INDEX-FILE-CLASS +$cfg->setConfigEntry('index_file_class', 'IndexFile'); + // [EOF] ?>