home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FCE Gold Plus
/
GOLD.iso
/
pc
/
shell.swf
/
scripts
/
__Packages
/
com
/
controller
/
UICoordinator.as
Wrap
Text File
|
2007-10-16
|
13KB
|
391 lines
class com.controller.UICoordinator
{
var c_objTestXML = new Object();
function UICoordinator()
{
com.controller.UICoordinator.c_objInstance = null;
}
static function getInstance()
{
if(com.controller.UICoordinator.c_objInstance == null)
{
com.controller.UICoordinator.c_objInstance = new com.controller.UICoordinator();
}
return com.controller.UICoordinator.c_objInstance;
}
function init(_strDataPath)
{
var _loc1_ = this;
_loc1_.c_objObjectManager = new com.data.ObjectManager();
_loc1_.c_objScreenFactory = new com.screen.ScreenFactory();
_loc1_.c_objLoginHandler = new com.handler.LoginHandler();
_loc1_.c_objInstructionHandler = new com.handler.InstructionHandler();
_loc1_.c_objTestHandler = new com.handler.TestHandler();
_loc1_.c_objDAO = com.data.DAO.getInstance();
_loc1_.c_strUserName = "";
_loc1_.c_strASCIIUserName = "";
_loc1_.c_strcurrentTestName = "";
_loc1_.c_strTimeLeft = "";
_loc1_.c_strCurrentMode = "";
_loc1_.c_strSkillName = "";
_loc1_.c_iCurrentTestNumber = 0;
_loc1_.doAction("SETENVIRONMENT","");
_loc1_.doAction("INIT",_strDataPath);
}
function doAction(_strAction, _objParam)
{
var _loc1_ = this;
var _loc2_ = _objParam;
_loc1_.c_strXMLPath = _loc1_.c_objObjectManager.returnPath("XML");
_loc1_.c_strResultXMLPath = _loc1_.c_objObjectManager.returnPath("RESULTXML");
var _loc3_ = _loc1_.getOSEnvironment();
switch(_strAction)
{
case "SETENVIRONMENT":
_loc1_.setEnvironmentVariable();
break;
case "INIT":
_loc1_.c_objDAO.addListener(_loc1_);
_loc1_.c_objDAO.load("PathXML",_loc2_);
break;
case "LOGIN":
_loc1_.c_objDAO.load("BaseXML",_loc1_.c_strXMLPath + "base.xml");
break;
case "INSTRUCTION":
var strTemp = _loc1_.c_strFileName.charAt(_loc1_.c_strFileName.length - 1);
_loc1_.c_iCurrentTestNumber = strTemp;
_loc1_.c_objDAO.load("INSTRUCTIONXML",_loc1_.c_strXMLPath + "base.xml");
break;
case "TestXML":
_loc1_.__set__ipPort(_loc1_.c_objObjectManager.returnPath("IPPort"));
delete _loc1_.c_objLoginHandler;
_loc1_.c_objTestSelectHandler = new com.handler.TestSelectHandler();
_loc1_.c_objDAO.load("TestXML",_loc1_.c_strResultXMLPath + _loc1_.c_strXMLPath + "tests.xml");
break;
case "RecordXML":
_loc3_ = _loc1_.getOSEnvironment();
var strXML;
if(_loc3_ == "Linux")
{
strXML = _loc1_.getRecordSet();
}
_loc1_.c_objDAO.load("RecordXML",strXML);
break;
case "LoadScore":
_loc3_ = _loc1_.getOSEnvironment();
var strXML;
if(_loc3_ == "Linux")
{
var strUserName = com.controller.UICoordinator.getInstance().userASCIIName;
var strScoreFileName = String(_loc2_).split(".")[0];
strXML = _loc1_.c_objTestXML[strScoreFileName];
}
_loc1_.c_objDAO.load("ScoreXML",strXML);
break;
case "LOADTEST":
delete _loc1_.c_objLoginHandler;
var strTemp = _loc1_.c_strFileName.charAt(_loc1_.c_strFileName.length - 1);
_loc1_.c_iCurrentTestNumber = strTemp;
var strPath = _loc1_.c_strResultXMLPath + "tests/test" + _loc1_.c_iCurrentTestNumber + "/xml/";
_loc1_.c_objDAO.load("TestXML1",strPath + _loc1_.c_strFileName + ".xml");
break;
case "ReviewResult":
_loc1_.c_objTestHandler = new com.handler.TestHandler();
var strXML;
var strXMLFileName = _loc1_.convertToASCII(_loc2_.toString()) + ".xml";
var strTemp = _loc2_.charAt(_loc2_.length - 1);
_loc1_.c_iCurrentTestNumber = strTemp;
if(_loc3_ == "Linux")
{
var strUserName = com.controller.UICoordinator.getInstance().userASCIIName;
strXML = _loc1_.c_objTestXML[_loc1_.currentTestName];
}
_loc1_.c_objDAO.load("ReviewResultXML",strXML);
break;
case "SHOWRESULT":
_loc1_.c_objResultHandler = new com.handler.ResultHandler();
_loc1_.c_objResultHandler.startProcess("ShowResult",true);
break;
case "TestSound":
_loc1_.c_objTestSoundHandler = new com.handler.CheckSoundHandler();
_loc1_.c_objTestSoundHandler.startProcess("TestSound",true);
}
}
function DAOUpdate(_strXMLID)
{
var _loc1_ = this;
switch(_strXMLID)
{
case "PathXML":
if(_loc1_.c_objDAO.success)
{
if(_loc1_.c_objObjectManager.getObject("Path") != null && _loc1_.c_objObjectManager.getObject("Path") != undefined)
{
_loc1_.c_objObjectManager.persistObject("PathXML",_loc1_.c_objObjectManager.getObject("Path"));
_loc1_.doAction("LOGIN","");
}
}
else
{
trace("Error loading Path xml");
}
break;
case "BaseXML":
!_loc1_.c_objDAO.success ? (trace("Error loading Base xml"), §§push(undefined), undefined) : _loc1_.c_objLoginHandler.startProcess("Login",true);
break;
case "INSTRUCTIONXML":
!_loc1_.c_objDAO.success ? (trace("Error loading Base xml"), §§push(undefined), undefined) : _loc1_.c_objInstructionHandler.startProcess("Instruction",true);
break;
case "TestXML":
_loc1_.doAction("RecordXML","");
break;
case "RecordXML":
_loc1_.c_objRecordXML = _loc1_.c_objDAO.getDataSet("RecordXML:");
var _loc2_ = _loc1_.c_objObjectManager.getObject("RecordXML");
!_loc1_.c_objDAO.success ? (trace("Error loading test xml"), §§push(undefined), undefined) : _loc1_.c_objTestSelectHandler.startProcess("TestSelect",_loc2_);
break;
case "ScoreXML":
!_loc1_.c_objDAO.success ? _loc1_.c_objTestSelectHandler.getScore("NOXML") : _loc1_.c_objTestSelectHandler.getScore("TestSelect");
break;
case "ContentXML":
!_loc1_.c_objDAO.success ? (trace("Error loading Content xml"), §§push(undefined), undefined) : _loc1_.c_objTestHandler.startProcess("LoadTest",true);
break;
case "TestXML1":
!_loc1_.c_objDAO.success ? (trace("Error loading Content xml"), §§push(undefined), undefined) : _loc1_.c_objTestHandler.startProcess("Test",true);
break;
case "ReviewResultXML":
!_loc1_.c_objDAO.success ? (trace("Error loading Content xml"), §§push(undefined), undefined) : _loc1_.c_objTestHandler.reviewProcess("Test",true);
}
}
function setEnvironmentVariable()
{
var _loc1_ = System.capabilities.manufacturer;
var _loc2_ = _loc1_.split(" ")[1];
this.setOSEnvironment(_loc2_);
}
function destroyInstance(_objInstance, _objRef)
{
delete _objRef._objInstance;
}
function convertToASCII(_strValue)
{
var _loc3_ = _strValue;
_loc3_ = _loc3_.toUpperCase();
var strASCII = "";
var _loc2_ = 0;
while(_loc2_ < _loc3_.length)
{
var _loc1_ = Number(_loc3_.charCodeAt(_loc2_));
if(_loc1_ >= 65 && _loc1_ <= 86)
{
_loc1_ += 4;
}
else if(_loc1_ >= 86 && _loc1_ <= 90)
{
_loc1_ = _loc1_ + 4 - 26;
}
else
{
switch(_loc1_)
{
case 32:
_loc1_ = 115;
break;
case 34:
_loc1_ = 97;
break;
case 42:
_loc1_ = 98;
break;
case 47:
_loc1_ = 99;
break;
case 58:
_loc1_ = 100;
break;
case 60:
_loc1_ = 101;
break;
case 62:
_loc1_ = 102;
break;
case 63:
_loc1_ = 103;
break;
case 92:
_loc1_ = 104;
break;
case 124:
_loc1_ = 105;
}
}
strASCII += String.fromCharCode(_loc1_);
_loc2_ = _loc2_ + 1;
}
return strASCII;
}
function getRecordSet()
{
var _loc1_ = this;
if(_loc1_.c_strRecordSet == undefined || _loc1_.c_strRecordSet == null)
{
_loc1_.c_strRecordSet = "<record />";
}
return _loc1_.c_strRecordSet;
}
function getObjectManagerInstance()
{
return this.c_objObjectManager;
}
function getScreenFactoryInstance()
{
return this.c_objScreenFactory;
}
function get userASCIIName()
{
return this.c_strASCIIUserName;
}
function set userASCIIName(_strUserName)
{
var _loc1_ = this;
var _loc2_ = _loc1_.convertToASCII(_strUserName);
_loc1_.c_strASCIIUserName = _loc2_;
}
function get userName()
{
return this.c_strUserName;
}
function set userName(_strUserName)
{
this.c_strUserName = _strUserName;
}
function set currentTestName(_strcurrentTestName)
{
this.c_strcurrentTestName = _strcurrentTestName;
}
function get currentTestName()
{
return this.c_strcurrentTestName;
}
function set currentTestNumber(_iCurrentTestNumber)
{
this.c_iCurrentTestNumber = _iCurrentTestNumber;
}
function get currentTestNumber()
{
return this.c_iCurrentTestNumber;
}
function set fileName(_strFileName)
{
this.c_strFileName = _strFileName;
}
function get fileName()
{
return this.c_strFileName;
}
function set currentMode(_strCurrentMode)
{
this.c_strCurrentMode = _strCurrentMode;
}
function get currentMode()
{
return this.c_strCurrentMode;
}
function set skillName(_strSkillName)
{
this.c_strSkillName = _strSkillName;
}
function get skillName()
{
return this.c_strSkillName;
}
function set volumeLevel(_strVolumeLevel)
{
this.c_strVolumeLevel = _strVolumeLevel;
}
function get volumeLevel()
{
return this.c_strVolumeLevel;
}
function set timeLeft(_strTimeLeft)
{
this.c_strTimeLeft = _strTimeLeft;
}
function get timeLeft()
{
return this.c_strTimeLeft;
}
function set instructionXML(_objInstructionXML)
{
this.c_objInstructionXML = _objInstructionXML;
}
function get instructionXML()
{
return this.c_objInstructionXML;
}
function set ipPort(_strIpPort)
{
this.c_strIpPort = _strIpPort;
}
function get ipPort()
{
return this.c_strIpPort;
}
function getTestTime()
{
return this.c_iTestTime;
}
function setTestTime(_iTestTime)
{
this.c_iTestTime = _iTestTime;
}
function getXMLPath()
{
return this.c_strXMLPath;
}
function getResultXMLPath()
{
return this.c_strResultXMLPath;
}
function getOSEnvironment()
{
return "Linux";
}
function setOSEnvironment(_strEnvironment)
{
this.c_strOSEnvironment = _strEnvironment;
}
function setTotalQuestion(_iTotalQuestion)
{
this.c_iTotalTestQuestion = _iTotalQuestion;
}
function getTotalQuestion()
{
return this.c_iTotalTestQuestion;
}
function setTotalAttemptedQuestion(_iTotalAttemptedQuestion)
{
this.c_iTotalAttemptedQuestion = _iTotalAttemptedQuestion;
}
function getTotalAttemptedQuestion()
{
return this.c_iTotalAttemptedQuestion;
}
function setTotalTestMark(_iTotalTestMark)
{
this.c_iTotalTestMark = _iTotalTestMark;
}
function getTotalTestMark()
{
return this.c_iTotalTestMark;
}
function setTitle(_strTitle)
{
this.c_strTitle = _strTitle;
}
function getTitle()
{
return this.c_strTitle;
}
}