package client; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import javax.naming.Context; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import roster.Roster; import roster.RosterHome; import util.LeagueDetails; import util.PlayerDetails; import util.TeamDetails; import java.util.Iterator; import java.util.Set; /** * * <p>�berschrift: </p> * <p>Beschreibung: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Organisation: </p> * @author unbekannt * @version 1.0 */ public class RosterServlet extends HttpServlet{ private PrintWriter out = null; /** Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** * * @param req * @param res * @throws ServletException * @throws IOException */ private void processRequest(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); out = res.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>RosterApp Servlet-Client</title>"); out.println("</head>"); out.println("<body>"); try { Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/SimpleRoster"); RosterHome home = (RosterHome)PortableRemoteObject.narrow(objref, RosterHome.class); Roster myRoster = home.create(); // deleting all exisiting DB-entries myRoster.cleanUp(); insertInfo(myRoster); getSomeInfo(myRoster); getMoreInfo(myRoster); } catch (Exception ex) { out.println("Caught an exception:"); ex.printStackTrace(out); ex.printStackTrace(); } out.println("</body>"); out.println("</html>"); } /** * * @param myRoster */ private void getSomeInfo(Roster myRoster) { try { ArrayList playerList; ArrayList teamList; ArrayList leagueList; playerList = myRoster.getPlayersOfTeam("T2"); printDetailsList(playerList, out); teamList = myRoster.getTeamsOfLeague("L1"); printDetailsList(teamList, out); playerList = myRoster.getPlayersByPosition("defender"); printDetailsList(playerList, out); leagueList = myRoster.getLeaguesOfPlayer("P28"); printDetailsList(leagueList, out); } catch (Exception ex) { System.err.println("Caught an exception:"); ex.printStackTrace(); } } // getSomeInfo /** * * @param myRoster */ private void getMoreInfo(Roster myRoster) { try { LeagueDetails leagueDetails; TeamDetails teamDetails; PlayerDetails playerDetails; ArrayList playerList; ArrayList teamList; ArrayList leagueList; ArrayList sportList; leagueDetails = myRoster.getLeague("L1"); out.println("<BR>" + leagueDetails.toString()); out.println(); out.println("<BR> ----------------------------------------------------------"); teamDetails = myRoster.getTeam("T3"); out.println("<BR>" + teamDetails.toString()); out.println(); out.println("<BR> ----------------------------------------------------------"); playerDetails = myRoster.getPlayer("P20"); out.println("<BR>" + playerDetails.toString()); out.println(); out.println("<BR> ----------------------------------------------------------"); playerList = myRoster.getPlayersOfTeam("T2"); printDetailsList(playerList, out); teamList = myRoster.getTeamsOfLeague("L1"); printDetailsList(teamList, out); playerList = myRoster.getPlayersByPosition("defender"); playerList = myRoster.getAllPlayers(); playerList = myRoster.getPlayersNotOnTeam(); playerList = myRoster.getPlayersByPositionAndName("power forward", "Jack Patterson"); playerList = myRoster.getPlayersByCity("Truckee"); playerList = myRoster.getPlayersBySport("Soccer"); playerList = myRoster.getPlayersByLeagueId("L1"); playerList = myRoster.getPlayersByHigherSalary("Ian Carlyle"); out.println("<BR>/////////////////////////////////////////////"); printDetailsList(playerList, out); out.println("<BR>/////////////////////////////////////////////"); playerList = myRoster.getPlayersBySalaryRange(500.00, 800.00); playerList = myRoster.getPlayersOfTeamCopy("T5"); leagueList = myRoster.getLeaguesOfPlayer("P28"); printDetailsList(leagueList, out); sportList = myRoster.getSportsOfPlayer("P28"); printDetailsList(sportList, out); /**************************************************************** * * new additions!!!! * ****************************************************************/ leagueDetails = myRoster.getLeagueByName("Valley"); out.println("<BR>" + leagueDetails.toString()); out.println("<BR> ----------------------------------------------------------"); leagueDetails = myRoster.getLeagueByName("Mountain"); out.println("<BR>" + leagueDetails.toString()); out.println("<BR> ----------------------------------------------------------"); teamList = myRoster.getTeamsByPlayerAndLeague("P1", "L1"); printDetailsList(teamList, out); Set cities = myRoster.getCitiesOfLeague("L2"); Iterator it = cities.iterator(); while (it.hasNext()) { out.println("<BR>" + it.next()); } out.println("<BR> ----------------------------------------------------------"); teamDetails = myRoster.getTeamOfLeagueByCity("L2", "Truckee"); out.println("<BR>" + teamDetails.toString()); out.println("<BR> ----------------------------------------------------------"); out.println("<BR>" + myRoster.getTeamsNameOfLeagueByCity("L2", "Truckee")); out.println("<BR> ----------------------------------------------------------"); out.println("<BR>" + myRoster.getSalaryOfPlayerFromTeam("T3", "Ben Shore")); out.println("<BR> ----------------------------------------------------------"); playerList = myRoster.getPlayersOfLeague("L2"); printDetailsList(playerList, out); playerList = myRoster.getPlayersWithPositionsGoalkeeperOrDefender(); printDetailsList(playerList, out); playerList = myRoster.getPlayersWithNameEndingWithON(); printDetailsList(playerList, out); playerList = myRoster.getPlayersWithNullName(); printDetailsList(playerList, out); playerList = myRoster.getPlayersWithTeam("T5"); printDetailsList(playerList, out); out.println("<BR>" + myRoster.getTeamNameVariations("T5")); out.println("<BR> ----------------------------------------------------------"); playerList = myRoster.getPlayersWithSalaryUsingABS(100.1212121); printDetailsList(playerList, out); playerList = myRoster.getPlayersWithSalaryUsingSQRT(10000); printDetailsList(playerList, out); //remote calls teamList = myRoster.getTeamsByPlayerAndLeagueViaRemote("P1", "L1"); printDetailsList(teamList, out); teamDetails = myRoster.getRemoteTeamOfLeagueByCity("L2", "Truckee"); out.println("<BR>" + teamDetails.toString()); out.println("<BR> ----------------------------------------------------------"); teamList = myRoster.getRemoteTeamsOfLeague("L2"); printDetailsList(teamList, out); playerList = myRoster.getRemotePlayersOfLeague("L2"); printDetailsList(playerList, out); // internal NULL - parameter for finder playerList = myRoster.getPlayersByLeagueIdWithNULL("L1"); printDetailsList(playerList, out); } catch (Exception ex) { System.err.println("Caught an exception:"); ex.printStackTrace(); } } // getMoreInfo /** * * @param list * @param out */ private void printDetailsList(ArrayList list, PrintWriter out) { Iterator i = list.iterator(); while (i.hasNext()) { Object details = (Object)i.next(); out.println("<BR>" + details.toString()); } out.println(); out.println("<BR> ----------------------------------------------------------"); } // printDetailsList /** * * @param myRoster */ private void insertInfo(Roster myRoster) { try { // Leagues myRoster.createLeague(new LeagueDetails( "L1", "Mountain", "Soccer")); myRoster.createLeague(new LeagueDetails( "L2", "Valley", "Basketball")); // Teams myRoster.createTeamInLeague(new TeamDetails( "T1", "Honey Bees", "Visalia"), "L1"); myRoster.createTeamInLeague(new TeamDetails( "T2", "Gophers", "Manteca"), "L1"); myRoster.createTeamInLeague(new TeamDetails( "T3", "Deer", "Bodie"), "L2"); myRoster.createTeamInLeague(new TeamDetails( "T4", "Trout", "Truckee"), "L2"); myRoster.createTeamInLeague(new TeamDetails( "T5", "Crows", "Orland"), "L1"); // Players, Team T1 myRoster.createPlayer(new PlayerDetails( "P1", "Phil Jones", "goalkeeper", 100.00)); myRoster.addPlayer("P1", "T1"); myRoster.createPlayer(new PlayerDetails( "P2", "Alice Smith", "defender", 505.00)); myRoster.addPlayer("P2", "T1"); myRoster.createPlayer(new PlayerDetails( "P3", "Bob Roberts", "midfielder", 65.00)); myRoster.addPlayer("P3", "T1"); myRoster.createPlayer(new PlayerDetails( "P4", "Grace Phillips", "forward", 100.00)); myRoster.addPlayer("P4", "T1"); myRoster.createPlayer(new PlayerDetails( "P5", "Barney Bold", "defender", 100.00)); myRoster.addPlayer("P5", "T1"); // Players, Team T2 myRoster.createPlayer(new PlayerDetails( "P6", "Ian Carlyle", "goalkeeper", 555.00)); myRoster.addPlayer("P6", "T2"); myRoster.createPlayer(new PlayerDetails( "P7", "Rebecca Struthers", "midfielder", 777.00)); myRoster.addPlayer("P7", "T2"); myRoster.createPlayer(new PlayerDetails( "P8", "Anne Anderson", "forward", 65.00)); myRoster.addPlayer("P8", "T2"); myRoster.createPlayer(new PlayerDetails( "P9", "Jan Wesley", "defender", 100.00)); myRoster.addPlayer("P9", "T2"); myRoster.createPlayer(new PlayerDetails( "P10", "Terry Smithson", "midfielder", 100.00)); myRoster.addPlayer("P10", "T2"); // Players, Team T3 myRoster.createPlayer(new PlayerDetails( "P11", "Ben Shore", "point guard", 188.00)); myRoster.addPlayer("P11", "T3"); myRoster.createPlayer(new PlayerDetails( "P12", "Chris Farley", "shooting guard", 577.00)); myRoster.addPlayer("P12", "T3"); myRoster.createPlayer(new PlayerDetails( "P13", "Audrey Brown", "small forward", 995.00)); myRoster.addPlayer("P13", "T3"); myRoster.createPlayer(new PlayerDetails( "P14", "Jack Patterson", "power forward", 100.00)); myRoster.addPlayer("P14", "T3"); myRoster.createPlayer(new PlayerDetails( "P15", "Candace Lewis", "point guard", 100.00)); myRoster.addPlayer("P15", "T3"); // Players, Team T4 myRoster.createPlayer(new PlayerDetails( "P16", "Linda Berringer", "point guard", 844.00)); myRoster.addPlayer("P16", "T4"); myRoster.createPlayer(new PlayerDetails( "P17", "Bertrand Morris", "shooting guard", 452.00)); myRoster.addPlayer("P17", "T4"); myRoster.createPlayer(new PlayerDetails( "P18", "Nancy White", "small forward", 833.00)); myRoster.addPlayer("P18", "T4"); myRoster.createPlayer(new PlayerDetails( "P19", "Billy Black", "power forward", 444.00)); myRoster.addPlayer("P19", "T4"); myRoster.createPlayer(new PlayerDetails( "P20", "Jodie James", "point guard", 100.00)); myRoster.addPlayer("P20", "T4"); // Players, Team T5 myRoster.createPlayer(new PlayerDetails( "P21", "Henry Shute", "goalkeeper", 205.00)); myRoster.addPlayer("P21", "T5"); myRoster.createPlayer(new PlayerDetails( "P22", "Janice Walker", "defender", 857.00)); myRoster.addPlayer("P22", "T5"); myRoster.createPlayer(new PlayerDetails( "P23", "Wally Hendricks", "midfielder", 748.00)); myRoster.addPlayer("P23", "T5"); myRoster.createPlayer(new PlayerDetails( "P24", "Gloria Garber", "forward", 777.00)); myRoster.addPlayer("P24", "T5"); myRoster.createPlayer(new PlayerDetails( "P25", "Frank Fletcher", "defender", 399.00)); myRoster.addPlayer("P25", "T5"); // Players, no team myRoster.createPlayer(new PlayerDetails( "P26", "Hobie Jackson", "pitcher", 582.00)); myRoster.createPlayer(new PlayerDetails( "P27", "Melinda Kendall", "catcher", 677.00)); myRoster.createPlayer(new PlayerDetails( "P99", null, "_", 666.66)); // Players, multiple teams myRoster.createPlayer(new PlayerDetails( "P28", "Constance Adams", "substitue", 966.00)); myRoster.addPlayer("P28", "T1"); myRoster.addPlayer("P28", "T3"); } catch (Exception ex) { System.err.println("Caught an exception:"); ex.printStackTrace(); } } // insertInfo }