RosterServlet.java revision ada1678a4262b208a7b87391f520a7767d25287c
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved.
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common Development
* and Distribution License("CDDL") (collectively, the "License"). You
* may not use this file except in compliance with the License. You can
* obtain a copy of the License at
* https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
* or packager/legal/LICENSE.txt. See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each
* file and include the License file at packager/legal/LICENSE.txt.
*
* GPL Classpath Exception:
* Oracle designates this particular file as subject to the "Classpath"
* exception as provided by Oracle in the GPL Version 2 section of the License
* file that accompanied this code.
*
* Modifications:
* If applicable, add the following below the License Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* Contributor(s):
* If you wish your version of this file to be governed by only the CDDL or
* only the GPL Version 2, indicate your decision by adding "[Contributor]
* elects to include this software in this distribution under the [CDDL or GPL
* Version 2] license." If you don't indicate a single choice of license, a
* recipient has the option to distribute your version of this file under
* either the CDDL, the GPL Version 2 or to extend the choice of license to
* its licensees as provided above. However, if you add GPL Version 2 code
* and therefore, elected the GPL Version 2 license, then the option applies
* only if the new code is made subject to such option by the copyright
* holder.
*/
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
}