package models.dao; import java.util.ArrayList; import java.util.List; import models.Post; import models.PostRating; import com.avaje.ebean.Page; import play.utils.dao.*; public class PostRatingPageAdapter extends PageAdapter<PostRating, Post> { private final PostDAO postDAO; public PostRatingPageAdapter(Page<PostRating> delegate, PostDAO postDAO) { super(delegate); this.postDAO = postDAO; } @Override public List<Post> getList() { List<PostRating> ratingList = delegate.getList(); List<Post> list = new ArrayList<Post>(); for (PostRating rating : ratingList) { Long postKey = rating.getKey().getPostKey(); Post post = postDAO.get(postKey); if (post != null) list.add(post); } return list; } @Override public PageAdapter<PostRating, Post> create(Page<PostRating> delegate) { return new PostRatingPageAdapter(delegate, postDAO); } }