*
* @author Roland Haeder <webmaster@ship-simu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.ship-simu.org
*
// Status results
const RESULT_OKAY = 'ok';
- /**
- * Save path for "file database"
- */
- private $savePath = '';
-
/**
* The file's extension
*/
/**
* Last exception
*/
- private $lastException = null;
+ private $lastException = NULL;
/**
* Table information array
*
* @return void
*/
- protected function __construct() {
+ protected function __construct () {
// Call parent constructor
parent::__construct(__CLASS__);
}
/**
- * Create an object of LocalFileDatabase and set the save path for local files.
- * This method also validates the given file path.
+ * Create an object of LocalFileDatabase and set the save path from
+ * configuration for local files.
*
- * @param $savePath The local file path string
- * @param $ioInstance The input/output handler. This
- * should be FileIoHandler
- * @return $dbInstance An instance of LocalFileDatabase
+ * @return $databaseInstance An instance of LocalFileDatabase
*/
- public final static function createLocalFileDatabase ($savePath, FileIoHandler $ioInstance) {
+ public static final function createLocalFileDatabase () {
// Get an instance
$databaseInstance = new LocalFileDatabase();
- // Set save path and IO instance
- $databaseInstance->setSavePath($savePath);
- $databaseInstance->setFileIoInstance($ioInstance);
+ // Get a new compressor channel instance
+ $compressorInstance = ObjectFactory::createObjectByConfiguredName('compressor_channel_class');
// Set the compressor channel
- $databaseInstance->setCompressorChannel(CompressorChannel::createCompressorChannel(
- $databaseInstance->getConfigInstance()->getConfigEntry('base_path').
- $databaseInstance->getConfigInstance()->getConfigEntry('compressor_base_path')
- ));
+ $databaseInstance->setCompressorChannel($compressorInstance);
// "Connect" to the database
$databaseInstance->connectToDatabase();
return $databaseInstance;
}
- /**
- * Setter for save path
- *
- * @param $savePath The local save path where we shall put our serialized classes
- * @return void
- */
- public final function setSavePath ($savePath) {
- // Set save path
- $this->savePath = (string) $savePath;
- }
-
- /**
- * Getter for save path
- *
- * @return $savePath The local save path where we shall put our serialized classes
- */
- public final function getSavePath () {
- return $this->savePath;
- }
-
/**
* Getter for last error message
*
*/
private final function resetLastError () {
$this->lastError = '';
- $this->lastException = null;
+ $this->lastException = NULL;
}
/**
*/
private function generateFqfnFromDataSet (Criteria $dataSetInstance, $rowName) {
// This is the FQFN
- $fqfn = $this->getSavePath() . $dataSetInstance->getTableName() . '/' . $rowName . '.' . $this->getFileExtension();
+ $fqfn = $this->getConfigInstance()->getConfigEntry('local_db_path') . $dataSetInstance->getTableName() . '/' . $rowName . '.' . $this->getFileExtension();
// Return it
return $fqfn;
*/
public function querySelect ($resultType, $tableName, LocalSearchCriteria $criteriaInstance) {
// The result is null by any errors
- $resultData = null;
+ $resultData = NULL;
// Create full path name
- $pathName = $this->getSavePath() . $tableName . '/';
+ $pathName = $this->getConfigInstance()->getConfigEntry('local_db_path') . $tableName . '/';
// A 'select' query is not that easy on local files, so first try to
// find the 'table' which is in fact a directory on the server
} catch (FrameworkException $e) {
// Catch all exceptions and store them in last error
$this->lastException = $e;
- $this->lastError = $e->getMessage();
+ $this->lastError = $e->getMessage();
// Throw an SQL exception
- throw new SqlException (array($this, sprintf("Cannot write data to table '%s'", $tableName), self::DB_CODE_TABLE_UNWRITEABLE), self::EXCEPTION_SQL_QUERY);
+ throw new SqlException (array($this, sprintf("Cannot write data to table '%s', is the table created?", $dataSetInstance->getTableName()), self::DB_CODE_TABLE_UNWRITEABLE), self::EXCEPTION_SQL_QUERY);
}
}
*/
public function queryUpdateDataSet (StoreableCriteria $dataSetInstance) {
// Create full path name
- $pathName = $this->getSavePath() . $dataSetInstance->getTableName() . '/';
+ $pathName = $this->getConfigInstance()->getConfigEntry('local_db_path') . $dataSetInstance->getTableName() . '/';
// Try all the requests
try {
$this->lastError = $e->getMessage();
// Throw an SQL exception
- throw new SqlException (array($this, sprintf("Cannot write data to table '%s'", $dataSetInstance->getTableName()), self::DB_CODE_TABLE_UNWRITEABLE), self::EXCEPTION_SQL_QUERY);
+ throw new SqlException (array($this, sprintf("Cannot write data to table '%s', is the table created?", $dataSetInstance->getTableName()), self::DB_CODE_TABLE_UNWRITEABLE), self::EXCEPTION_SQL_QUERY);
}
}
*/
public function getPrimaryKeyOfTable ($tableName) {
// Default key is null
- $primaryKey = null;
+ $primaryKey = NULL;
// Does the table information exist?
if (isset($this->tableInfo[$tableName])) {