|  | /* | 
|  | * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. | 
|  | * | 
|  | * This program and the accompanying materials are made available under the | 
|  | * terms of the Eclipse Public License v. 2.0, which is available at | 
|  | * http://www.eclipse.org/legal/epl-2.0. | 
|  | * | 
|  | * This Source Code may also be made available under the following Secondary | 
|  | * Licenses when the conditions for such availability set forth in the | 
|  | * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, | 
|  | * version 2 with the GNU Classpath Exception, which is available at | 
|  | * https://www.gnu.org/software/classpath/license.html. | 
|  | * | 
|  | * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | 
|  | */ | 
|  |  | 
|  | 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; | 
|  |  | 
|  |  | 
|  |  | 
|  | /** | 
|  | * @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); | 
|  |  | 
|  | //System.err.println("XXXX-1"); | 
|  | Roster myRoster = home.create(); | 
|  | //System.err.println("XXXX-2"); | 
|  |  | 
|  | // deleting all exisiting DB-entries | 
|  | myRoster.cleanUp(); | 
|  | //System.err.println("XXXX-3"); | 
|  |  | 
|  | insertInfo(myRoster); | 
|  | //System.err.println("XXXX-4"); | 
|  | getSomeInfo(myRoster); | 
|  | //System.err.println("XXXX-5"); | 
|  |  | 
|  | getMoreInfo(myRoster); | 
|  | //System.err.println("XXXX-6"); | 
|  | out.println("<BR>ROSTER-FINISHED-OK"); | 
|  |  | 
|  | } 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); | 
|  |  | 
|  |  | 
|  | out.println("<BR> ----------------------------------------------------------"); | 
|  |  | 
|  | // 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 | 
|  |  | 
|  |  | 
|  | } | 
|  |  | 
|  |  | 
|  |  |