/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package movies; import java.rmi.RemoteException; import java.util.logging.Level; import java.util.logging.Logger; import javax.ejb.CreateException; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.rmi.PortableRemoteObject; import vn.edu.rmit.examples.MovieManagerRemote; import vn.edu.rmit.examples.MovieManagerRemoteHome; import vn.edu.rmit.examples.dto.ActorDTO; import vn.edu.rmit.examples.dto.MovieDTO; /** * * @author v10532 */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { new Main().test(); } catch (Exception e) { e.printStackTrace(); } } private void test() throws Exception { MovieManagerRemote manager = lookupMovieManagerRemote(); ActorDTO a = new ActorDTO(); a.setName("Jeff Bridges"); MovieDTO m = new MovieDTO(); m.setName("The Big Lebowski"); manager.createActor(a); manager.createMovie(m); manager.hireActorForMovie(a.getName(), m.getName()); manager.fireActorFromMovie(a.getName(), m.getName()); manager.removeActor(a.getName()); manager.removeMovie(m.getName()); } private MovieManagerRemote lookupMovieManagerRemote() { try { Context c = new InitialContext(); Object remote = c.lookup("java:comp/env/MovieManager"); MovieManagerRemoteHome rv = (MovieManagerRemoteHome) PortableRemoteObject.narrow(remote, MovieManagerRemoteHome.class); return rv.create(); } catch (NamingException ne) { Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne); throw new RuntimeException(ne); } catch (CreateException ce) { Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ce); throw new RuntimeException(ce); } catch (RemoteException re) { Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", re); throw new RuntimeException(re); } } }