Chapter 5: My Favourite Movies Pod-Loader

Figure 1. This version of the createPod method creates a list of movies using the MoviesDB class
001  public Node createPod(Document document, Map<String,Object> contexts) {
002    try{
003      PodBuilder moviesPod =
004        PodBuilder.newPod(document, PODTYPE.MYFAVMOVIES);
005      moviesPod.setTitle("My Favourite Movies");
006
007      MoviesDB moviesDB = new MoviesDB();
008
009      Collection<MoviesDB.Movie> favMovieCollection =
010        moviesDB.getAllMovies();
011      Iterator<MoviesDB.Movie> movieList =
012        favMovieCollection.iterator();
013
014      // Create the list
015      ListBuilder myFavouriteMovies =
016        ListBuilder.createList(1, document);
017
018      int row = 1;
019      while(movieList.hasNext()) {
020        Movie movie = movieList.next();
021        String movieName = movie.title;
022        myFavouriteMovies.addRow();
023        myFavouriteMovies.addEntry(1, row++, movieName);
024      }
025
026      RendererConfig contentRenderer = new RendererConfig(
027          RendererConfigType.STYLE, "single-list");
028      moviesPod.addContent(myFavouriteMovies, contentRenderer);
029
030      return moviesPod.getWidgetRootNode();
031    }catch(Exception e){
032      throw new RuntimeException(e);
033    }