home *** CD-ROM | disk | FTP | other *** search
/ FCE Gold Plus / GOLD.iso / pc / shell.swf / scripts / __Packages / com / controller / UICoordinator.as
Encoding:
Text File  |  2007-10-16  |  13.0 KB  |  413 lines

  1. class com.controller.UICoordinator
  2. {
  3.    var c_objObjectManager;
  4.    var c_objScreenFactory;
  5.    var c_strASCIIUserName;
  6.    var c_strUserName;
  7.    var c_strcurrentTestName;
  8.    var c_iCurrentTestNumber;
  9.    var c_strFileName;
  10.    var c_strCurrentMode;
  11.    var c_strSkillName;
  12.    var c_strVolumeLevel;
  13.    var c_strTimeLeft;
  14.    var c_objInstructionXML;
  15.    var c_strIpPort;
  16.    var c_iTestTime;
  17.    var c_strXMLPath;
  18.    var c_strResultXMLPath;
  19.    var c_strOSEnvironment;
  20.    var c_iTotalTestQuestion;
  21.    var c_iTotalAttemptedQuestion;
  22.    var c_iTotalTestMark;
  23.    var c_strTitle;
  24.    static var c_objInstance;
  25.    var c_objTestXML = new Object();
  26.    function UICoordinator()
  27.    {
  28.       com.controller.UICoordinator.c_objInstance = null;
  29.    }
  30.    static function getInstance()
  31.    {
  32.       if(com.controller.UICoordinator.c_objInstance == null)
  33.       {
  34.          com.controller.UICoordinator.c_objInstance = new com.controller.UICoordinator();
  35.       }
  36.       return com.controller.UICoordinator.c_objInstance;
  37.    }
  38.    function init(_strDataPath)
  39.    {
  40.       var _loc1_ = this;
  41.       _loc1_.c_objObjectManager = new com.data.ObjectManager();
  42.       _loc1_.c_objScreenFactory = new com.screen.ScreenFactory();
  43.       _loc1_.c_objLoginHandler = new com.handler.LoginHandler();
  44.       _loc1_.c_objInstructionHandler = new com.handler.InstructionHandler();
  45.       _loc1_.c_objTestHandler = new com.handler.TestHandler();
  46.       _loc1_.c_objDAO = com.data.DAO.getInstance();
  47.       _loc1_.c_strUserName = "";
  48.       _loc1_.c_strASCIIUserName = "";
  49.       _loc1_.c_strcurrentTestName = "";
  50.       _loc1_.c_strTimeLeft = "";
  51.       _loc1_.c_strCurrentMode = "";
  52.       _loc1_.c_strSkillName = "";
  53.       _loc1_.c_iCurrentTestNumber = 0;
  54.       _loc1_.doAction("SETENVIRONMENT","");
  55.       _loc1_.doAction("INIT",_strDataPath);
  56.    }
  57.    function doAction(_strAction, _objParam)
  58.    {
  59.       var _loc1_ = this;
  60.       var _loc2_ = _objParam;
  61.       _loc1_.c_strXMLPath = _loc1_.c_objObjectManager.returnPath("XML");
  62.       _loc1_.c_strResultXMLPath = _loc1_.c_objObjectManager.returnPath("RESULTXML");
  63.       var _loc3_ = _loc1_.getOSEnvironment();
  64.       switch(_strAction)
  65.       {
  66.          case "SETENVIRONMENT":
  67.             _loc1_.setEnvironmentVariable();
  68.             break;
  69.          case "INIT":
  70.             _loc1_.c_objDAO.addListener(_loc1_);
  71.             _loc1_.c_objDAO.load("PathXML",_loc2_);
  72.             break;
  73.          case "LOGIN":
  74.             _loc1_.c_objDAO.load("BaseXML",_loc1_.c_strXMLPath + "base.xml");
  75.             break;
  76.          case "INSTRUCTION":
  77.             var strTemp = _loc1_.c_strFileName.charAt(_loc1_.c_strFileName.length - 1);
  78.             _loc1_.c_iCurrentTestNumber = strTemp;
  79.             _loc1_.c_objDAO.load("INSTRUCTIONXML",_loc1_.c_strXMLPath + "base.xml");
  80.             break;
  81.          case "TestXML":
  82.             _loc1_.ipPort = _loc1_.c_objObjectManager.returnPath("IPPort");
  83.             delete _loc1_.c_objLoginHandler;
  84.             _loc1_.c_objTestSelectHandler = new com.handler.TestSelectHandler();
  85.             _loc1_.c_objDAO.load("TestXML",_loc1_.c_strResultXMLPath + _loc1_.c_strXMLPath + "tests.xml");
  86.             break;
  87.          case "RecordXML":
  88.             _loc3_ = _loc1_.getOSEnvironment();
  89.             var strXML;
  90.             if(_loc3_ == "Linux")
  91.             {
  92.                strXML = _loc1_.getRecordSet();
  93.             }
  94.             _loc1_.c_objDAO.load("RecordXML",strXML);
  95.             break;
  96.          case "LoadScore":
  97.             _loc3_ = _loc1_.getOSEnvironment();
  98.             var strXML;
  99.             if(_loc3_ == "Linux")
  100.             {
  101.                var strUserName = com.controller.UICoordinator.getInstance().userASCIIName;
  102.                var strScoreFileName = String(_loc2_).split(".")[0];
  103.                strXML = _loc1_.c_objTestXML[strScoreFileName];
  104.             }
  105.             _loc1_.c_objDAO.load("ScoreXML",strXML);
  106.             break;
  107.          case "LOADTEST":
  108.             delete _loc1_.c_objLoginHandler;
  109.             var strTemp = _loc1_.c_strFileName.charAt(_loc1_.c_strFileName.length - 1);
  110.             _loc1_.c_iCurrentTestNumber = strTemp;
  111.             var strPath = _loc1_.c_strResultXMLPath + "tests/test" + _loc1_.c_iCurrentTestNumber + "/xml/";
  112.             _loc1_.c_objDAO.load("TestXML1",strPath + _loc1_.c_strFileName + ".xml");
  113.             break;
  114.          case "ReviewResult":
  115.             _loc1_.c_objTestHandler = new com.handler.TestHandler();
  116.             var strXML;
  117.             var strXMLFileName = _loc1_.convertToASCII(_loc2_.toString()) + ".xml";
  118.             var strTemp = _loc2_.charAt(_loc2_.length - 1);
  119.             _loc1_.c_iCurrentTestNumber = strTemp;
  120.             if(_loc3_ == "Linux")
  121.             {
  122.                var strUserName = com.controller.UICoordinator.getInstance().userASCIIName;
  123.                strXML = _loc1_.c_objTestXML[_loc1_.currentTestName];
  124.             }
  125.             _loc1_.c_objDAO.load("ReviewResultXML",strXML);
  126.             break;
  127.          case "SHOWRESULT":
  128.             _loc1_.c_objResultHandler = new com.handler.ResultHandler();
  129.             _loc1_.c_objResultHandler.startProcess("ShowResult",true);
  130.             break;
  131.          case "TestSound":
  132.             _loc1_.c_objTestSoundHandler = new com.handler.CheckSoundHandler();
  133.             _loc1_.c_objTestSoundHandler.startProcess("TestSound",true);
  134.       }
  135.    }
  136.    function DAOUpdate(_strXMLID)
  137.    {
  138.       var _loc1_ = this;
  139.       switch(_strXMLID)
  140.       {
  141.          case "PathXML":
  142.             if(_loc1_.c_objDAO.success)
  143.             {
  144.                if(_loc1_.c_objObjectManager.getObject("Path") != null && _loc1_.c_objObjectManager.getObject("Path") != undefined)
  145.                {
  146.                   _loc1_.c_objObjectManager.persistObject("PathXML",_loc1_.c_objObjectManager.getObject("Path"));
  147.                   _loc1_.doAction("LOGIN","");
  148.                }
  149.             }
  150.             else
  151.             {
  152.                trace("Error loading Path xml");
  153.             }
  154.             break;
  155.          case "BaseXML":
  156.             !_loc1_.c_objDAO.success ? (trace("Error loading Base xml"), ┬º┬ºpush(undefined), undefined) : _loc1_.c_objLoginHandler.startProcess("Login",true);
  157.             break;
  158.          case "INSTRUCTIONXML":
  159.             !_loc1_.c_objDAO.success ? (trace("Error loading Base xml"), ┬º┬ºpush(undefined), undefined) : _loc1_.c_objInstructionHandler.startProcess("Instruction",true);
  160.             break;
  161.          case "TestXML":
  162.             _loc1_.doAction("RecordXML","");
  163.             break;
  164.          case "RecordXML":
  165.             _loc1_.c_objRecordXML = _loc1_.c_objDAO.getDataSet("RecordXML:");
  166.             var _loc2_ = _loc1_.c_objObjectManager.getObject("RecordXML");
  167.             !_loc1_.c_objDAO.success ? (trace("Error loading test xml"), ┬º┬ºpush(undefined), undefined) : _loc1_.c_objTestSelectHandler.startProcess("TestSelect",_loc2_);
  168.             break;
  169.          case "ScoreXML":
  170.             !_loc1_.c_objDAO.success ? _loc1_.c_objTestSelectHandler.getScore("NOXML") : _loc1_.c_objTestSelectHandler.getScore("TestSelect");
  171.             break;
  172.          case "ContentXML":
  173.             !_loc1_.c_objDAO.success ? (trace("Error loading Content xml"), ┬º┬ºpush(undefined), undefined) : _loc1_.c_objTestHandler.startProcess("LoadTest",true);
  174.             break;
  175.          case "TestXML1":
  176.             !_loc1_.c_objDAO.success ? (trace("Error loading Content xml"), ┬º┬ºpush(undefined), undefined) : _loc1_.c_objTestHandler.startProcess("Test",true);
  177.             break;
  178.          case "ReviewResultXML":
  179.             !_loc1_.c_objDAO.success ? (trace("Error loading Content xml"), ┬º┬ºpush(undefined), undefined) : _loc1_.c_objTestHandler.reviewProcess("Test",true);
  180.       }
  181.    }
  182.    function setEnvironmentVariable()
  183.    {
  184.       var _loc1_ = System.capabilities.manufacturer;
  185.       var _loc2_ = _loc1_.split(" ")[1];
  186.       this.setOSEnvironment(_loc2_);
  187.    }
  188.    function destroyInstance(_objInstance, _objRef)
  189.    {
  190.       delete _objRef._objInstance;
  191.    }
  192.    function convertToASCII(_strValue)
  193.    {
  194.       var _loc3_ = _strValue;
  195.       _loc3_ = _loc3_.toUpperCase();
  196.       var strASCII = "";
  197.       var _loc2_ = 0;
  198.       while(_loc2_ < _loc3_.length)
  199.       {
  200.          var _loc1_ = Number(_loc3_.charCodeAt(_loc2_));
  201.          if(_loc1_ >= 65 && _loc1_ <= 86)
  202.          {
  203.             _loc1_ += 4;
  204.          }
  205.          else if(_loc1_ >= 86 && _loc1_ <= 90)
  206.          {
  207.             _loc1_ = _loc1_ + 4 - 26;
  208.          }
  209.          else
  210.          {
  211.             switch(_loc1_)
  212.             {
  213.                case 32:
  214.                   _loc1_ = 115;
  215.                   break;
  216.                case 34:
  217.                   _loc1_ = 97;
  218.                   break;
  219.                case 42:
  220.                   _loc1_ = 98;
  221.                   break;
  222.                case 47:
  223.                   _loc1_ = 99;
  224.                   break;
  225.                case 58:
  226.                   _loc1_ = 100;
  227.                   break;
  228.                case 60:
  229.                   _loc1_ = 101;
  230.                   break;
  231.                case 62:
  232.                   _loc1_ = 102;
  233.                   break;
  234.                case 63:
  235.                   _loc1_ = 103;
  236.                   break;
  237.                case 92:
  238.                   _loc1_ = 104;
  239.                   break;
  240.                case 124:
  241.                   _loc1_ = 105;
  242.             }
  243.          }
  244.          strASCII += String.fromCharCode(_loc1_);
  245.          _loc2_ = _loc2_ + 1;
  246.       }
  247.       return strASCII;
  248.    }
  249.    function getRecordSet()
  250.    {
  251.       var _loc1_ = this;
  252.       if(_loc1_.c_strRecordSet == undefined || _loc1_.c_strRecordSet == null)
  253.       {
  254.          _loc1_.c_strRecordSet = "<record />";
  255.       }
  256.       return _loc1_.c_strRecordSet;
  257.    }
  258.    function getObjectManagerInstance()
  259.    {
  260.       return this.c_objObjectManager;
  261.    }
  262.    function getScreenFactoryInstance()
  263.    {
  264.       return this.c_objScreenFactory;
  265.    }
  266.    function get userASCIIName()
  267.    {
  268.       return this.c_strASCIIUserName;
  269.    }
  270.    function set userASCIIName(_strUserName)
  271.    {
  272.       var _loc1_ = this;
  273.       var _loc2_ = _loc1_.convertToASCII(_strUserName);
  274.       _loc1_.c_strASCIIUserName = _loc2_;
  275.    }
  276.    function get userName()
  277.    {
  278.       return this.c_strUserName;
  279.    }
  280.    function set userName(_strUserName)
  281.    {
  282.       this.c_strUserName = _strUserName;
  283.    }
  284.    function set currentTestName(_strcurrentTestName)
  285.    {
  286.       this.c_strcurrentTestName = _strcurrentTestName;
  287.    }
  288.    function get currentTestName()
  289.    {
  290.       return this.c_strcurrentTestName;
  291.    }
  292.    function set currentTestNumber(_iCurrentTestNumber)
  293.    {
  294.       this.c_iCurrentTestNumber = _iCurrentTestNumber;
  295.    }
  296.    function get currentTestNumber()
  297.    {
  298.       return this.c_iCurrentTestNumber;
  299.    }
  300.    function set fileName(_strFileName)
  301.    {
  302.       this.c_strFileName = _strFileName;
  303.    }
  304.    function get fileName()
  305.    {
  306.       return this.c_strFileName;
  307.    }
  308.    function set currentMode(_strCurrentMode)
  309.    {
  310.       this.c_strCurrentMode = _strCurrentMode;
  311.    }
  312.    function get currentMode()
  313.    {
  314.       return this.c_strCurrentMode;
  315.    }
  316.    function set skillName(_strSkillName)
  317.    {
  318.       this.c_strSkillName = _strSkillName;
  319.    }
  320.    function get skillName()
  321.    {
  322.       return this.c_strSkillName;
  323.    }
  324.    function set volumeLevel(_strVolumeLevel)
  325.    {
  326.       this.c_strVolumeLevel = _strVolumeLevel;
  327.    }
  328.    function get volumeLevel()
  329.    {
  330.       return this.c_strVolumeLevel;
  331.    }
  332.    function set timeLeft(_strTimeLeft)
  333.    {
  334.       this.c_strTimeLeft = _strTimeLeft;
  335.    }
  336.    function get timeLeft()
  337.    {
  338.       return this.c_strTimeLeft;
  339.    }
  340.    function set instructionXML(_objInstructionXML)
  341.    {
  342.       this.c_objInstructionXML = _objInstructionXML;
  343.    }
  344.    function get instructionXML()
  345.    {
  346.       return this.c_objInstructionXML;
  347.    }
  348.    function set ipPort(_strIpPort)
  349.    {
  350.       this.c_strIpPort = _strIpPort;
  351.    }
  352.    function get ipPort()
  353.    {
  354.       return this.c_strIpPort;
  355.    }
  356.    function getTestTime()
  357.    {
  358.       return this.c_iTestTime;
  359.    }
  360.    function setTestTime(_iTestTime)
  361.    {
  362.       this.c_iTestTime = _iTestTime;
  363.    }
  364.    function getXMLPath()
  365.    {
  366.       return this.c_strXMLPath;
  367.    }
  368.    function getResultXMLPath()
  369.    {
  370.       return this.c_strResultXMLPath;
  371.    }
  372.    function getOSEnvironment()
  373.    {
  374.       return "Linux";
  375.    }
  376.    function setOSEnvironment(_strEnvironment)
  377.    {
  378.       this.c_strOSEnvironment = _strEnvironment;
  379.    }
  380.    function setTotalQuestion(_iTotalQuestion)
  381.    {
  382.       this.c_iTotalTestQuestion = _iTotalQuestion;
  383.    }
  384.    function getTotalQuestion()
  385.    {
  386.       return this.c_iTotalTestQuestion;
  387.    }
  388.    function setTotalAttemptedQuestion(_iTotalAttemptedQuestion)
  389.    {
  390.       this.c_iTotalAttemptedQuestion = _iTotalAttemptedQuestion;
  391.    }
  392.    function getTotalAttemptedQuestion()
  393.    {
  394.       return this.c_iTotalAttemptedQuestion;
  395.    }
  396.    function setTotalTestMark(_iTotalTestMark)
  397.    {
  398.       this.c_iTotalTestMark = _iTotalTestMark;
  399.    }
  400.    function getTotalTestMark()
  401.    {
  402.       return this.c_iTotalTestMark;
  403.    }
  404.    function setTitle(_strTitle)
  405.    {
  406.       this.c_strTitle = _strTitle;
  407.    }
  408.    function getTitle()
  409.    {
  410.       return this.c_strTitle;
  411.    }
  412. }
  413.