Warning: Can't use blame annotator:
svn blame failed on trunk/src/tmcsim/client/cadclientgui/CardfileHandler.java: ("Can't find a temporary directory: Internal error", 20014)

source: tmcsimulator/trunk/src/tmcsim/client/cadclientgui/CardfileHandler.java @ 3

Revision 3, 8.3 KB checked in by jdalbey, 10 years ago (diff)

Initial Import of project files - cadclientgui

RevLine 
1package tmcsim.client.cadclientgui;
2
3import java.awt.List;
4import java.io.File;
5import java.util.LinkedList;
6import java.util.TreeMap;
7import java.util.Vector;
8
9import javax.swing.DefaultListModel;
10import javax.xml.parsers.SAXParserFactory;
11
12import org.xml.sax.Attributes;
13import org.xml.sax.helpers.DefaultHandler;
14
15import tmcsim.client.cadclientgui.data.CardfileData;
16import tmcsim.client.cadclientgui.data.CardfileDataObject;
17import tmcsim.client.cadclientgui.data.CardfileList;
18import tmcsim.client.cadclientgui.enums.CADDataEnums.CARDFILE;
19import tmcsim.client.cadclientgui.enums.CADScriptTags.CARDFILE_TAGS;
20import tmcsim.client.cadclientgui.screens.ScreenManager;
21
22/**
23 * This class is handles the XML script reading for Cardfile. It reads tags and
24 * assigns data accordingly.
25 *
26 * @author Vincent
27 *
28 */
29public class CardfileHandler extends DefaultHandler {
30
31    private static enum LEVEL {
32        CARDFILE, TITLE, NAME
33    };
34
35    private StringBuffer parsedValue = new StringBuffer();
36
37    private String currentTitle;
38
39    private CardfileDataObject cfdObj;
40
41    private CardfileData cardfileData;
42
43    private CardfileList cfdList;
44
45    public CardfileHandler(CardfileData cfd) {
46        cardfileData = cfd;
47        currentTitle = "";
48        cfdList = new CardfileList();
49    }
50
51    /*
52     * Performs action based on the start tag encountered
53     *
54     * @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String,
55     * java.lang.String, java.lang.String, org.xml.sax.Attributes)
56     */
57    public void startElement(String uri, String localName, String qName,
58            Attributes attributes) {
59
60        try {
61            if (qName.equals(CARDFILE_TAGS.TAB.tag)) {
62                currentTitle = attributes.getValue(CARDFILE_TAGS.TITLE.tag);
63            } else if (qName.equals(CARDFILE_TAGS.CARDFILE_OBJ.tag)) {
64                cfdObj = new CardfileDataObject(currentTitle,
65                        attributes.getValue(CARDFILE_TAGS.NAME.tag),
66                        cardfileData.obtainNewUniqueId());
67            }
68
69        } catch (Exception e) {
70            System.out
71                    .println("startElement error: " + e.getLocalizedMessage());
72        }
73    }
74
75    /*
76     * (non-Javadoc)
77     *
78     * @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
79     */
80    public void characters(char[] ch, int start, int length) {
81        parsedValue.append(new String(ch, start, length).trim());
82    }
83
84    /*
85     * Performs the action based on the end tag encountered
86     *
87     * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String,
88     * java.lang.String, java.lang.String)
89     */
90    public void endElement(String uri, String localName, String qName) {
91
92        try {
93            if (qName.equals(CARDFILE_TAGS.ADDRESS.tag)) {
94                cfdObj.setAddress(parsedValue.toString());
95            } else if (qName.equals(CARDFILE_TAGS.CITY.tag)) {
96                cfdObj.setCity(parsedValue.toString());
97            } else if (qName.equals(CARDFILE_TAGS.STATE.tag)) {
98                cfdObj.setState(parsedValue.toString());
99            } else if (qName.equals(CARDFILE_TAGS.ZIP.tag)) {
100                cfdObj.setZip(parsedValue.toString());
101            } else if (qName.equals(CARDFILE_TAGS.PHONE1.tag)) {
102                cfdObj.setPhone1(parsedValue.toString());
103            } else if (qName.equals(CARDFILE_TAGS.PHONE2.tag)) {
104                cfdObj.setPhone2(parsedValue.toString());
105            } else if (qName.equals(CARDFILE_TAGS.FAX.tag)) {
106                cfdObj.setFax(parsedValue.toString());
107            } else if (qName.equals(CARDFILE_TAGS.CARDFILE_OBJ.tag)) {
108                cfdList.addDataObject(cfdObj);
109            } else if (qName.equals(CARDFILE_TAGS.TAB.tag)) {
110                addToCardfileData();
111                cfdList = new CardfileList();
112            }
113        } catch (Exception e) {
114            System.out.println("endElement error" + e.getLocalizedMessage());
115        }
116        parsedValue.setLength(0);
117    }
118
119    private void addToCardfileData() {
120        if (currentTitle.equals(CARDFILE.COASTAL_DIVISION_UNITS.tag)) {
121            cardfileData.setCoastalDivisionUnitsList(cfdList);
122        } else if (currentTitle.equals(CARDFILE.POLICE_SHERIFF_CORONER.tag)) {
123            cardfileData.setPoliceSheriffCoronerList(cfdList);
124        } else if (currentTitle.equals(CARDFILE.COURTS.tag)) {
125            cardfileData.setCourtsList(cfdList);
126        } else if (currentTitle.equals(CARDFILE.PUBLIC_TRANSPORTATION.tag)) {
127            cardfileData.setPublicTransportationList(cfdList);
128        } else if (currentTitle.equals(CARDFILE.GG_OTHER.tag)) {
129            cardfileData.setGgOtherList(cfdList);
130        } else if (currentTitle.equals(CARDFILE.MY_MISC.tag)) {
131            cardfileData.setMyMiscList(cfdList);
132        } else if (currentTitle.equals(CARDFILE.SL_MISC.tag)) {
133            cardfileData.setSlMiscList(cfdList);
134        } else if (currentTitle.equals(CARDFILE.VT_MISC.tag)) {
135            cardfileData.setVlMiscList(cfdList);
136        } else if (currentTitle.equals(CARDFILE.CHP_OFFICES.tag)) {
137            cardfileData.setChpOfficesList(cfdList);
138        } else if (currentTitle.equals(CARDFILE.STATE_AGENCIES_FACILITIES.tag)) {
139            cardfileData.setStateAgenciesFacilitiesList(cfdList);
140        } else if (currentTitle.equals(CARDFILE.GOVERNMENT_OFFICIALS.tag)) {
141            cardfileData.setGovernmentOfficialsList(cfdList);
142        } else if (currentTitle.equals(CARDFILE.FEDERAL_AGENCIES.tag)) {
143            cardfileData.setFederalAgenciesList(cfdList);
144        } else if (currentTitle.equals(CARDFILE.FIRE_EMS.tag)) {
145            cardfileData.setFireEmsList(cfdList);
146        } else if (currentTitle.equals(CARDFILE.JAILS.tag)) {
147            cardfileData.setJailsList(cfdList);
148        } else if (currentTitle.equals(CARDFILE.HOSPITALS_MED_CENTERS.tag)) {
149            cardfileData.setHospitalsMedCentersList(cfdList);
150        } else if (currentTitle.equals(CARDFILE.TOW_COMPANIES.tag)) {
151            cardfileData.setTowCompaniesList(cfdList);
152        } else if (currentTitle.equals(CARDFILE.CALTRANS.tag)) {
153            cardfileData.setCalTransList(cfdList);
154        } else if (currentTitle.equals(CARDFILE.COUNTY_ROADS.tag)) {
155            cardfileData.setCountyRoadsList(cfdList);
156        } else if (currentTitle.equals(CARDFILE.UTILITIES.tag)) {
157            cardfileData.setUtilitiesList(cfdList);
158        } else if (currentTitle.equals(CARDFILE.ANIMAL_CONTROL.tag)) {
159            cardfileData.setAnimalControlList(cfdList);
160        } else if (currentTitle.equals(CARDFILE.AIRPORTS.tag)) {
161            cardfileData.setAirportsList(cfdList);
162        } else if (currentTitle.equals(CARDFILE.CREDIT_CARDS.tag)) {
163            cardfileData.setCreditCardsList(cfdList);
164        } else if (currentTitle.equals(CARDFILE.GG_CRISIS_SHELTERS.tag)) {
165            cardfileData.setGgCrisisSheltersList(cfdList);
166        } else if (currentTitle.equals(CARDFILE.RANGES.tag)) {
167            cardfileData.setRangesList(cfdList);
168        } else if (currentTitle.equals(CARDFILE.HOTLINES.tag)) {
169            cardfileData.setHotlinesList(cfdList);
170        } else if (currentTitle.equals(CARDFILE.HWY_PATROLS_OOS.tag)) {
171            cardfileData.setHwyPatrolsOosList(cfdList);
172        } else if (currentTitle.equals(CARDFILE.PARKS_RECREATION.tag)) {
173            cardfileData.setParksRecreationList(cfdList);
174        } else if (currentTitle.equals(CARDFILE.SHELTERS)) {
175            cardfileData.setSheltersList(cfdList);
176        } else if (currentTitle.equals(CARDFILE.SL_COUNTY_SERVICES.tag)) {
177            cardfileData.setSlCountyServicesList(cfdList);
178        } else if (currentTitle.equals(CARDFILE.SL_RESOURCES.tag)) {
179            cardfileData.setSlResourcesList(cfdList);
180        } else if (currentTitle.equals(CARDFILE.TRUCK_TIRE_REPAIR.tag)) {
181            cardfileData.setTruckTireRepairList(cfdList);
182        } else if (currentTitle.equals(CARDFILE.MCC_EMPLOYEES.tag)) {
183            cardfileData.setMccEmployeesList(cfdList);
184        } else if (currentTitle.equals(CARDFILE.GATE_ACCESS_CODES.tag)) {
185            cardfileData.setGateAccessCodesList(cfdList);
186        } else if (currentTitle.equals(CARDFILE.VT_CALL_SIGNS.tag)) {
187            cardfileData.setVtCallSignsList(cfdList);
188        } else if (currentTitle.equals(CARDFILE.SLCC_EMPLOYEES.tag)) {
189            cardfileData.setSlccEmployeesList(cfdList);
190        }
191    }
192
193}
Note: See TracBrowser for help on using the repository browser.