public static void main(String[] args) { String host = args[0]; int port = Integer.parseInt(args[1]); long id = Long.parseLong(args[2]); String character = args[3]; long actorId = Long.parseLong(args[4]); // Install an RMISecurityManager, if there is not a // SecurityManager already installed if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()); } String name = "rmi://" + host + ":" + port + "/MovieDatabase"; try { MovieDatabase db = (MovieDatabase) Naming.lookup(name); db.noteCharacter(id, character, actorId); Movie movie = db.getMovie(id); out.println(movie.getTitle()); for (Map.Entry entry : movie.getCharacters().entrySet()) { out.println(" " + entry.getKey() + "\t" + entry.getValue()); } } catch (RemoteException | NotBoundException | MalformedURLException ex) { ex.printStackTrace(System.err); } }
public ArrayList<Rating> getAverageRatingsByFilter(int minimalRaters, Filter filter) { ArrayList<Rating> ratings = new ArrayList<Rating>(); ArrayList<String> movies = MovieDatabase.filterBy(filter); // it pass all movie. for (String movieID : movies) { double average = getAverageByID(movieID, minimalRaters); if (average == 0.0) continue; ratings.add(new Rating(movieID, average)); } return ratings; }
/* Pass all candidate that is no earlier than myYear */ @Override public boolean satisfies(String id) { return MovieDatabase.getYear(id) >= myYear; }