| /* |
| * Copyright (c) 2001, 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 com.sun.s1asdev.jdbc.stress1.ejb; |
| |
| import java.util.*; |
| import jakarta.ejb.*; |
| import jakarta.ejb.*; |
| import javax.naming.*; |
| import com.sun.s1asdev.jdbc.stress1.util.*; |
| |
| public class RosterBean implements SessionBean { |
| |
| private LocalPlayerHome playerHome = null; |
| private LocalTeamHome teamHome = null; |
| private LocalLeagueHome leagueHome = null; |
| |
| // Player business methods |
| public ArrayList testFinder(String parm1, String parm2, |
| String parm3) { |
| |
| //Debug.print("RosterBean testFinder"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findByTest(parm1, parm2, parm3); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return copyPlayersToDetails(players); |
| } |
| |
| public void createPlayer(PlayerDetails details) { |
| //Debug.print("RosterBean createPlayer"); |
| try { |
| LocalPlayer player = playerHome.create(details.getId(), |
| details.getName(), details.getPosition(), details.getSalary()); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public void addPlayer(String playerId, String teamId) { |
| //Debug.print("RosterBean addPlayer"); |
| try { |
| LocalTeam team = teamHome.findByPrimaryKey(teamId); |
| LocalPlayer player = playerHome.findByPrimaryKey(playerId); |
| team.addPlayer(player); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public void removePlayer(String playerId) { |
| //Debug.print("RosterBean removePlayer"); |
| try { |
| LocalPlayer player = playerHome.findByPrimaryKey(playerId); |
| player.remove(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public void dropPlayer(String playerId, String teamId) { |
| //Debug.print("RosterBean dropPlayer"); |
| try { |
| LocalPlayer player = playerHome.findByPrimaryKey(playerId); |
| LocalTeam team = teamHome.findByPrimaryKey(teamId); |
| team.dropPlayer(player); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public PlayerDetails getPlayer(String playerId) { |
| //Debug.print("RosterBean getPlayer"); |
| PlayerDetails playerDetails = null; |
| try { |
| LocalPlayer player = playerHome.findByPrimaryKey(playerId); |
| playerDetails = new PlayerDetails(playerId, |
| player.getName(), player.getPosition(), player.getSalary()); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return playerDetails; |
| } |
| |
| public ArrayList getPlayersOfTeam(String teamId) { |
| //Debug.print("RosterBean getPlayersOfTeam"); |
| Collection players = null; |
| |
| try { |
| LocalTeam team = teamHome.findByPrimaryKey(teamId); |
| players = team.getPlayers(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| |
| return copyPlayersToDetails(players); |
| } |
| |
| |
| public ArrayList getPlayersOfTeamCopy(String teamId) { |
| //Debug.print("RosterBean getPlayersOfTeamCopy"); |
| ArrayList playersList = null; |
| |
| try { |
| LocalTeam team = teamHome.findByPrimaryKey(teamId); |
| playersList = team.getCopyOfPlayers(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| |
| return playersList; |
| } |
| |
| |
| public ArrayList getTeamsOfLeague(String leagueId) { |
| //Debug.print("RosterBean getTeamsOfLeague"); |
| |
| ArrayList detailsList = new ArrayList(); |
| Collection teams = null; |
| try { |
| LocalLeague league = leagueHome.findByPrimaryKey(leagueId); |
| teams = league.getTeams(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| |
| Iterator i = teams.iterator(); |
| while (i.hasNext()) { |
| LocalTeam team = (LocalTeam) i.next(); |
| TeamDetails details = new TeamDetails(team.getTeamId(), |
| team.getName(), team.getCity()); |
| detailsList.add(details); |
| } |
| return detailsList; |
| } |
| |
| |
| public ArrayList getPlayersByPosition(String position) { |
| //Debug.print("RosterBean getPlayersByPosition"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findByPosition(position); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return copyPlayersToDetails(players); |
| } |
| |
| |
| public ArrayList getPlayersByHigherSalary(String name) { |
| //Debug.print("RosterBean getPlayersByByHigherSalary"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findByHigherSalary(name); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return copyPlayersToDetails(players); |
| } // getPlayersByHigherSalary |
| |
| public ArrayList getPlayersBySalaryRange(double low, double high) { |
| //Debug.print("RosterBean getPlayersBySalaryRange"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findBySalaryRange(low, high); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| |
| return copyPlayersToDetails(players); |
| } // getPlayersBySalaryRange |
| |
| public ArrayList getPlayersByLeagueId(String leagueId) { |
| //Debug.print("RosterBean getPlayersByLeagueId"); |
| Collection players = null; |
| |
| try { |
| LocalLeague league = leagueHome.findByPrimaryKey(leagueId); |
| players = playerHome.findByLeague(league); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return copyPlayersToDetails(players); |
| } // getPlayersByLeagueId |
| |
| public ArrayList getPlayersBySport(String sport) { |
| //Debug.print("RosterBean getPlayersBySport"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findBySport(sport); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return copyPlayersToDetails(players); |
| } // getPlayersBySport |
| |
| public ArrayList getPlayersByCity(String city) { |
| //Debug.print("RosterBean getPlayersByCity"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findByCity(city); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return copyPlayersToDetails(players); |
| } // getPlayersByCity |
| |
| public ArrayList getAllPlayers() { |
| //Debug.print("RosterBean getAllPlayers"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findAll(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| |
| return copyPlayersToDetails(players); |
| } // getAllPlayers |
| |
| public ArrayList getPlayersNotOnTeam() { |
| //Debug.print("RosterBean getPlayersNotOnTeam"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findNotOnTeam(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return copyPlayersToDetails(players); |
| } // getPlayersNotOnTeam |
| |
| public ArrayList getPlayersByPositionAndName(String position, |
| String name) { |
| //Debug.print("RosterBean getPlayersByPositionAndName"); |
| Collection players = null; |
| |
| try { |
| players = playerHome.findByPositionAndName(position, name); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return copyPlayersToDetails(players); |
| } // getPlayersByPositionAndName |
| |
| public ArrayList getLeaguesOfPlayer(String playerId) { |
| //Debug.print("RosterBean getLeaguesOfPlayer"); |
| ArrayList detailsList = new ArrayList(); |
| Collection leagues = null; |
| |
| try { |
| LocalPlayer player = playerHome.findByPrimaryKey(playerId); |
| leagues = player.getLeagues(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| |
| Iterator i = leagues.iterator(); |
| while (i.hasNext()) { |
| LocalLeague league = (LocalLeague) i.next(); |
| LeagueDetails details = new LeagueDetails(league.getLeagueId(), |
| league.getName(), |
| league.getSport()); |
| detailsList.add(details); |
| } |
| return detailsList; |
| } // getLeaguesOfPlayer |
| |
| public ArrayList getSportsOfPlayer(String playerId) { |
| //Debug.print("RosterBean getSportsOfPlayer"); |
| ArrayList sportsList = new ArrayList(); |
| Collection sports = null; |
| |
| try { |
| LocalPlayer player = playerHome.findByPrimaryKey(playerId); |
| sports = player.getSports(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| |
| Iterator i = sports.iterator(); |
| while (i.hasNext()) { |
| String sport = (String) i.next(); |
| sportsList.add(sport); |
| } |
| return sportsList; |
| } // getSportsOfPlayer |
| |
| // Team business methods |
| public void createTeamInLeague(TeamDetails details, String leagueId) { |
| //Debug.print("RosterBean createTeamInLeague"); |
| try { |
| LocalLeague league = leagueHome.findByPrimaryKey(leagueId); |
| LocalTeam team = teamHome.create(details.getId(), |
| details.getName(), |
| details.getCity()); |
| league.addTeam(team); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public void removeTeam(String teamId) { |
| //Debug.print("RosterBean removeTeam"); |
| try { |
| LocalTeam team = teamHome.findByPrimaryKey(teamId); |
| team.remove(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public TeamDetails getTeam(String teamId) { |
| //Debug.print("RosterBean getTeam"); |
| TeamDetails teamDetails = null; |
| try { |
| LocalTeam team = teamHome.findByPrimaryKey(teamId); |
| teamDetails = new TeamDetails(teamId, |
| team.getName(), team.getCity()); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return teamDetails; |
| } |
| |
| // League business methods |
| public void createLeague(LeagueDetails details) { |
| //Debug.print("RosterBean createLeague"); |
| try { |
| LocalLeague league = leagueHome.create(details.getId(), |
| details.getName(), |
| details.getSport()); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public void removeLeague(String leagueId) { |
| //Debug.print("RosterBean removeLeague"); |
| try { |
| LocalLeague league = leagueHome.findByPrimaryKey(leagueId); |
| league.remove(); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public LeagueDetails getLeague(String leagueId) { |
| //Debug.print("RosterBean getLeague"); |
| LeagueDetails leagueDetails = null; |
| try { |
| LocalLeague league = leagueHome.findByPrimaryKey(leagueId); |
| leagueDetails = new LeagueDetails(leagueId, |
| league.getName(), |
| league.getSport()); |
| } catch (Exception ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| return leagueDetails; |
| } |
| |
| // SessionBean methods |
| public void ejbCreate() throws CreateException { |
| //Debug.print("RosterBean ejbCreate"); |
| try { |
| playerHome = lookupPlayer(); |
| teamHome = lookupTeam(); |
| leagueHome = lookupLeague(); |
| } catch (NamingException ex) { |
| throw new CreateException(ex.getMessage()); |
| } |
| } |
| |
| public void ejbActivate() { |
| //Debug.print("RosterBean ejbActivate"); |
| try { |
| playerHome = lookupPlayer(); |
| teamHome = lookupTeam(); |
| leagueHome = lookupLeague(); |
| } catch (NamingException ex) { |
| throw new EJBException(ex.getMessage()); |
| } |
| } |
| |
| public void ejbPassivate() { |
| playerHome = null; |
| teamHome = null; |
| leagueHome = null; |
| } |
| |
| public RosterBean() {} |
| public void ejbRemove() {} |
| public void setSessionContext(SessionContext sc) {} |
| |
| // Private methods |
| private LocalPlayerHome lookupPlayer() throws NamingException { |
| Context initial = new InitialContext(); |
| Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer"); |
| return (LocalPlayerHome) objref; |
| } |
| |
| private LocalTeamHome lookupTeam() throws NamingException { |
| Context initial = new InitialContext(); |
| Object objref = initial.lookup("java:comp/env/ejb/SimpleTeam"); |
| return (LocalTeamHome) objref; |
| } |
| |
| private LocalLeagueHome lookupLeague() throws NamingException { |
| Context initial = new InitialContext(); |
| Object objref = initial.lookup("java:comp/env/ejb/SimpleLeague"); |
| return (LocalLeagueHome) objref; |
| } |
| |
| private ArrayList copyPlayersToDetails(Collection players) { |
| ArrayList detailsList = new ArrayList(); |
| Iterator i = players.iterator(); |
| |
| while (i.hasNext()) { |
| LocalPlayer player = (LocalPlayer) i.next(); |
| PlayerDetails details = new PlayerDetails(player.getPlayerId(), |
| player.getName(), |
| player.getPosition(), |
| player.getSalary()); |
| detailsList.add(details); |
| } |
| return detailsList; |
| } |
| } |