home *** CD-ROM | disk | FTP | other *** search
- class com.data.ObjectManager
- {
- var hObjectsMap;
- var c_objectFromXML;
- var c_objXML;
- function ObjectManager()
- {
- this.hObjectsMap = new com.util.HashMap();
- this.c_objectFromXML = new Object();
- }
- function getObject(_strObjectName)
- {
- var _loc2_ = this;
- var _loc3_ = com.data.DAO.getInstance();
- var _loc1_ = null;
- switch(_strObjectName)
- {
- case "Path":
- _loc1_ = _loc2_.getXML(_loc3_,"PathXML:");
- _loc2_.persistObject("PathXML",_loc1_);
- break;
- case "Login":
- _loc1_ = _loc2_.getXML(_loc3_,"BaseXML:DOC[0]");
- _loc2_.persistObject("BaseXML",_loc1_);
- break;
- case "Instruction":
- _loc1_ = _loc2_.getXML(_loc3_,"BaseXML:DOC[1]");
- _loc2_.persistObject("BaseXML",_loc1_);
- break;
- case "TestSelect":
- _loc1_ = _loc2_.getXML(_loc3_,"TestXML:");
- break;
- case "RecordXML":
- _loc1_ = _loc2_.getXML(_loc3_,"RecordXML:");
- break;
- case "ScoreXML":
- _loc1_ = _loc2_.getXML(_loc3_,"ScoreXML:");
- break;
- case "Content":
- _loc1_ = _loc2_.getXML(_loc3_,"ContentXML:DOC[0]");
- break;
- case "Test":
- _loc1_ = _loc2_.getXML(_loc3_,"TestXML1:");
- break;
- case "ResultXML":
- _loc1_ = _loc2_.getXML(_loc3_,"ReviewResultXML:");
- break;
- case "ShowResult":
- _loc1_ = _loc2_.getXML(_loc3_,"BaseXML:DOC[2]");
- break;
- case "TestSound":
- _loc1_ = _loc2_.getXML(_loc3_,"BaseXML:DOC[3]");
- }
- if(_loc1_ != null)
- {
- return _loc1_;
- }
- }
- function getXML(_objDAOInstance, _strXML)
- {
- var _loc2_ = _objDAOInstance.getDataSet(_strXML);
- var _loc1_ = this.xmlToObject(_loc2_);
- return _loc1_;
- }
- function get xml()
- {
- return this.c_objXML;
- }
- function xmlToObject(sFile)
- {
- var _loc1_ = this;
- _loc1_.c_objectFromXML = new Object();
- _loc1_.c_objXML = sFile;
- _loc1_.c_objectFromXML = _loc1_.translateXML();
- return _loc1_.c_objectFromXML;
- }
- function translateXML(from, path, name, position)
- {
- var _loc2_ = path;
- var _loc1_ = undefined;
- var nodes;
- var _loc3_ = undefined;
- var old_path;
- if(_loc2_ == undefined)
- {
- _loc2_ = this;
- name = "c_objectFromXML";
- }
- _loc2_ = _loc2_[name];
- if(from == undefined)
- {
- from = new XML(this.xml);
- from.ignoreWhite = true;
- }
- if(from.hasChildNodes())
- {
- nodes = from.childNodes;
- if(position != undefined)
- {
- var old_path = _loc2_;
- _loc2_ = _loc2_[position];
- }
- while(nodes.length > 0)
- {
- _loc3_ = nodes.shift();
- _loc1_ = _loc3_.nodeName.split("-").join("_");
- if(_loc1_ != undefined)
- {
- var __obj__ = new Object();
- __obj__.attributes = _loc3_.attributes;
- __obj__.data = _loc3_.firstChild.nodeValue;
- if(position != undefined)
- {
- var old_path = _loc2_;
- }
- if(_loc2_[_loc1_] != undefined)
- {
- if(_loc2_[_loc1_].__proto__ == Array.prototype)
- {
- _loc2_[_loc1_].push(__obj__);
- name = _loc3_.nodeName;
- position = _loc2_[_loc1_].length - 1;
- }
- else
- {
- var copyObj = _loc2_[_loc1_];
- _loc2_[_loc1_] = new Array();
- _loc2_[_loc1_].push(copyObj);
- _loc2_[_loc1_].push(__obj__);
- name = _loc1_;
- position = _loc2_[_loc1_].length - 1;
- }
- }
- else
- {
- _loc2_[_loc1_] = __obj__;
- name = _loc1_;
- position = undefined;
- }
- }
- if(_loc3_.hasChildNodes())
- {
- this.translateXML(_loc3_,_loc2_,name,position);
- }
- }
- }
- return this.c_objectFromXML;
- }
- function persistObject(strKey, _objData)
- {
- var _loc1_ = this;
- var _loc2_ = strKey;
- if(_loc1_.hObjectsMap["get"](_loc2_) == "undefined" || _loc1_.hObjectsMap["get"](_loc2_) == null)
- {
- _loc1_.hObjectsMap.put(_loc2_,_objData);
- }
- }
- function returnPath(_strPathName)
- {
- var _loc1_ = this.hObjectsMap["get"]("PathXML");
- switch(_strPathName)
- {
- case "XML":
- return _loc1_.DOC.xmlpath.data;
- case "RESULTXML":
- return _loc1_.DOC.resultpath.data;
- case "SWF":
- return _loc1_.DOC.swfpath.data;
- case "RESULTFOLDER":
- return _loc1_.DOC.resultfolder.data;
- case "IPPort":
- return _loc1_.DOC.ip.data + "," + _loc1_.DOC.port.data;
- default:
- }
- }
- }
-