import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class getSearchResults extends HttpServlet { //Initialize global variables DBServerInterface dbm; public void init(ServletConfig config) throws ServletException { try{ super.init(config); dbm = (DBServerInterface)System.getProperties().get("MDM.DBServer"); } catch(Exception ex){ ex.printStackTrace(); } } //Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ObjectOutputStream oos = new ObjectOutputStream(response.getOutputStream()); try{ String Speciality = request.getParameter("Speciality"); String SubSpeciality = request.getParameter("SubSpeciality"); String Affiliation = request.getParameter("Affiliation"); String Association = request.getParameter("Association"); String BuddyId = request.getParameter("BuddyId"); Vector result = dbm.search(Speciality, SubSpeciality, Affiliation, Association, BuddyId); oos.writeObject(result); result = null; } catch(NullPointerException ex){ try{ System.out.println("Recreating connection to FMServer"); org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(); dbm = DBServerInterfaceHelper.bind(orb, "DBServer"); System.getProperties().put("MDM.DBServer", dbm); } catch(Exception subEx){ subEx.printStackTrace(); } } catch(ClassCastException ex){ try{ System.out.println("Recreating connection to FMServer"); org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(); dbm = DBServerInterfaceHelper.bind(orb, "DBServer"); System.getProperties().put("MDM.DBServer", dbm); } catch(Exception subEx){ subEx.printStackTrace(); } } catch(Exception ex){ ex.printStackTrace(); } finally{ oos.close(); } } public void destroy(){ try{ dbm = null; } catch(Exception ex){ ex.printStackTrace(); } } //Get Servlet information public String getServletInfo() { return "getSearchResults Information"; } }