/** * 보내거나 받는 쪽에 {@code project} 의 {@code branch} 를 가지고 있는 pull-request 목록 조회 * * <p>병합(Closed)되지 않은 모든 보낸코드를 조회한다. * * @param project * @param branch * @return */ public static List<PullRequest> findRelatedPullRequests(Project project, String branch) { return finder .where() .or( Expr.and(eq("fromProject", project), eq("fromBranch", branch)), Expr.and(eq("toProject", project), eq("toBranch", branch))) .ne("state", State.CLOSED) .ne("state", State.MERGED) .findList(); }
/** * {@code query} 에 저장되어 있는 검색 조건을 만족하면서 {@code labelId} 에 해당되는 라벨을 모두 가지고 있는 객체들의 ID를 찾는다. 찾아진 ID * 들은 {@code Expr.in} 으로 반환되며, 찾은 ID가 없을 경우 성립 불가능한 Expression 이 반환된다. * * @param query query * @param labelIds 검색할 라벨 ID * @return 검색 조건에 추가되어야 할 {@link Expression} */ @SuppressWarnings("unchecked") public static Expression createLabelSearchExpression( final Query<? extends LabelOwner> query, final Set<Long> labelIds) { List<Object> ids = findIds((Query<LabelOwner>) query, labelIds); if (ids.isEmpty()) { return Expr.isNull(FIELD_NAME_ID); } else { return Expr.in(FIELD_NAME_ID, ids); } }
public static int getTotalToAcceptPageCount(Date currentDate, int pageSize) { return find.where() .eq("isAccepted", false) .eq("isPublic", true) .or( com.avaje.ebean.Expr.lt("expirationDate", currentDate), com.avaje.ebean.Expr.isNull("expirationDate")) .findPagingList(pageSize) .getTotalPageCount(); }
public static int getTotalPublicAcceptedNotExpiredPageCount(int pageSize, Date currentDate) { PagingList<Scenario> pagingList = find.where() .eq("isPublic", true) .eq("isAccepted", true) .or( com.avaje.ebean.Expr.lt("expirationDate", currentDate), com.avaje.ebean.Expr.isNull("expirationDate")) .findPagingList(pageSize); return pagingList.getTotalPageCount(); }
public static List<Scenario> findToAccept(Date currentDate, int pageSize, int pageNum) { PagingList<Scenario> pagingList = find.where() .eq("isAccepted", false) .eq("isPublic", true) .or( com.avaje.ebean.Expr.lt("expirationDate", currentDate), com.avaje.ebean.Expr.isNull("expirationDate")) .findPagingList(pageSize); Page<Scenario> page = pagingList.getPage(pageNum); return page.getList(); }
public static List<Scenario> findPublicAcceptedNotExpiredSearch( String searchTerm, Date currentDate, int pageSize, int pageNum) { PagingList<Scenario> pagingList = find.where() .eq("isPublic", true) .eq("isAccepted", true) .or( com.avaje.ebean.Expr.gt("expirationDate", currentDate), com.avaje.ebean.Expr.isNull("expirationDate")) .icontains("name", searchTerm) .findPagingList(pageSize); Page<Scenario> page = pagingList.getPage(pageNum); return page.getList(); }