1 | /* SessionFactory.as */
|
---|
2 |
|
---|
3 | package gov.va.med.edp.factory
|
---|
4 | {
|
---|
5 | import gov.va.med.edp.util.Vista;
|
---|
6 | import gov.va.med.edp.vo.LookupStringVO;
|
---|
7 | import gov.va.med.edp.vo.LookupVO;
|
---|
8 | import gov.va.med.edp.vo.SessionVO;
|
---|
9 |
|
---|
10 | import mx.collections.ArrayCollection;
|
---|
11 |
|
---|
12 | public class SessionFactory
|
---|
13 | {
|
---|
14 | /*
|
---|
15 | expects XML node:
|
---|
16 | <anyRoot>
|
---|
17 | <user duz="99" site="99" siteNm="a name" area="99" areaName="a name" />
|
---|
18 | </anyRoot>
|
---|
19 | */
|
---|
20 | public static function buildSessionFromXML(xml:XML):SessionVO
|
---|
21 | {
|
---|
22 | //since this is the ONLY call that does not get added to the debug tool..tracing xml here for debug mode..
|
---|
23 | trace ("Session XML\n" + xml);
|
---|
24 | var sessionVO:SessionVO = new SessionVO();
|
---|
25 | sessionVO.duz = xml.user[0].@duz;
|
---|
26 | sessionVO.site = xml.user[0].@station;
|
---|
27 | sessionVO.siteName = xml.user[0].@siteNm;
|
---|
28 | sessionVO.area = xml.user[0].@area;
|
---|
29 | sessionVO.areaName = xml.user[0].@areaNm;
|
---|
30 | sessionVO.baseTime = new Date();
|
---|
31 | sessionVO.siteTimeFM = xml.user[0].@time;
|
---|
32 | sessionVO.siteTime = Vista.FMtoDate(sessionVO.siteTimeFM);
|
---|
33 |
|
---|
34 | var timeOut:int = xml.user[0].@timeOut;
|
---|
35 | if (timeOut > 0) sessionVO.timeOut = timeOut;
|
---|
36 | var countDown:int = xml.user[0].@countDown;
|
---|
37 | if (countDown > 0) sessionVO.countDown = countDown;
|
---|
38 |
|
---|
39 | sessionVO.canExport = (xml.user[0].@rptExport == "1")
|
---|
40 | sessionVO.showProviderReport = (xml.user[0].@rptProvider == "1");
|
---|
41 | sessionVO.showPatientCrossReferenceReport = (xml.user[0].@rptXRef == "1");
|
---|
42 | sessionVO.debugEnabled = (xml.user[0].@progMode == "1");
|
---|
43 |
|
---|
44 | sessionVO.serverPackageVersion = xml.user[0].@version;
|
---|
45 |
|
---|
46 | return sessionVO;
|
---|
47 | }
|
---|
48 |
|
---|
49 | /*
|
---|
50 | expects XML node: <anyNode data="internalID" label="externalName" />
|
---|
51 | */
|
---|
52 | public static function buildLookupItemFromXML(xml:XML):LookupVO
|
---|
53 | {
|
---|
54 | var lookupVO:LookupVO = new LookupVO();
|
---|
55 | lookupVO.data = Number(xml.@data);
|
---|
56 | lookupVO.label = xml.@label;
|
---|
57 | lookupVO.abbr = xml.@abbr;
|
---|
58 | return lookupVO;
|
---|
59 | }
|
---|
60 |
|
---|
61 | /*
|
---|
62 | expects xml to be:
|
---|
63 | <anyRoot>
|
---|
64 | <anyNode data="internalID" label="externalName" />
|
---|
65 | <anyNode data="internalID" label="externalName" />
|
---|
66 | ...
|
---|
67 | </anyRoot>
|
---|
68 | */
|
---|
69 |
|
---|
70 | public static function buildLookupListFromXML(nodeList: XMLList): ArrayCollection
|
---|
71 | {
|
---|
72 | var lookupList:ArrayCollection = new ArrayCollection();
|
---|
73 | for each (var item: XML in nodeList) {
|
---|
74 | var lookupVO:LookupVO = buildLookupItemFromXML(item);
|
---|
75 | lookupList.addItem(lookupVO);
|
---|
76 | }
|
---|
77 | return lookupList;
|
---|
78 | }
|
---|
79 |
|
---|
80 | public static function buildLookupStringListFromXML(nodeList: XMLList): ArrayCollection
|
---|
81 | {
|
---|
82 | var list: ArrayCollection = new ArrayCollection();
|
---|
83 | for each (var item: XML in nodeList) {
|
---|
84 | var lookupStringVO: LookupStringVO = new LookupStringVO();
|
---|
85 | lookupStringVO.data = item.@data;
|
---|
86 | lookupStringVO.label = item.@label;
|
---|
87 | lookupStringVO.reference = item.@ref;
|
---|
88 | list.addItem(lookupStringVO);
|
---|
89 | }
|
---|
90 | return list;
|
---|
91 | }
|
---|
92 | }
|
---|
93 | }
|
---|