From c480411673d15089357c18e8482144186464a8a0 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Tue, 24 Mar 2015 20:56:53 +0100 Subject: [PATCH] Moved more methods to 'core' as they are now more generalized. Signed-off-by: Roland Haeder --- .../html/class_HtmlCompanyCommandResolver.php | 115 +----------------- ...ss_HtmlGovernmentFailedCommandResolver.php | 112 +---------------- core | 2 +- 3 files changed, 3 insertions(+), 226 deletions(-) diff --git a/application/shipsimu/main/resolver/command/html/class_HtmlCompanyCommandResolver.php b/application/shipsimu/main/resolver/command/html/class_HtmlCompanyCommandResolver.php index e04768c..5b5fd9c 100644 --- a/application/shipsimu/main/resolver/command/html/class_HtmlCompanyCommandResolver.php +++ b/application/shipsimu/main/resolver/command/html/class_HtmlCompanyCommandResolver.php @@ -37,7 +37,7 @@ class HtmlCompanyCommandResolver extends BaseCommandResolver implements CommandR parent::__construct(__CLASS__); // Set prefix to "Html" - $this->setCommandPrefix('Html'); + $this->setCommandPrefix('html'); } /** @@ -71,119 +71,6 @@ class HtmlCompanyCommandResolver extends BaseCommandResolver implements CommandR // Return the prepared instance return $resolverInstance; } - - /** - * Returns an command instance for a given request class or null if - * it was not found - * - * @param $requestInstance An instance of a request class - * @return $commandInstance An instance of the resolved command - * @throws InvalidCommandException Thrown if $commandName is - * invalid - * @throws InvalidCommandInstanceException Thrown if $commandInstance - * is an invalid instance - */ - public function resolveCommandByRequest (Requestable $requestInstance) { - // Init instance - $commandInstance = null; - - // This goes fine so let's resolv the command - $commandName = str_replace('-', '_', $requestInstance->getRequestElement('app')) . '_' . $requestInstance->getRequestElement('page'); - - // Is there a "failed" request? - if ($requestInstance->isRequestElementSet('failed')) { - // Then include with within the command name - $commandName = $commandName . '_' . $requestInstance->getRequestElement('failed'); - } // END - if - - // Is the command empty? Then fall back to default command - if (empty($commandName)) $commandName = $this->getConfigInstance()->getConfigEntry('default_web_command'); - - // Check if command is valid - if ($this->isCommandValid($commandName) === false) { - // This command is invalid! - throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); - } // END - if - - // Get the command - $commandInstance = $this->loadCommand($commandName); - - // And validate it - if ((!is_object($commandInstance)) || (!$commandInstance instanceof Commandable)) { - // This command has an invalid instance! - throw new InvalidCommandInstanceException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); - } // END - if - - // Set last command - $this->lastCommandInstance = $commandInstance; - - // Return the resolved command instance - return $commandInstance; - } - - /** - * Resolves the command by its direct name and returns an instance of its class - * - * @param $commandName The direct command name we shall resolve - * @return $commandInstance An instance of the command class - * @throws InvalidCommandException Thrown if $commandName is invalid - */ - public function resolveCommand ($commandName) { - // Initiate the instance variable - $commandInstance = null; - - // Is the command empty? Then fall back to default command - if (empty($commandName)) $commandName = $this->getConfigInstance()->getConfigEntry('default_web_command'); - - // Check if command is valid - if ($this->isCommandValid($commandName) === false) { - // This command is invalid! - throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); - } - - // Get the command - $commandInstance = $this->loadCommand($commandName); - - // Return the instance - return $commandInstance; - } - - /** - * "Loads" a given command and instances it if not yet cached - * - * @param $commandName A command name we shall look for - * @return $commandInstance A loaded command instance - * @throws InvalidCommandException Thrown if even the default - * command class is missing (bad!) - */ - private function loadCommand ($commandName) { - // Cache default command - $defaultCommand = $this->getConfigInstance()->getConfigEntry('default_web_command'); - - // Init command instance - $commandInstance = null; - - // Get 'app' from the application - $app = Registry::getRegistry()->getInstance('application')->getRequestInstance()->getRequestElement('app'); - - // Create command class name - $this->setClassName(sprintf('%s%sCommand', - $this->getCommandPrefix(), - $this->convertToClassName($commandName) - )); - - // Is this class loaded? - if (!class_exists($this->getClassName())) { - // Class not found, so throw an exception - throw new InvalidCommandException(array($this, $defaultCommand), self::EXCEPTION_INVALID_COMMAND); - } // END - if - - // Initiate the command - $commandInstance = ObjectFactory::createObjectByName($this->getClassName(), array($this)); - - // Return the result - return $commandInstance; - } } // [EOF] diff --git a/application/shipsimu/main/resolver/command/html/class_HtmlGovernmentFailedCommandResolver.php b/application/shipsimu/main/resolver/command/html/class_HtmlGovernmentFailedCommandResolver.php index a83f222..16edb50 100644 --- a/application/shipsimu/main/resolver/command/html/class_HtmlGovernmentFailedCommandResolver.php +++ b/application/shipsimu/main/resolver/command/html/class_HtmlGovernmentFailedCommandResolver.php @@ -37,7 +37,7 @@ class HtmlGovernmentFailedCommandResolver extends BaseCommandResolver implements parent::__construct(__CLASS__); // Set prefix to "Html" - $this->setCommandPrefix('Html'); + $this->setCommandPrefix('html'); } /** @@ -71,116 +71,6 @@ class HtmlGovernmentFailedCommandResolver extends BaseCommandResolver implements // Return the prepared instance return $resolverInstance; } - - /** - * Returns an command instance for a given request class or null if - * it was not found - * - * @param $requestInstance An instance of a request class - * @return $commandInstance An instance of the resolved command - * @throws InvalidCommandException Thrown if $commandName is - * invalid - * @throws InvalidCommandInstanceException Thrown if $commandInstance - * is an invalid instance - */ - public function resolveCommandByRequest (Requestable $requestInstance) { - // Init instance - $commandInstance = null; - - // This goes fine so let's resolv the command - $commandName = $requestInstance->getRequestElement('page'); - - // Is there a "failed" request? - if ($requestInstance->isRequestElementSet('failed')) { - // Then include with within the command name - $commandName = sprintf('%s_%s', $commandName, $requestInstance->getRequestElement('failed')); - } // END - if - - // Is the command empty? Then fall back to default command - if (empty($commandName)) $commandName = $this->getConfigInstance()->getConfigEntry('default_web_command'); - - // Check if command is valid - if ($this->isCommandValid($commandName) === false) { - // This command is invalid! - throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); - } // END - if - - // Get the command - $commandInstance = $this->loadCommand($commandName); - - // And validate it - if ((!is_object($commandInstance)) || (!$commandInstance instanceof Commandable)) { - // This command has an invalid instance! - throw new InvalidCommandInstanceException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); - } // END - if - - // Set last command - $this->lastCommandInstance = $commandInstance; - - // Return the resolved command instance - return $commandInstance; - } - - /** - * Resolves the command by its direct name and returns an instance of its class - * - * @param $commandName The direct command name we shall resolve - * @return $commandInstance An instance of the command class - * @throws InvalidCommandException Thrown if $commandName is invalid - */ - public function resolveCommand ($commandName) { - // Initiate the instance variable - $commandInstance = null; - - // Is the command empty? Then fall back to default command - if (empty($commandName)) $commandName = $this->getConfigInstance()->getConfigEntry('default_web_command'); - - // Check if command is valid - if ($this->isCommandValid($commandName) === false) { - // This command is invalid! - throw new InvalidCommandException(array($this, $commandName), self::EXCEPTION_INVALID_COMMAND); - } - - // Get the command - $commandInstance = $this->loadCommand($commandName); - - // Return the instance - return $commandInstance; - } - - /** - * "Loads" a given command and instances it if not yet cached - * - * @param $commandName A command name we shall look for - * @return $commandInstance A loaded command instance - * @throws InvalidCommandException Thrown if even the default - * command class is missing (bad!) - */ - private function loadCommand ($commandName) { - // Cache default command - $defaultCommand = $this->getConfigInstance()->getConfigEntry('default_web_command'); - - // Init command instance - $commandInstance = null; - - // Create command class name - $this->setClassName(sprintf('%s%sCommand', - $this->getCommandPrefix(), - $this->convertToClassName($commandName) - )); - - // Is this class loaded? - if (!class_exists($this->getClassName())) { - // Class not found, so throw an exception - throw new InvalidCommandException(array($this, $defaultCommand), self::EXCEPTION_INVALID_COMMAND); - } // END - if - - // Initiate the command - $commandInstance = ObjectFactory::createObjectByName($this->getClassName(), array($this)); - - // Return the result - return $commandInstance; - } } // [EOF] diff --git a/core b/core index a142fe5..b84edaf 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit a142fe5eeaaa17a434c80ea103088558157c43bb +Subproject commit b84edaf9f45857dea7078c230cea0290089c0770 -- 2.39.5