package citation.query; import java.rmi.RemoteException; import citation.comm.CitationCatcher_Stub; import citation.data.CPerson; public class QueryMgr implements IServerQuery { private GPSLocation gps = null; public QueryMgr() { gps = new GPSLocation(); // initialize location listener gps.startGPSListener(); } public Object getGPSLocationObj() { return gps; } public Object findDMVRecord(String _license) { CPerson cp = null; // this is the return object // get the request from the server CitationCatcher_Stub serverObj = new CitationCatcher_Stub(); try { String xml = serverObj.getDMVResultAsXML(_license); // fill out a person object cp = new CPerson(); XMLStringParser parser = new XMLStringParser(xml); cp.setElement(CPerson.LAST, parser.getNamedElement("Lname")); cp.setElement(CPerson.MIDDLE, parser.getNamedElement("Mname")); cp.setElement(CPerson.FIRST, parser.getNamedElement("Fname")); cp.setElement(CPerson.ADDRESS, parser.getNamedElement("Address")); cp.setElement(CPerson.CITY, parser.getNamedElement("City")); cp.setElement(CPerson.ZIP, parser.getNamedElement("Zip")); cp.setElement(CPerson.DOB, parser.getNamedElement("DOB")); cp.setElement(CPerson.SEX, parser.getNamedElement("Sex")); cp.setElement(CPerson.HEIGHT, parser.getNamedElement("Height")); cp.setElement(CPerson.WEIGHT, parser.getNamedElement("Weight")); cp.setElement(CPerson.ENDORSEMENTS, parser.getNamedElement("Endorsements")); cp.setElement(CPerson.RESTRICTIONS, parser.getNamedElement("Restrictions")); } catch (RemoteException e) { // TODO Auto-generated catch block - need to add error recovery e.printStackTrace(); } return cp; } }