package tmcsim.client.cadscreens; import javax.swing.text.Document; import tmcsim.cadmodels.IncidentInquiryDetails; import tmcsim.cadmodels.IncidentInquiryModel; import tmcsim.cadmodels.IncidentInquiryModel_obj; import tmcsim.cadmodels.IncidentInquiryServices; import tmcsim.cadmodels.IncidentInquiryTows; import tmcsim.cadmodels.IncidentInquiryUnitsAssigned; import tmcsim.cadmodels.IncidentInquiryWitnesses; import tmcsim.client.cadscreens.view.CADMainView; import tmcsim.common.CADEnums.TEXT_STYLES; /** * II_IncidentInquiry is the view component to the IncidentInquiryModel * model object. The screen is shown when the user requests a "Incident * Inquiry." When the class is instantiated with reference * to the model data and document, string and style pairs are added to the * view document. This class extends from the CADMainView object, which * contains the common methods and data needed for display and user * interaction. * * @see IncidentInquiryModel * @author Matthew Cechini * @version $Revision: 1.4 $ $Date: 2009/04/17 16:27:45 $ */ public class II_IncidentInquiry extends CADMainView { /** Reference to the Model class for the Incident Inquiry data. */ private IncidentInquiryModel theModel; /** * Constructor. Initializes the screen with the appropriate formatted text. * * @param newModel The model data object. * @param viewdoc The Document object used for displaying the model data. */ public II_IncidentInquiry(IncidentInquiryModel newModel, Document viewDoc) { super(viewDoc); theModel = newModel; initialize(); } /** * This method initializes the screen's Document object with * text and style pairs to create the correct screen format. * * The IncidentInquiry model data strings are created in the following * order: * *
  • Header Info
  • *
  • Details
  • *
  • Units Assigned
  • *
  • Tows
  • *
  • Services
  • *
  • Witnesses
  • * * The resulting text/style strings are set into the base CADMainView class for display. */ private void initialize() { int counter = 1; IncidentInquiryModel_obj tempModelObj = theModel.getModelObject(); addDocElement("LOG: ", TEXT_STYLES.CYAN); addDocElement(rPad(tempModelObj.getHeader().logNumber.toString(), 3) + rPad(tempModelObj.getHeader().logStatus, 5), TEXT_STYLES.YELLOW); addDocElement("PRI: ", TEXT_STYLES.CYAN); addDocElement(rPad(tempModelObj.getHeader().priority, 3), TEXT_STYLES.YELLOW); addDocElement("TYPE: ", TEXT_STYLES.CYAN); addDocElement(rPad(tempModelObj.getHeader().type, 7), TEXT_STYLES.YELLOW); addDocElement("CB: ", TEXT_STYLES.CYAN); addDocElement(rPad(tempModelObj.getHeader().callBoxNumber, 18), TEXT_STYLES.YELLOW); addDocElement("BEAT: ", TEXT_STYLES.CYAN); addDocElement(rPad(tempModelObj.getHeader().beat, 7) + "\n", TEXT_STYLES.YELLOW); addDocElement("LOC: ", TEXT_STYLES.CYAN); addDocElement(rPad(tempModelObj.getHeader().fullLocation, 45), TEXT_STYLES.YELLOW); addDocElement("CS: " + "\n", TEXT_STYLES.CYAN); addDocElement(lPad("(" + tempModelObj.getHeader().truncLocation + ")", 23) + "\n", TEXT_STYLES.YELLOW); addDocElement("ORI: ", TEXT_STYLES.CYAN); addDocElement(rPad(tempModelObj.getHeader().origin, 8) + rPad(tempModelObj.getHeader().incidentDate, 5) + rPad(tempModelObj.getHeader().incidentTime, 5), TEXT_STYLES.YELLOW); addDocElement("DISP: ", TEXT_STYLES.CYAN); addDocElement(rPad(tempModelObj.getHeader().dispatcher, 9), TEXT_STYLES.YELLOW); addDocElement(rPad("FILED:", 18), TEXT_STYLES.CYAN); addDocElement("X: \n", TEXT_STYLES.CYAN); addDocElement(rPad("ORI ACTION:", 34), TEXT_STYLES.CYAN); addDocElement(rPad("R/S:", 15), TEXT_STYLES.CYAN); addDocElement(rPad("DUP:",14), TEXT_STYLES.CYAN); addDocElement(rPad("CBT:", 14), TEXT_STYLES.CYAN); addDocElement("Z:", TEXT_STYLES.CYAN); addDocElement("Y\n", TEXT_STYLES.YELLOW); if(tempModelObj.getDetails().size() > 0){ addDocElement("-------------------------------------", TEXT_STYLES.CYAN); //if(tempModelObj.getDetailsUpdated()) // addDocElement(" DETAIL ", TEXT_STYLES.REVERSE_CYAN); //else addDocElement(" DETAIL ", TEXT_STYLES.CYAN); addDocElement("-----------------------------------\n", TEXT_STYLES.CYAN); boolean firstLine = true; counter = 1; for(IncidentInquiryDetails detail : tempModelObj.getDetails()) { for(String detail_string : detail.parseDetails(63)) { if(firstLine) { addDocElement(rPad(detail.getLogInfo(), 14), TEXT_STYLES.AQUA); addDocElement(rPad(String.valueOf(counter++), 3), TEXT_STYLES.CYAN); firstLine = false; } else { addDocElement(rPad("", 17), TEXT_STYLES.GRAY); } addDocElement(detail_string, TEXT_STYLES.YELLOW); } firstLine = true; } } if(tempModelObj.getUnits().size() > 0) { addDocElement("--------------------------------", TEXT_STYLES.CYAN); //if(tempModelObj.getUnitsUpdated()) // addDocElement(" UNITS ASSIGNED ", TEXT_STYLES.REVERSE_CYAN); //else addDocElement(" UNITS ASSIGNED ", TEXT_STYLES.CYAN); addDocElement("--------------------------------\n", TEXT_STYLES.CYAN); for(IncidentInquiryUnitsAssigned unit : tempModelObj.getUnits()) { addDocElement(rPad(unit.getLogInfo(), 14), TEXT_STYLES.AQUA); if(unit.isPrimary) addDocElement(rPad("<", 3), TEXT_STYLES.CYAN); else addDocElement(rPad("-", 3), TEXT_STYLES.CYAN); addDocElement(rPad(unit.beat, 6), TEXT_STYLES.YELLOW); if(unit.isActive) addDocElement(unit.statusType + "\n", TEXT_STYLES.RED); else addDocElement(unit.statusType + "\n", TEXT_STYLES.GREEN); } } if(tempModelObj.getTows().size() > 0){ addDocElement("-------------------------------------", TEXT_STYLES.CYAN); //if(tempModelObj.getTowsUpdated()) // addDocElement(" TOWS ", TEXT_STYLES.REVERSE_CYAN); //else addDocElement(" TOWS ", TEXT_STYLES.CYAN); addDocElement("-------------------------------------\n", TEXT_STYLES.CYAN); counter = 1; for(IncidentInquiryTows tow : tempModelObj.getTows()) { addDocElement(rPad(tow.getLogInfo(), 14), TEXT_STYLES.AQUA); addDocElement(rPad(String.valueOf(counter++), 3), TEXT_STYLES.CYAN); addDocElement(rPad(tow.towCompany, 40), TEXT_STYLES.YELLOW); addDocElement("BEAT: ", TEXT_STYLES.CYAN); addDocElement(tow.beat + "\n", TEXT_STYLES.YELLOW); addDocElement(lPad("CONF: ", 23), TEXT_STYLES.CYAN); addDocElement(rPad(tow.confPhoneNum, 22), TEXT_STYLES.YELLOW); addDocElement("PUB: ", TEXT_STYLES.CYAN); addDocElement(rPad(tow.publicPhoneNum, 14), TEXT_STYLES.YELLOW); addDocElement(tow.statusInfo + "\n", TEXT_STYLES.YELLOW); } } if(tempModelObj.getServices().size() > 0){ addDocElement("-----------------------------------", TEXT_STYLES.CYAN); //if(tempModelObj.getServicesUpdated()) // addDocElement(" SERVICES ", TEXT_STYLES.REVERSE_CYAN); //else addDocElement(" SERVICES ", TEXT_STYLES.CYAN); addDocElement("-----------------------------------\n", TEXT_STYLES.CYAN); counter = 1; for(IncidentInquiryServices service : tempModelObj.getServices()) { addDocElement(rPad(service.getLogInfo(), 14), TEXT_STYLES.AQUA); addDocElement(rPad(String.valueOf(counter++), 3), TEXT_STYLES.CYAN); addDocElement(service.serviceName + "\n", TEXT_STYLES.YELLOW); addDocElement(lPad("CONF: ", 23), TEXT_STYLES.CYAN); addDocElement(rPad(service.confPhoneNum, 25), TEXT_STYLES.YELLOW); addDocElement("PUB: ", TEXT_STYLES.CYAN); addDocElement(service.publicPhoneNum + "\n", TEXT_STYLES.YELLOW); } } if(tempModelObj.getWitnesses().size() > 0){ addDocElement("-----------------------------------", TEXT_STYLES.CYAN); //if(tempModelObj.getWitnessesUpdated()) // addDocElement(" WITNESSES ", TEXT_STYLES.REVERSE_CYAN); //else addDocElement(" WITNESSES ", TEXT_STYLES.CYAN); addDocElement("----------------------------------\n", TEXT_STYLES.CYAN); counter = 1; for(IncidentInquiryWitnesses witness : tempModelObj.getWitnesses()) { addDocElement(rPad(witness.getLogInfo(), 14), TEXT_STYLES.AQUA); addDocElement(rPad(String.valueOf(counter++), 3), TEXT_STYLES.CYAN); addDocElement(rPad(witness.reportingParty, 20), TEXT_STYLES.YELLOW); addDocElement("TEL: ", TEXT_STYLES.CYAN); addDocElement(witness.telephoneNum + "\n", TEXT_STYLES.YELLOW); addDocElement(lPad("ADDR: ", 23), TEXT_STYLES.CYAN); addDocElement(witness.address + "\n", TEXT_STYLES.YELLOW); } } } }