Changeset 41 in tmcsimulator-scriptbuilder for trunk


Ignore:
Timestamp:
08/04/2017 03:56:38 PM (9 years ago)
Author:
bmcguffin
Message:

Added parsing support for CAD data elements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/scriptbuilder/structures/MyScriptHandler.java

    r38 r41  
    236236    private ScriptIncident currInc = null; 
    237237 
     238    private CadData cad = null; 
     239 
    238240    /** 
    239241     * Constructor. Initializes incident map. 
     
    258260        return new Vector<ScriptIncident>(incidentMap.values()); 
    259261    } 
    260      
     262 
    261263    /** 
    262264     * Get the list of units that have been parsed from the script file. 
     
    276278    { 
    277279        //System.out.println("STUB: Start the document"); 
    278          
     280 
    279281    } 
    280282 
     
    294296    public void startElement(String uri, String localName, String qName, Attributes attributes) 
    295297    { 
    296         /*System.out.println("Start_element;"); 
    297          String t = ""; 
    298          for (int i = 0; i < sublevels; i++) 
    299          { 
    300          t += "\t"; 
    301          } 
    302          System.out.println(t + "New element " + qName); 
    303          if (attributes.getLength() > 0) 
    304          { 
    305          System.out.println(t + "Attributes:"); 
    306          for (int i = 0; i < attributes.getLength(); i++) 
    307          { 
    308          System.out.print(t + "" + (i + 1) + ". " + attributes.getQName(i)); 
    309          System.out.println(": '" + attributes.getValue(i) + "\'"); 
    310          } 
    311          } 
    312          sublevels++;*/ 
     298 
    313299        docPosition.push(ELEMENT.byName(qName)); 
    314300 
     
    466452                trackedEvent = eventMap.get(docPosition.peek()); 
    467453            } 
     454            else if (qName.equals(ELEMENT.SCRIPT_EVENT.tag)) 
     455            { 
     456                cad = new CadData(); 
     457            } 
     458 
    468459            else if (qName.equals(ELEMENT.TMC_SCRIPT.tag)) 
    469460            { 
     
    477468                } 
    478469                script.title = TMCTitle; 
    479                  
     470 
    480471            } 
    481472            else if (qName.equals(ELEMENT.TMT_RADIO.tag)) 
     
    625616                currInc.addNewEvent(newEvent, (int) currentEventTime); 
    626617            } 
     618            else if (currentElement == ELEMENT.AGY && docPosition.peek() == ELEMENT.GENERAL) 
     619            { 
     620                cad.Agy = pcData.remove(currentElement); 
     621            } 
     622            else if (currentElement == ELEMENT.ADDRESS && docPosition.peek() == ELEMENT.LOCATION) 
     623            { 
     624                cad.Location_Address = pcData.remove(currentElement); 
     625            } 
     626            else if (currentElement == ELEMENT.AREA && docPosition.peek() == ELEMENT.LOCATION) 
     627            { 
     628                cad.Location_Area = pcData.remove(currentElement); 
     629            } 
     630            else if (currentElement == ELEMENT.BEAT && docPosition.peek() == ELEMENT.LOCATION) 
     631            { 
     632                cad.Location_Beat = pcData.remove(currentElement); 
     633            } 
     634            else if (currentElement == ELEMENT.CITY && docPosition.peek() == ELEMENT.LOCATION) 
     635            { 
     636                cad.Location_City = pcData.remove(currentElement); 
     637            } 
     638            else if (currentElement == ELEMENT.EMS && docPosition.peek() == ELEMENT.LOCATION) 
     639            { 
     640                cad.Location_Ems = pcData.remove(currentElement); 
     641            } 
     642            else if (currentElement == ELEMENT.FIRE && docPosition.peek() == ELEMENT.LOCATION) 
     643            { 
     644                cad.Location_Fire = pcData.remove(currentElement); 
     645            } 
     646            else if (currentElement == ELEMENT.LAW && docPosition.peek() == ELEMENT.LOCATION) 
     647            { 
     648                cad.Location_Law = pcData.remove(currentElement); 
     649            } 
     650            else if (currentElement == ELEMENT.LOC && docPosition.peek() == ELEMENT.LOCATION) 
     651            { 
     652                cad.Location_Loc = pcData.remove(currentElement); 
     653            } 
     654            else if (currentElement == ELEMENT.Type && docPosition.peek() == ELEMENT.HEADER_INFO) 
     655            { 
     656                cad.Header_Type = pcData.remove(currentElement); 
     657            } 
     658            else if (currentElement == ELEMENT.Beat && docPosition.peek() == ELEMENT.HEADER_INFO) 
     659            { 
     660                cad.Header_Beat = pcData.remove(currentElement); 
     661            } 
     662            else if (currentElement == ELEMENT.TruncLoc && docPosition.peek() == ELEMENT.HEADER_INFO) 
     663            { 
     664                cad.Header_TruncLoc = pcData.remove(currentElement); 
     665            } 
     666            else if (currentElement == ELEMENT.FullLoc && docPosition.peek() == ELEMENT.HEADER_INFO) 
     667            { 
     668                cad.Header_FullLoc = pcData.remove(currentElement); 
     669            } 
     670 
    627671            else if (currentElement == ELEMENT.AUDIO) 
    628672            { 
     
    721765                } 
    722766            } 
     767            else if (currentElement == ELEMENT.LOCATION_INFO) 
     768            { 
     769                Location_Info locInfo = new Location_Info(); 
     770                 
     771                locInfo.Location_ID = LocationInfoID; 
     772                locInfo.Direction = pcData.remove(ELEMENT.Direction); 
     773                locInfo.Location_type = pcData.remove(ELEMENT.Location_type); 
     774                locInfo.Route = pcData.remove(ELEMENT.Route); 
     775                locInfo.Postmile = pcData.remove(ELEMENT.Postmile); 
     776                cad.locInfo.add(locInfo);                 
     777            } 
    723778            else if (currentElement == ELEMENT.MAINTENANCE_RADIO) 
    724779            { 
     
    727782                currInc.addNewEvent(newEvent, (int) currentEventTime); 
    728783            } 
     784            else if (currentElement == ELEMENT.MASTER_INC_NUM) 
     785            { 
     786                cad.Master_Inc_Num = pcData.remove(currentElement); 
     787            } 
    729788            else if (currentElement == ELEMENT.PARAMICS) 
    730789            { 
     
    747806 
    748807                currInc.addNewEvent(newEvent, (int) currentEventTime); 
     808            } 
     809            else if (currentElement == ELEMENT.SCRIPT_EVENT) 
     810            { 
     811                currInc.insertCadData(currentEventTime, cad); 
    749812            } 
    750813            else if (currentElement == ELEMENT.STUDENT) 
     
    759822            { 
    760823                currInc.description = pcData.remove(ELEMENT.TEXT); 
     824                cad.General_Text = currInc.description; 
     825            } 
     826            else if (currentElement == ELEMENT.TITLE && docPosition.peek() == ELEMENT.GENERAL_INFO) 
     827            { 
     828                cad.General_Title = pcData.remove(ELEMENT.TITLE); 
    761829            } 
    762830            else if (currentElement == ELEMENT.TMT_RADIO) 
     
    779847                ((TowEvent) newEvent).towPubNum = TowPubNum; 
    780848                currInc.addNewEvent(newEvent, (int) currentEventTime); 
     849            } 
     850            else if (currentElement == ELEMENT.TYPE && docPosition.peek() == ELEMENT.ADDITIONAL_INFO) 
     851            { 
     852                cad.Info_Type = pcData.remove(currentElement); 
     853            } 
     854            else if (currentElement == ELEMENT.TYPE_CODE && docPosition.peek() == ELEMENT.ADDITIONAL_INFO) 
     855            { 
     856                cad.Info_Type_Code = pcData.remove(currentElement); 
    781857            } 
    782858            else if (currentElement == ELEMENT.UNIT) 
Note: See TracChangeset for help on using the changeset viewer.