]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/resolver/controller/class_BaseControllerResolver.php
Continued:
[core.git] / framework / main / classes / resolver / controller / class_BaseControllerResolver.php
index 3f906f9fd56e0765962c2f7ee479cc404033dce2..216aa11f89cbc587e13f5b078e1ad83eb6133979 100644 (file)
@@ -1,20 +1,25 @@
 <?php
 // Own namespace
-namespace CoreFramework\Resolver\Controller;
+namespace Org\Mxchange\CoreFramework\Resolver\Controller;
 
 // Import framework stuff
-use CoreFramework\Controller\DefaultControllerException;
-use CoreFramework\Controller\Controller;
-use CoreFramework\Factory\ObjectFactory;
-use CoreFramework\Generic\EmptyVariableException;
-use CoreFramework\Resolver\BaseResolver;
-use CoreFramework\Resolver\Controller\ControllerResolver;
+use Org\Mxchange\CoreFramework\Controller\Controller;
+use Org\Mxchange\CoreFramework\Controller\DefaultControllerException;
+use Org\Mxchange\CoreFramework\Controller\InvalidControllerException;
+use Org\Mxchange\CoreFramework\Factory\ObjectFactory;
+use Org\Mxchange\CoreFramework\Registry\GenericRegistry;
+use Org\Mxchange\CoreFramework\Resolver\BaseResolver;
+use Org\Mxchange\CoreFramework\Resolver\Controller\ControllerResolver;
+
+// Import SPL stuff
+use \InvalidArgumentException;
+
 /**
  * A generic controller resolver class
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2020 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.shipsimu.org
  *
@@ -31,7 +36,7 @@ use CoreFramework\Resolver\Controller\ControllerResolver;
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-class BaseControllerResolver extends BaseResolver {
+abstract class BaseControllerResolver extends BaseResolver {
        /**
         * Protected constructor
         *
@@ -76,7 +81,7 @@ class BaseControllerResolver extends BaseResolver {
                        // Create controller class name
                        $className = sprintf(
                                '%s\%s%sController',
-                               $namespace,
+                               $this->getNamespace(),
                                $this->getCapitalizedClassPrefix(),
                                self::convertToClassName($controllerName)
                        );
@@ -109,7 +114,7 @@ class BaseControllerResolver extends BaseResolver {
                        $resolverConfigEntry,
                        array(
                                $controllerName,
-                               $this->getApplicationInstance()
+                               GenericRegistry::getRegistry()->getInstance('application')
                        )
                );
                $controllerInstance = ObjectFactory::createObjectByName(
@@ -127,21 +132,21 @@ class BaseControllerResolver extends BaseResolver {
         * @param       $namespace                      Namespace to look in, no trailing backslash
         * @param       $controllerName         The default controller we shall execute
         * @return      $isValid                        Whether the given controller is valid
-        * @throws      EmptyVariableException          Thrown if given controller is not set
+        * @throws      InvalidArgumentException                Thrown if given controller is not set
         * @throws      DefaultControllerException      Thrown if default controller was not found
         */
        protected function isControllerValid ($namespace, $controllerName) {
-               // By default nothing shall be valid
-               $isValid = FALSE;
-
-               // Is namespace and controller name set?
+               // Is a action set?
                if (empty($namespace)) {
                        // Then thrown an exception here
-                       throw new EmptyVariableException(array($this, 'namespace'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+                       throw new InvalidArgumentException('Parameter "namespace" is empty');
                } elseif (empty($controllerName)) {
                        // Then thrown an exception here
-                       throw new EmptyVariableException(array($this, 'controllerName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
-               } // END - if
+                       throw new InvalidArgumentException('Parameter "controllerName" is empty');
+               }
+
+               // By default nothing shall be valid
+               $isValid = false;
 
                // Create class name
                $className = sprintf(
@@ -162,11 +167,11 @@ class BaseControllerResolver extends BaseResolver {
                $this->setClassName($className);
 
                // Try it hard to get an controller
-               while ($isValid === FALSE) {
+               while ($isValid === false) {
                        // Is this class already loaded?
                        if (class_exists($this->getClassName())) {
                                // This class does exist. :-)
-                               $isValid = TRUE;
+                               $isValid = true;
                        } elseif ($this->getClassName() != $newsControllerName) {
                                // Set default controller
                                $this->setClassName($newsControllerName);