/* SessionFactory.as */ package gov.va.med.edp.factory { import gov.va.med.edp.util.Vista; import gov.va.med.edp.vo.LookupStringVO; import gov.va.med.edp.vo.LookupVO; import gov.va.med.edp.vo.SessionVO; import mx.collections.ArrayCollection; public class SessionFactory { /* expects XML node: */ public static function buildSessionFromXML(xml:XML):SessionVO { //since this is the ONLY call that does not get added to the debug tool..tracing xml here for debug mode.. trace ("Session XML\n" + xml); var sessionVO:SessionVO = new SessionVO(); sessionVO.duz = xml.user[0].@duz; sessionVO.site = xml.user[0].@station; sessionVO.siteName = xml.user[0].@siteNm; sessionVO.area = xml.user[0].@area; sessionVO.areaName = xml.user[0].@areaNm; sessionVO.baseTime = new Date(); sessionVO.siteTimeFM = xml.user[0].@time; sessionVO.siteTime = Vista.FMtoDate(sessionVO.siteTimeFM); var timeOut:int = xml.user[0].@timeOut; if (timeOut > 0) sessionVO.timeOut = timeOut; var countDown:int = xml.user[0].@countDown; if (countDown > 0) sessionVO.countDown = countDown; sessionVO.canExport = (xml.user[0].@rptExport == "1") sessionVO.showProviderReport = (xml.user[0].@rptProvider == "1"); sessionVO.showPatientCrossReferenceReport = (xml.user[0].@rptXRef == "1"); sessionVO.debugEnabled = (xml.user[0].@progMode == "1"); sessionVO.serverPackageVersion = xml.user[0].@version; return sessionVO; } /* expects XML node: */ public static function buildLookupItemFromXML(xml:XML):LookupVO { var lookupVO:LookupVO = new LookupVO(); lookupVO.data = Number(xml.@data); lookupVO.label = xml.@label; lookupVO.abbr = xml.@abbr; return lookupVO; } /* expects xml to be: ... */ public static function buildLookupListFromXML(nodeList: XMLList): ArrayCollection { var lookupList:ArrayCollection = new ArrayCollection(); for each (var item: XML in nodeList) { var lookupVO:LookupVO = buildLookupItemFromXML(item); lookupList.addItem(lookupVO); } return lookupList; } public static function buildLookupStringListFromXML(nodeList: XMLList): ArrayCollection { var list: ArrayCollection = new ArrayCollection(); for each (var item: XML in nodeList) { var lookupStringVO: LookupStringVO = new LookupStringVO(); lookupStringVO.data = item.@data; lookupStringVO.label = item.@label; lookupStringVO.reference = item.@ref; list.addItem(lookupStringVO); } return list; } } }