Continued:
[core.git] / framework / main / classes / database / result / class_CachedDatabaseResult.php
index d69b491794fc07c237c4ea164cc5142fd2f45fff..12593ac5a8436a684e768b2a6fc50ce56c0e041c 100644 (file)
@@ -1,18 +1,18 @@
 <?php
 // Own namespace
-namespace CoreFramework\Result\Database;
+namespace Org\Mxchange\CoreFramework\Result\Database;
 
 // Import framework stuff
-use CoreFramework\Criteria\Local\LocalSearchCriteria;
-use CoreFramework\Criteria\Local\LocalUpdateCriteria;
-use CoreFramework\Criteria\Storing\StoreableCriteria;
-use CoreFramework\Database\Frontend\DatabaseWrapper;
-use CoreFramework\Database\Backend\BaseDatabaseBackend;
-use CoreFramework\Request\Requestable;
-use CoreFramework\Result\Search\SearchableResult;
-use CoreFramework\Result\Update\UpdateableResult;
+use Org\Mxchange\CoreFramework\Criteria\Local\LocalSearchCriteria;
+use Org\Mxchange\CoreFramework\Criteria\Local\LocalUpdateCriteria;
+use Org\Mxchange\CoreFramework\Criteria\Storing\StoreableCriteria;
+use Org\Mxchange\CoreFramework\Database\Frontend\DatabaseWrapper;
+use Org\Mxchange\CoreFramework\Database\Backend\BaseDatabaseBackend;
+use Org\Mxchange\CoreFramework\Result\Search\SearchableResult;
+use Org\Mxchange\CoreFramework\Result\Update\UpdateableResult;
 
 // Import SPL stuff
+use \InvalidArgumentException;
 use \SeekableIterator;
 
 /**
@@ -55,12 +55,12 @@ class CachedDatabaseResult extends BaseDatabaseResult implements SearchableResul
        /**
         * Result array
         */
-       private $resultArray = array();
+       private $resultArray = [];
 
        /**
         * Array of out-dated entries
         */
-       private $outDated = array();
+       private $outDated = [];
 
        /**
         * Affected rows
@@ -87,8 +87,18 @@ class CachedDatabaseResult extends BaseDatabaseResult implements SearchableResul
         *
         * @param       $resultArray            The array holding the result from query
         * @return      $resultInstance         An instance of this class
+        * @throws      InvalidArgumentException        If a parameter is invalid
         */
        public static final function createCachedDatabaseResult (array $resultArray) {
+               // Misses an element?
+               if (count($resultArray) == 0) {
+                       // Cannot be empty
+                       throw new InvalidArgumentException('Array "resultArray" cannot be empty.');
+               } elseif (!array_key_exists(BaseDatabaseBackend::RESULT_INDEX_ROWS, $resultArray)) {
+                       // Yes, then abort here
+                       throw new InvalidArgumentException(sprintf('resultArray(%d)=%s has no element "%s".', count($resultArray), print_r($resultArray, TRUE), BaseDatabaseBackend::RESULT_INDEX_ROWS));
+               }
+
                // Get a new instance
                $resultInstance = new CachedDatabaseResult();
 
@@ -249,7 +259,7 @@ class CachedDatabaseResult extends BaseDatabaseResult implements SearchableResul
         */
        public function rewind () {
                $this->currentPos = -1;
-               $this->currentRow = array();
+               $this->currentRow = [];
        }
 
        /**
@@ -350,10 +360,9 @@ class CachedDatabaseResult extends BaseDatabaseResult implements SearchableResul
         * Adds registration elements to a given dataset instance
         *
         * @param       $criteriaInstance       An instance of a StoreableCriteria class
-        * @param       $requestInstance        An instance of a Requestable class
         * @return      void
         */
-       public function addElementsToDataSet (StoreableCriteria $criteriaInstance, Requestable $requestInstance = NULL) {
+       public function addElementsToDataSet (StoreableCriteria $criteriaInstance) {
                // Walk only through out-dated columns
                foreach ($this->outDated as $key => $dummy) {
                        // Does this key exist?