Code merge from latest ship-simu code
[mailer.git] / inc / classes / main / controller / default / class_WebDefaultNewsController.php
index ff86531c71e8a5e59670dd1d9c022f38961b16e3..b8bbc05544c0ea0d7482b47de98ed63e1f52d9e8 100644 (file)
  */
 class WebDefaultNewsController extends BaseController implements Controller {
        /**
-        * Instance of a CommandResolver class
-        */
-       private $resolverInstance = null;
-
-       /**
-        * Private constructor
+        * Protected constructor
         *
         * @return      void
         */
@@ -37,13 +32,10 @@ class WebDefaultNewsController extends BaseController implements Controller {
                parent::__construct(__CLASS__);
 
                // Set part description
-               $this->setObjectDescription("Standart-Controller mit News-Auflistung");
+               $this->setObjectDescription("Default controller with news");
 
                // Create unique ID number
                $this->createUniqueID();
-
-               // Clean up a little
-               $this->removeSystemArray();
        }
 
        /**
@@ -63,16 +55,6 @@ class WebDefaultNewsController extends BaseController implements Controller {
                return $controllerInstance;
        }
 
-       /**
-        * Setter for a command resolver instance
-        *
-        * @param       $resolverInstance       An instance of a command resolver class
-        * @return      void
-        */
-       public final function setResolverInstance (CommandResolver $resolverInstance) {
-               $this->resolverInstance = $resolverInstance;
-       }
-
        /**
         * Handles the given request and response
         *
@@ -82,13 +64,13 @@ class WebDefaultNewsController extends BaseController implements Controller {
         */
        public function handleRequest (Requestable $requestInstance, Responseable $responseInstance) {
                // Get the command instance from the resolver by sending a request instance to the resolver
-               $commandInstance = $this->resolverInstance->resolvCommandByRequest($requestInstance);
-
-               // Get the news page variable from the request instance
-               $newsPage = $requestInstance->getRequestElement("news_page");
+               $commandInstance = $this->getResolverInstance()->resolvCommandByRequest($requestInstance);
 
                // Load the news here
-               $this->loadNews($newsPage);
+               $this->loadNewsByRequest($requestInstance);
+
+               // This request was valid! :-D
+               $requestInstance->requestIsValid();
 
                // Execute the command
                $commandInstance->execute($requestInstance, $responseInstance);
@@ -98,12 +80,14 @@ class WebDefaultNewsController extends BaseController implements Controller {
        }
 
        /**
-        * Loads news from the connected database for later usage
+        * Loads news by a given request
         *
-        * @param       $newsPage       Page of listed news we want to read
+        * @param       $requestInstance        An instance of a request class
         * @return      void
         */
-       private function loadNews ($newsPage) {
+       private function loadNewsByRequest (Requestable $requestInstance) {
+               // Generate a new news object but not carring about which concrete we have
+               $newsInstance = WebNewsFactory::createFactoryByRequest($requestInstance)->createNewsObject();
        }
 }