]> git.mxchange.org Git - city.git/blobdiff - application/city/class_ApplicationHelper.php
Continued:
[city.git] / application / city / class_ApplicationHelper.php
index 9ced8a1907719485ae326bd48a50e8d3d00c1451..3d9c194a25253fe45a2a9f4cdb3a3a71defa6538 100644 (file)
@@ -3,13 +3,14 @@
 namespace Org\Mxchange\CoreFramework\Helper\Application;
 
 // Import framework stuff
+use Org\Mxchange\CoreFramework\Application\BaseApplication;
 use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap;
-use Org\Mxchange\CoreFramework\Factory\ObjectFactory;
+use Org\Mxchange\CoreFramework\Factory\Object\ObjectFactory;
 use Org\Mxchange\CoreFramework\Loader\ClassLoader;
 use Org\Mxchange\CoreFramework\Manager\ManageableApplication;
-use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem;
 use Org\Mxchange\CoreFramework\Registry\Registerable;
 use Org\Mxchange\CoreFramework\Template\CompileableTemplate;
+use Org\Mxchange\CoreFramework\Utils\Strings\StringUtils;
 
 /**
  * A class holding general data about the application and some methods for
@@ -50,27 +51,7 @@ use Org\Mxchange\CoreFramework\Template\CompileableTemplate;
  * 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 ApplicationHelper extends BaseFrameworkSystem implements ManageableApplication, Registerable {
-       /**
-        * The version number of this application
-        */
-       private $appVersion = '';
-
-       /**
-        * The human-readable name for this application
-        */
-       private $appName = '';
-
-       /**
-        * The short uni*-like name for this application
-        */
-       private $shortName = '';
-
-       /**
-        * An instance of this class
-        */
-       private static $selfInstance = NULL;
-
+class ApplicationHelper extends BaseApplication implements ManageableApplication, Registerable {
        /**
         * Private constructor
         *
@@ -88,71 +69,13 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
         */
        public static final function getSelfInstance () {
                // Is the instance there?
-               if (is_null(self::$selfInstance)) {
-                       self::$selfInstance = new ApplicationHelper();
-               } // END - if
+               if (is_null(self::getApplicationInstance())) {
+                       // Set it
+                       self::setApplicationInstance(new ApplicationHelper());
+               }
 
                // Return the instance
-               return self::$selfInstance;
-       }
-
-       /**
-        * Getter for the version number
-        *
-        * @return      $appVersion     The application's version number
-        */
-       public final function getAppVersion () {
-               return $this->appVersion;
-       }
-       /**
-        * Setter for the version number
-        *
-        * @param       $appVersion     The application's version number
-        * @return      void
-        */
-       public final function setAppVersion ($appVersion) {
-               // Cast and set it
-               $this->appVersion = (string) $appVersion;
-       }
-
-       /**
-        * Getter for human-readable name
-        *
-        * @return      $appName        The application's human-readable name
-        */
-       public final function getAppName () {
-               return $this->appName;
-       }
-
-       /**
-        * Setter for human-readable name
-        *
-        * @param       $appName        The application's human-readable name
-        * @return      void
-        */
-       public final function setAppName ($appName) {
-               // Cast and set it
-               $this->appName = (string) $appName;;
-       }
-
-       /**
-        * Getter for short uni*-like name
-        *
-        * @return      $shortName      The application's short uni*-like name
-        */
-       public final function getAppShortName () {
-               return $this->shortName;
-       }
-
-       /**
-        * Setter for short uni*-like name
-        *
-        * @param       $shortName      The application's short uni*-like name
-        * @return      void
-        */
-       public final function setAppShortName ($shortName) {
-               // Cast and set it
-               $this->shortName = (string) $shortName;
+               return self::getApplicationInstance();
        }
 
        /**
@@ -203,29 +126,44 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
 
                        // Set it in request
                        $requestInstance->setRequestElement('command', $commandName);
-               } // END - if
+               }
 
                // Get a controller resolver
                $resolverClass = sprintf(
                        'Org\Mxchange\City\Resolver\Controller\%s',
-                       self::convertToClassName(sprintf(
+                       StringUtils::convertToClassName(sprintf(
                                '%s_%s_controller_resolver',
                                $this->getAppShortName(),
                                FrameworkBootstrap::getRequestTypeFromSystem()
                        ))
                );
-               $resolverInstance = ObjectFactory::createObjectByName($resolverClass, array($commandName, $this));
+               $resolverInstance = ObjectFactory::createObjectByName($resolverClass, array($commandName));
 
                // Get a controller instance as well
                $this->setControllerInstance($resolverInstance->resolveController());
 
-               // Launch the test suite here
+               // Initialize language system
+               $languageInstance = ObjectFactory::createObjectByConfiguredName('language_system_class');
+
+               // And set it here
+               FrameworkBootstrap::setLanguageInstance($languageInstance);
+
+               // Is html request?
+               if (FrameworkBootstrap::getRequestTypeFromSystem() == 'html') {
+                       // Init web output instance
+                       $this->initWebOutputInstance();
+               }
+
+               // Launch the application here
                $this->getControllerInstance()->handleRequest($requestInstance, $responseInstance);
 
-               // -------------------------- Shutdown phase --------------------------
-               self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('MAIN: Shutdown in progress ...');
-               $this->getControllerInstance()->executeShutdownFilters($requestInstance, $responseInstance);
-               self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('MAIN: Shutdown completed. (This is the last line.)');
+               // Is console request?
+               if (FrameworkBootstrap::getRequestTypeFromSystem() == 'console') {
+                       // -------------------------- Shutdown phase --------------------------
+                       self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('MAIN: Shutdown in progress ...');
+                       $this->getControllerInstance()->executeShutdownFilters($requestInstance, $responseInstance);
+                       self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('MAIN: Shutdown completed. (This is the last line.)');
+               }
        }
 
        /**
@@ -239,7 +177,7 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
                // Walk through all messages
                foreach ($messageList as $message) {
                        exit(__METHOD__ . ':MSG:' . $message);
-               } // END - foreach
+               }
        }
 
        /**