package team; import java.util.*; import javax.ejb.*; public interface LocalPlayer extends EJBLocalObject { public String getPlayerId(); public String getName(); public String getPosition(); public double getSalary(); public Collection getTeams(); public Collection getLeagues() throws FinderException; public Collection getSports() throws FinderException; }
package team; import java.util.*; import javax.ejb.*; public interface LocalPlayerHome extends EJBLocalHome { public LocalPlayer create (String id, String name, String position, double salary) throws CreateException; public LocalPlayer findByPrimaryKey (String id) throws FinderException; public Collection findByPosition(String position) throws FinderException; public Collection findByHigherSalary(String name) throws FinderException; public Collection findBySalaryRange(double low, double high) throws FinderException; public Collection findByLeague(LocalLeague league) throws FinderException; public Collection findBySport(String sport) throws FinderException; public Collection findByCity(String city) throws FinderException; public Collection findAll() throws FinderException; public Collection findNotOnTeam() throws FinderException; public Collection findByPositionAndName(String position, String name) throws FinderException; public Collection findByTest (String parm1, String parm2, String parm3) throws FinderException; }
package team; import java.util.*; import javax.ejb.*; import javax.naming.*; import util.Debug; public abstract class PlayerBean implements EntityBean { private EntityContext context; // Access methods for persistent fields public abstract String getPlayerId(); public abstract void setPlayerId(String id); public abstract String getName(); public abstract void setName(String name); public abstract String getPosition(); public abstract void setPosition(String position); public abstract double getSalary(); public abstract void setSalary(double salary); // Access methods for relationship fields public abstract Collection getTeams(); public abstract void setTeams(Collection teams); // Select methods public abstract Collection ejbSelectLeagues(LocalPlayer player) throws FinderException; public abstract Collection ejbSelectSports(LocalPlayer player) throws FinderException; // Business methods public Collection getLeagues() throws FinderException { LocalPlayer player = (team.LocalPlayer)context.getEJBLocalObject(); return ejbSelectLeagues(player); } public Collection getSports() throws FinderException { LocalPlayer player = (team.LocalPlayer)context.getEJBLocalObject(); return ejbSelectSports(player); } // EntityBean methods public String ejbCreate (String id, String name, String position, double salary) throws CreateException { Debug.print("PlayerBean ejbCreate"); setPlayerId(id); setName(name); setPosition(position); setSalary(salary); return id; } public void ejbPostCreate (String id, String name, String position, double salary) throws CreateException { } public void setEntityContext(EntityContext ctx) { context = ctx; } public void unsetEntityContext() { context = null; } public void ejbRemove() { Debug.print("PlayerBean ejbRemove"); } public void ejbLoad() { Debug.print("PlayerBean ejbLoad"); } public void ejbStore() { Debug.print("PlayerBean ejbStore"); } public void ejbPassivate() { } public void ejbActivate() { } } // PlayerBean class
public abstract class PlayerBean implements EntityBean { // ... // Access methods for persistent fields public abstract String getPlayerId(); public abstract void setPlayerId(String id); public abstract String getName(); public abstract void setName(String name); public abstract String getPosition(); public abstract void setPosition(String position); public abstract double getSalary(); public abstract void setSalary(double salary); // ... }
// Access methods for relationship fields public abstract Collection getTeams(); public abstract void setTeams(Collection teams);
// Select methods public abstract Collection ejbSelectLeagues(LocalPlayer player) throws FinderException; public abstract Collection ejbSelectSports(LocalPlayer player) throws FinderException;
// Business methods public Collection getLeagues() throws FinderException { LocalPlayer player = (team.LocalPlayer)context.getEJBLocalObject(); return ejbSelectLeagues(player); } public Collection getSports() throws FinderException { LocalPlayer player = (team.LocalPlayer)context.getEJBLocalObject(); return ejbSelectSports(player); }
public String ejbCreate (String id, String name, String position, double salary) throws CreateException { Debug.print("PlayerBean ejbCreate"); setPlayerId(id); setName(name); setPosition(position); setSalary(salary); return id; }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'> <application> <display-name>RosterApp</display-name> <description>Application description</description> <module> <ejb>roster-ejb.jar</ejb> </module> <module> <java>roster-ac.jar</java> </module> <module> <ejb>team-ejb.jar</ejb> </module> </application>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE j2ee-ri-specific-information PUBLIC '-//Sun Microsystems Inc.//DTD J2EE Reference Implementation 1.3//EN' 'http://localhost:8000/sun-j2ee-ri_1_3.dtd'> <j2ee-ri-specific-information> ... <enterprise-beans> <module-name>team-ejb.jar</module-name> <unique-id>0</unique-id> <ejb> <ejb-name>LeagueEJB</ejb-name> <jndi-name>MyLeague</jndi-name> ... </ejb>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE j2ee-ri-specific-information PUBLIC '-//Sun Microsystems Inc.//DTD J2EE Reference Implementation 1.3//EN' 'http://localhost:8000/sun-j2ee-ri_1_3.dtd'> <j2ee-ri-specific-information> <app-client> <ejb-ref> <ejb-ref-name>ejb/SimpleRoster</ejb-ref-name> <jndi-name>MyRoster</jndi-name> </ejb-ref> </app-client> </j2ee-ri-specific-information>
<j2ee-ri-specific-information> ... <enterprise-beans> <module-name>team-ejb.jar</module-name> <unique-id>0</unique-id> <ejb> <ejb-name>LeagueEJB</ejb-name> ... </ejb> <ejb> <ejb-name>TeamEJB</ejb-name> ... </ejb> <ejb> <ejb-name>PlayerEJB</ejb-name> ... </ejb> ... <cmpresource> <ds-jndi-name>jdbc/Cloudscape</ds-jndi-name> <default-resource-principal> <name></name> <password></password> </default-resource-principal> </cmpresource> </enterprise-beans> </j2ee-ri-specific-information>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE application-client PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN' 'http://java.sun.com/dtd/application-client_1_3.dtd'> <application-client> <display-name>RosterClient</display-name> <ejb-ref> <ejb-ref-name>ejb/SimpleRoster</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>roster.RosterHome</home> <remote>roster.Roster</remote> </ejb-ref> </application-client>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'> <ejb-jar> <display-name>RosterJAR</display-name> <enterprise-beans> <session> <display-name>RosterEJB</display-name> <ejb-name>RosterEJB</ejb-name> <home>roster.RosterHome</home> <remote>roster.Roster</remote> <ejb-class>roster.RosterBean</ejb-class> <session-type>Stateful</session-type> <transaction-type>Container</transaction-type> <ejb-local-ref> <ejb-ref-name>ejb/SimpleLeague</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>team.LocalLeagueHome</local-home> <local>team.LocalLeague</local> <ejb-link>LeagueEJB</ejb-link> </ejb-local-ref> <ejb-local-ref> <ejb-ref-name>ejb/SimpleTeam</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>team.LocalTeamHome</local-home> <local>team.LocalTeam</local> <ejb-link>TeamEJB</ejb-link> </ejb-local-ref> <ejb-local-ref> <ejb-ref-name>ejb/SimplePlayer</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>team.LocalPlayerHome</local-home> <local>team.LocalPlayer</local> <ejb-link>PlayerEJB</ejb-link> </ejb-local-ref> <security-identity> <description></description> <use-caller-identity></use-caller-identity> </security-identity> </session> </enterprise-beans> </ejb-jar>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'> <ejb-jar> <display-name>TeamJAR</display-name> <enterprise-beans> <entity> <display-name>LeagueEJB</display-name> <ejb-name>LeagueEJB</ejb-name> <local-home>team.LocalLeagueHome</local-home> <local>team.LocalLeague</local> <ejb-class>team.LeagueBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.String</prim-key-class> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>League</abstract-schema-name> <cmp-field> <description>no description</description> <field-name>leagueId</field-name> </cmp-field> <cmp-field> <description>no description</description> <field-name>name</field-name> </cmp-field> <cmp-field> <description>no description</description> <field-name>sport</field-name> </cmp-field> <primkey-field>leagueId</primkey-field> <security-identity> <description></description> <use-caller-identity></use-caller-identity> </security-identity> </entity> <entity> <display-name>TeamEJB</display-name> <ejb-name>TeamEJB</ejb-name> ... </entity> <entity> <display-name>PlayerEJB</display-name> <ejb-name>PlayerEJB</ejb-name> <local-home>team.LocalPlayerHome</local-home> <local>team.LocalPlayer</local> <ejb-class>team.PlayerBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.String</prim-key-class> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>Player</abstract-schema-name> <query> <description></description> <query-method> <method-name>findNotOnTeam</method-name> <method-params /> </query-method> <ejb-ql>select object(p) from Player p where p.teams is empty</ejb-ql> </query> ... </entity> </enterprise-beans> <relationships> <ejb-relation> <description>Team To Player</description> <ejb-relation-name></ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>TeamEJB</ejb-relationship-role-name> <multiplicity>many</multiplicity> <relationship-role-source> <ejb-name>TeamEJB</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>players</cmr-field-name> <cmr-field-type>java.util.Collection</cmr-field-type> </cmr-field> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>PlayerEJB</ejb-relationship-role-name> <multiplicity>many</multiplicity> <relationship-role-source> <ejb-name>PlayerEJB</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>teams</cmr-field-name> <cmr-field-type>java.util.Collection</cmr-field-type> </cmr-field> </ejb-relationship-role> </ejb-relation> <ejb-relation> <description>League-Team</description> <ejb-relation-name></ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>LeagueEJB</ejb-relationship-role-name> <multiplicity>one</multiplicity> <relationship-role-source> <ejb-name>LeagueEJB</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>teams</cmr-field-name> <cmr-field-type>java.util.Collection</cmr-field-type> </cmr-field> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>TeamEJB</ejb-relationship-role-name> <multiplicity>many</multiplicity> <cascade-delete /> <relationship-role-source> <ejb-name>TeamEJB</ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name>league</cmr-field-name> </cmr-field> </ejb-relationship-role> </ejb-relation> </relationships> ... </ejb-jar>
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(); // ... myRoster.createPlayer( new PlayerDetails( "P1", "Phil Jones", "goalkeeper", 100.00));
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 ejbCreate() throws CreateException { Debug.print("RosterBean ejbCreate"); try { playerHome = lookupPlayer(); teamHome = lookupTeam(); leagueHome = lookupLeague(); } catch (NamingException ex) { throw new CreateException(ex.getMessage()); } } private LocalPlayerHome lookupPlayer() throws NamingException { Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer"); return (LocalPlayerHome) objref; }
public String ejbCreate (String id, String name, String position, double salary) throws CreateException { Debug.print("PlayerBean ejbCreate"); setPlayerId(id); setName(name); setPosition(position); setSalary(salary); return id; }
myRoster.addPlayer("P1", "T1");
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 abstract Collection getPlayers(); public abstract void setPlayers(Collection players);
public void addPlayer(LocalPlayer player) { Debug.print("TeamBean addPlayer"); try { Collection players = getPlayers(); players.add(player); } catch (Exception ex) { throw new EJBException(ex.getMessage()); } }
myRoster.removePlayer(“P4”);
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()); } }
myRoster.dropPlayer(“P2”, “T1”);
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 void dropPlayer(LocalPlayer player) { Debug.print("TeamBean dropPlayer"); try { Collection players = getPlayers(); players.remove(player); } catch (Exception ex) { throw new EJBException(ex.getMessage()); } }
playerList = myRoster.getPlayersOfTeam("T2");
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); } // getPlayersOfTeam 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; } // copyPlayersToDetails
public abstract Collection getPlayers();
public Collection getPlayers();
LocalTeam team = teamHome.findByPrimaryKey(teamId); Collection players = team.getPlayers(); players.remove(player);
playerList = myRoster.getPlayersOfTeamCopy("T5");
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; } // getPlayersOfTeamCopy
public ArrayList getCopyOfPlayers() { Debug.print("TeamBean getCopyOfPlayers"); ArrayList playerList = new ArrayList(); Collection players = getPlayers(); Iterator i = players.iterator(); while (i.hasNext()) { LocalPlayer player = (LocalPlayer) i.next(); PlayerDetails details = new PlayerDetails(player.getPlayerId(), player.getName(), player.getPosition(), 0.00); playerList.add(details); } return playerList; }
playerList = myRoster.getPlayersByPosition("defender");
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); } // getPlayersByPosition
public Collection findByPosition(String position) throws FinderException;
SELECT DISTINCT OBJECT(p) FROM Player p WHERE p.position = ?1
sportList = myRoster.getSportsOfPlayer("P28");
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
public Collection getSports() throws FinderException { LocalPlayer player = (team.LocalPlayer)context.getEJBLocalObject(); return ejbSelectSports(player); }
public abstract Collection ejbSelectSports(LocalPlayer player) throws FinderException;
SELECT DISTINCT t.league.sport FROM Player p, IN (p.teams) AS t WHERE p = ?1
C:\..\src\cmproster\earpronto>runclient -client RosterApp.ear -name RosterClient -textauth Initiating login ... Username = null Enter Username:guest Enter Password:guest123 Binding name:`java:comp/env/ejb/SimpleRoster` P6 Ian Carlyle goalkeeper 555.0 P7 Rebecca Struthers midfielder 777.0 P10 Terry Smithson midfielder 100.0 P8 Anne Anderson forward 65.0 P9 Jan Wesley defender 100.0 T5 Crows Orland T2 Gophers Manteca T1 Honey Bees Visalia P2 Alice Smith defender 505.0 P5 Barney Bold defender 100.0 P9 Jan Wesley defender 100.0 P22 Janice Walker defender 857.0 P25 Frank Fletcher defender 399.0 L2 Valley Basketball L1 Mountain Soccer Unbinding name:`java:comp/env/ejb/SimpleRoster`
/* * * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. * * This software is the proprietary information of Sun Microsystems, Inc. * Use is subject to license terms. * */ package client; import java.util.*; import javax.naming.Context; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; import util.*; import roster.*; public class RosterClient { public static void main(String[] args) { 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(); insertInfo(myRoster); getSomeInfo(myRoster); // getMoreInfo(myRoster); System.exit(0); } catch (Exception ex) { System.err.println("Caught an exception:"); ex.printStackTrace(); } } // main private static void getSomeInfo(Roster myRoster) { try { ArrayList playerList; ArrayList teamList; ArrayList leagueList; playerList = myRoster.getPlayersOfTeam("T2"); printDetailsList(playerList); teamList = myRoster.getTeamsOfLeague("L1"); printDetailsList(teamList); playerList = myRoster.getPlayersByPosition("defender"); printDetailsList(playerList); leagueList = myRoster.getLeaguesOfPlayer("P28"); printDetailsList(leagueList); } catch (Exception ex) { System.err.println("Caught an exception:"); ex.printStackTrace(); } } // getSomeInfo private static void getMoreInfo(Roster myRoster) { try { LeagueDetails leagueDetails; TeamDetails teamDetails; PlayerDetails playerDetails; ArrayList playerList; ArrayList teamList; ArrayList leagueList; ArrayList sportList; leagueDetails = myRoster.getLeague("L1"); System.out.println(leagueDetails.toString()); System.out.println(); teamDetails = myRoster.getTeam("T3"); System.out.println(teamDetails.toString()); System.out.println(); playerDetails = myRoster.getPlayer("P20"); System.out.println(playerDetails.toString()); System.out.println(); playerList = myRoster.getPlayersOfTeam("T2"); printDetailsList(playerList); teamList = myRoster.getTeamsOfLeague("L1"); printDetailsList(teamList); 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"); playerList = myRoster.getPlayersBySalaryRange(500.00, 800.00); playerList = myRoster.getPlayersOfTeamCopy("T5"); leagueList = myRoster.getLeaguesOfPlayer("P28"); printDetailsList(leagueList); sportList = myRoster.getSportsOfPlayer("P28"); printDetailsList(sportList); } catch (Exception ex) { System.err.println("Caught an exception:"); ex.printStackTrace(); } } // getMoreInfo private static void printDetailsList(ArrayList list) { Iterator i = list.iterator(); while (i.hasNext()) { Object details = (Object)i.next(); System.out.println(details.toString()); } System.out.println(); } // printDetailsList private static 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)); // 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 } // class
public class PurchaseOrderKey implements java.io.Serializable { public String productModel; public String vendorId; public PurchaseOrderKey() { }; public String getProductModel() { return productModel; } public String getVendorId() { return vendorId; } public boolean equals(Object other) { if (other instanceof PurchaseOrderKey) { return (productModel.equals( ((PurchaseOrderKey)other).productModel) && vendorId.equals( ((PurchaseOrderKey)other).vendorId)); } return false; } public int hashCode() { return productModel.concat(vendorId).hashCode(); } }
public PurchaseOrderKey ejbCreate (String vendorId, String productModel, String productName) throws CreateException { setVendorId(vendorId); setProductModel(productModel); setProductName(productName); return null; }
cmp programa