*
* @author Roland Haeder <webmaster@ship-simu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software
+ * @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
*
const EXCEPTION_CLIENT_USERNAME_NOT_FOUND = 0x180;
// Constants for database columns
- const DB_COLUMN_USERID = "userid";
- const DB_COLUMN_USERNAME = "username";
- const DB_COLUMN_EMAIL = "email";
- const DB_COLUMN_CONFIRM_HASH = "confirm_hash";
- const DB_COLUMN_USER_STATUS = "user_status";
+ const DB_COLUMN_USERID = 'userid';
+ const DB_COLUMN_USERNAME = 'username';
+ const DB_COLUMN_EMAIL = 'email';
+ const DB_COLUMN_CONFIRM_HASH = 'confirm_hash';
+ const DB_COLUMN_USER_STATUS = 'user_status';
// Constants for database table names
- const DB_TABLE_USER = "user";
+ const DB_TABLE_USER = 'user';
/**
* Protected constructor
*
* @return void
*/
- protected function __construct() {
+ protected function __construct () {
// Call parent constructor
parent::__construct(__CLASS__);
}
*
* @return $wrapperInstance An instance of the created wrapper class
*/
- public final static function createUserDatabaseWrapper () {
+ public static final function createUserDatabaseWrapper () {
// Get a new instance
$wrapperInstance = new UserDatabaseWrapper();
*
* @param $resultInstance An instance of a Updateable database result
* @return void
+ * @throws NullPointerException If $updateInstance or $searchInstance is null
*/
public function doUpdateByResult (UpdateableResult $resultInstance) {
+ // Get the search instance from result
+ $searchInstance = $resultInstance->getSearchInstance();
+
+ // Is this null?
+ if (is_null($searchInstance)) {
+ // Get the update instance
+ $updateInstance = $resultInstance->getUpdateInstance();
+
+ // Is this null?
+ if (is_null($updateInstance)) {
+ // Throw an exception here
+ throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
+ } // END - if
+
+ // Get search instance from update instance
+ $searchInstance = $updateInstance->getSearchInstance();
+
+ // Is it still null?
+ if (is_null($searchInstance)) {
+ // Throw an exception here
+ throw new NullPointerException($updateInstance, self::EXCEPTION_IS_NULL_POINTER);
+ } // END - if
+ } // END - if
+
// Generate a data set object
$dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class', array(self::DB_TABLE_USER));
- // Add all update criteria to the database set
- $resultInstance->addElementsToDataSet($dataSetInstance);
-
// Add seach criteria
- $dataSetInstance->setSearchInstance($resultInstance->getSearchInstance());
+ $dataSetInstance->setSearchInstance($searchInstance);
// Set the primary key
$dataSetInstance->setUniqueKey(self::DB_COLUMN_USERNAME);
+ // Add all update criteria to the database set
+ $resultInstance->addElementsToDataSet($dataSetInstance);
+
// "Update" this request with the database
$this->getDatabaseInstance()->queryUpdateDataSet($dataSetInstance);
}