import javax.naming.Context; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; public class RockPaperScissorsClient { public static void main(String[] args) { try { Context initialContext = new InitialContext(); Object initialContextObject = initialContext.lookup( "java:comp/env/ejb/SimpleRockPaperScissors"); RockPaperScissorsHome rockPaperScissorsHome = (RockPaperScissorsHome)PortableRemoteObject.narrow( initialContextObject, RockPaperScissorsHome.class); RockPaperScissors rockPaperScissors = rockPaperScissorsHome.create(); String theBeansRPS = rockPaperScissors.getRockPaperOrScissors(); String theApplicationsRPS = "Scissors"; //the application always picks "Scissors"; if (theBeansRPS.equals("Rock") && theApplicationsRPS.equals("Rock")) { System.out.println("Tie!"); } else if (theBeansRPS.equals("Rock") && theApplicationsRPS.equals("Paper")) { System.out.println("The Application wins!"); } else if (theBeansRPS.equals("Rock") && theApplicationsRPS.equals("Scissors")) { System.out.println("The Bean wins!"); } else if (theBeansRPS.equals("Paper") && theApplicationsRPS.equals("Rock")) { System.out.println("The Bean wins!"); } else if (theBeansRPS.equals("Paper") && theApplicationsRPS.equals("Paper")) { System.out.println("Tie!"); } else if (theBeansRPS.equals("Paper") && theApplicationsRPS.equals("Scissors")) { System.out.println("The Application wins!"); } else if (theBeansRPS.equals("Scissors") && theApplicationsRPS.equals("Rock")) { System.out.println("The Application wins!"); } else if (theBeansRPS.equals("Scissors") && theApplicationsRPS.equals("Paper")) { System.out.println("The Bean wins!"); } else if (theBeansRPS.equals("Scissors") && theApplicationsRPS.equals("Scissors")) { System.out.println("Tie!"); } else {System.out.println("Someone didn't choose!");} System.out.println("The Bean chose " + theBeansRPS + ", while the Application chose " + theApplicationsRPS + "."); rockPaperScissors.remove(); //clean up } catch (Exception exception) { System.err.println("Exception!"); exception.printStackTrace(); } } }