Renamed Registry -> GenericRegistry to make it clear that this registry does
[core.git] / framework / main / classes / resolver / controller / class_BaseControllerResolver.php
index 3f906f9fd56e0765962c2f7ee479cc404033dce2..ff10fc88143361f430ed58cd770b1b13093cd70a 100644 (file)
@@ -1,14 +1,18 @@
 <?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\DefaultControllerException;
+use Org\Mxchange\CoreFramework\Controller\Controller;
+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
  *
@@ -31,7 +35,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 +80,7 @@ class BaseControllerResolver extends BaseResolver {
                        // Create controller class name
                        $className = sprintf(
                                '%s\%s%sController',
-                               $namespace,
+                               $this->getNamespace(),
                                $this->getCapitalizedClassPrefix(),
                                self::convertToClassName($controllerName)
                        );
@@ -109,7 +113,7 @@ class BaseControllerResolver extends BaseResolver {
                        $resolverConfigEntry,
                        array(
                                $controllerName,
-                               $this->getApplicationInstance()
+                               Registry::getRegistry()->getInstance('app')
                        )
                );
                $controllerInstance = ObjectFactory::createObjectByName(
@@ -127,21 +131,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;
+               $isValid = false;
 
                // Is namespace and controller name 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');
+               }
 
                // Create class name
                $className = sprintf(
@@ -162,11 +166,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);