]> git.mxchange.org Git - hub.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Thu, 29 Oct 2020 18:31:07 +0000 (19:31 +0100)
committerRoland Häder <roland@mxchange.org>
Thu, 29 Oct 2020 18:31:07 +0000 (19:31 +0100)
- make sure $sessionId is set. If not, this indicates that
  PackageData::setSessionId() was not invoked.

Signed-off-by: Roland Häder <roland@mxchange.org>
application/hub/classes/database/frontend/node/class_NodeDistributedHashTableDatabaseWrapper.php
application/hub/classes/dht/node/class_NodeDhtFacade.php
application/hub/interfaces/database/frontend/class_NodeDhtWrapper.php
application/hub/interfaces/distributable/node/class_DistributableNode.php

index 0fc3de48d121ade928bdc8aaf4a504f30afa82f6..e2f7ceb01de8e0f30ac11ce257ec0ca45a42a5f4 100644 (file)
@@ -19,6 +19,9 @@ use Org\Mxchange\CoreFramework\Handler\DataSet\HandleableDataSet;
 use Org\Mxchange\CoreFramework\Registry\Registerable;
 use Org\Mxchange\CoreFramework\Result\Search\SearchableResult;
 
+// Import SPL stuff
+use \InvalidArgumentException;
+
 /**
  * A database wrapper for distributed hash tables
  *
@@ -307,10 +310,17 @@ class NodeDistributedHashTableDatabaseWrapper extends BaseHubDatabaseWrapper imp
         *
         * @param       $sessionId      Session id to lookup
         * @return      $resultInstance         An instance of a SearchableResult class
+        * @throws      InvalidArgumentException        If parameter $sessionId is not valid
         */
        public function findNodeLocalBySessionId ($sessionId) {
+               // Validate parameter
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('DHT-WRAPPER: sessionId=%s - CALLED!', $sessionId));
+               if (empty($sessionId)) {
+                       // Cannot be empty
+                       throw new InvalidArgumentException('Parameter "sessionId" is empty.');
+               }
+
                // Get search criteria
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('DHT-WRAPPER: sessionId=' . $sessionId . ' - CALLED!');
                $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
 
                // Search for session id and limit it to one entry
index 741db76e9837ad3d778edcd38690a12d95839a54..c2e992f3b8b83eb58d5e9a422049d5a9032b4bcd 100644 (file)
@@ -17,6 +17,9 @@ use Org\Mxchange\CoreFramework\Handler\DataSet\HandleableDataSet;
 use Org\Mxchange\CoreFramework\Registry\Registerable;
 use Org\Mxchange\CoreFramework\Result\Search\SearchableResult;
 
+// Import SPL stuff
+use \InvalidArgumentException;
+
 /**
  * A Node DHT facade class
  *
@@ -162,8 +165,14 @@ class NodeDhtFacade extends BaseDht implements DistributableNode, Registerable {
         * @return      $nodeData       Node-data array
         */
        public function findNodeLocalBySessionId ($sessionId) {
-               // Default is empty data array
+               // Validate parameter
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('NODE-DHT-FACADE: sessionId=%s - CALLED!', $sessionId));
+               if (empty($sessionId)) {
+                       // Cannot be empty
+                       throw new InvalidArgumentException('Parameter "sessionId" is empty.');
+               }
+
+               // Default is empty data array
                $nodeData = array();
 
                /*
index 2949a8b25ecdaec1bc3304a3fd57bad07b1dc034..e73f9720f2e32544f9ce5adfcfa98c17141549c0 100644 (file)
@@ -70,6 +70,7 @@ interface NodeDhtWrapper extends DatabaseWrapper {
         *
         * @param       $sessionId      Session id to lookup
         * @return      $resultInstance         An instance of a SearchableResult class
+        * @throws      InvalidArgumentException        If parameter $sessionId is not valid
         */
        function findNodeLocalBySessionId ($sessionId);
 
index 0699f318c3551130040552e09037d9bd0b923e10..b1fc197911d55612f31c9e7b555772ab1e81d1a6 100644 (file)
@@ -38,6 +38,7 @@ interface DistributableNode extends Distributable {
         *
         * @param       $sessionId      Session id to lookup
         * @return      $nodeData       Node-data array
+        * @throws      InvalidArgumentException        If parameter $sessionId is not valid
         */
        function findNodeLocalBySessionId ($sessionId);