Example usage for org.springframework.data.domain PageImpl PageImpl

List of usage examples for org.springframework.data.domain PageImpl PageImpl

Introduction

In this page you can find the example usage for org.springframework.data.domain PageImpl PageImpl.

Prototype

public PageImpl(List<T> content, Pageable pageable, long total) 

Source Link

Document

Constructor of PageImpl .

Usage

From source file:org.oncoblocks.centromere.core.test.TestRepository.java

@Override
public Page<EntrezGene> find(Iterable<QueryCriteria> queryCriterias, Pageable pageable) {
    return new PageImpl<>(new ArrayList<>(geneMap.values()), pageable, geneMap.size());
}

From source file:org.bozzo.ipplan.domain.service.AddressService.java

public Page<Address> findFreeBySubnetId(Long subnetId, Pageable pageable) {
    Subnet subnet = this.subnetRepository.findOne(subnetId);
    List<Long> addresses = this.addressRepository.findAllIpBySubnetId(subnetId);
    ArrayList<Address> list = new ArrayList<>();

    Pageable page = pageable;/*ww w. j a v  a2 s. c o  m*/
    int start = 0;
    int startPage = 0;
    int pageSize = 1024;
    long totalElem = 0;

    if (page != null) {
        startPage = page.getPageNumber() * page.getPageSize();
        pageSize = page.getPageSize();
    } else {
        page = new PageRequest(0, pageSize);
    }

    for (long ip = subnet.getIp() + 1; ip < subnet.getIp() + subnet.getSize() - 1; ip++) {
        if (!addresses.contains(ip)) {
            totalElem++;
            if (start >= startPage && (startPage + list.size()) < (startPage + pageSize)) {
                Address address = new Address();
                address.setSubnetId(subnetId);
                address.setInfraId(subnet.getInfraId());
                address.setIp(ip);
                address.setFree(true);
                list.add(address);
            } else {
                start++;
            }
        }
    }

    return new PageImpl<>(list, page, totalElem);
}

From source file:com.goodhuddle.huddle.service.impl.SearchServiceImpl.java

@Override
public org.springframework.data.domain.Page<WebsiteEntity> searchWebsite(SearchWebsiteRequest request) {

    List<WebsiteEntity> matches = new ArrayList<>();

    // poor man's search until implemented properly
    String phrase = request.getSearchPhrase();
    String[] terms = phrase != null ? StringUtils.split(phrase.toLowerCase()) : null;

    List<WebsiteEntity> entities = new ArrayList<>();
    entities.addAll(pageRepository.findByHuddle(huddleService.getHuddle()));
    entities.addAll(blogRepository.findByHuddle(huddleService.getHuddle()));
    entities.addAll(blogPostRepository.findAll());

    for (WebsiteEntity entity : entities) {
        if (matches(terms, entity.getTitle()) || matches(terms, entity.getUrl())) {
            matches.add(entity);/*from   www .j  av a2 s.c o m*/
        }
    }

    int start = request.getPage() * request.getSize();
    int end = Math.min(start + request.getSize(), matches.size());
    return new PageImpl<>(matches.subList(start, end), new PageRequest(request.getPage(), request.getSize()),
            matches.size());
}

From source file:am.ik.categolj2.domain.repository.entry.EntryRepositoryImpl.java

Page<Entry> searchTemplate(Pageable pageable,
        Function<QueryBuilder, org.apache.lucene.search.Query> queryCreator) {
    try {//  www  .ja  va 2s. com
        creatingIndex.get();
    } catch (InterruptedException e) {
        logger.warn("Interrupted!", e);
        Thread.currentThread().interrupt();
    } catch (ExecutionException e) {
        logger.error("Index creation failed!!", e);
    }
    FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager);
    QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory().buildQueryBuilder()
            .forEntity(Entry.class).get();

    org.apache.lucene.search.Query query = queryCreator.apply(queryBuilder);
    org.apache.lucene.search.Sort sort = new Sort(
            new SortField("lastModifiedDate", SortField.Type.STRING_VAL, true));
    Query jpaQuery = fullTextEntityManager.createFullTextQuery(query, Entry.class).setSort(sort)
            .setFirstResult(pageable.getOffset()).setMaxResults(pageable.getPageSize());
    int count = fullTextEntityManager.createFullTextQuery(query, Entry.class).getResultSize();
    @SuppressWarnings("unchecked")
    List<Entry> content = jpaQuery.getResultList();
    return new PageImpl<>(content, pageable, count);
}

From source file:org.wallride.repository.ArticleRepositoryImpl.java

@Override
public Page<Article> search(ArticleSearchRequest request, Pageable pageable) {
    Session session = (Session) entityManager.getDelegate();
    Criteria criteria = session.createCriteria(Article.class).setFetchMode("cover", FetchMode.JOIN)
            .setFetchMode("user", FetchMode.JOIN).setFetchMode("categories", FetchMode.JOIN)
            .setFetchMode("tags", FetchMode.JOIN).setFetchMode("customFieldValues", FetchMode.JOIN)
            .setFetchMode("customFieldValues.customField", FetchMode.JOIN);

    FullTextQuery persistenceQuery = buildFullTextQuery(request, pageable, criteria);
    int resultSize = persistenceQuery.getResultSize();
    List<Article> results = persistenceQuery.getResultList();
    return new PageImpl<>(results, pageable, resultSize);
}

From source file:org.wallride.repository.PageRepositoryImpl.java

@Override
public org.springframework.data.domain.Page<Page> search(PageSearchRequest request, Pageable pageable) {
    Session session = (Session) entityManager.getDelegate();
    Criteria criteria = session.createCriteria(Page.class).setFetchMode("cover", FetchMode.JOIN)
            .setFetchMode("author", FetchMode.JOIN).setFetchMode("categories", FetchMode.JOIN)
            .setFetchMode("tags", FetchMode.JOIN).setFetchMode("customFieldValues", FetchMode.JOIN)
            .setFetchMode("customFieldValues.customField", FetchMode.JOIN)
            .setFetchMode("parent", FetchMode.JOIN).setFetchMode("children", FetchMode.JOIN);

    FullTextQuery persistenceQuery = buildFullTextQuery(request, pageable, criteria);
    int resultSize = persistenceQuery.getResultSize();
    List<Page> results = persistenceQuery.getResultList();
    return new PageImpl<>(results, pageable, resultSize);
}

From source file:de.rahn.finances.services.securities.SecuritiesServiceImplTest.java

/**
 * @throws Exception/*from   w  ww  .  j av  a  2  s .  c  o  m*/
 */
@Before
public void setUp() throws Exception {
    testSecurity.setId(randomUUID().toString());
    testSecurity.setIsin("DE0000000000");
    testSecurity.setWkn("000000");
    testSecurity.setSymbol("ABC");
    testSecurity.setName("ABC AG");
    testSecurity.setType(stock);

    List<Security> allSecurity = new ArrayList<>();
    allSecurity.add(testSecurity);

    PageImpl<Security> pageable1 = new PageImpl<>(allSecurity, new PageRequest(0, 1), allSecurity.size() + 1);
    PageImpl<Security> pageable2 = new PageImpl<>(emptyList(), new PageRequest(1, 1), allSecurity.size() + 1);
    PageImpl<Security> pageable3 = new PageImpl<>(emptyList(), zeroPage, 0);

    when(repository.findAll()).thenReturn(allSecurity);

    when(repository.findOne(anyString())).thenReturn(null);
    when(repository.findOne((String) null)).thenThrow(new IllegalArgumentException());
    when(repository.findOne(testSecurity.getId())).thenReturn(testSecurity);

    when(repository.findByInventory(any(Pageable.class), eq(true))).thenReturn(pageable2);
    when(repository.findByInventory(null, true)).thenReturn(pageable1);
    when(repository.findByInventory(zeroPage, true)).thenReturn(pageable3);
    when(repository.findByInventoryAndType(isNull(Pageable.class), eq(false), eq(stock))).thenReturn(pageable1);

    when(repository.save(testSecurity)).thenReturn(testSecurity);

    doThrow(new IllegalArgumentException()).when(repository).delete((Security) null);
    doNothing().when(repository).delete(testSecurity);
}

From source file:de.hska.ld.content.persistence.repository.custom.impl.DocumentRepositoryImpl.java

@Override
@Transactional//from ww  w .j a  v  a  2s .c  o  m
@SuppressWarnings("unchecked")
public Page<Document> searchDocumentByTitleOrDescription(String searchTerm, Pageable pageable) {

    FullTextEntityManager fullTextEntityManager = org.hibernate.search.jpa.Search.getFullTextEntityManager(em);

    // create native Lucene query unsing the query DSL
    // alternatively you can write the Lucene query using the Lucene query parser
    // or the Lucene programmatic API. The Hibernate Search DSL is recommended though
    QueryBuilder searchQb = fullTextEntityManager.getSearchFactory().buildQueryBuilder()
            .forEntity(Document.class).get();
    org.apache.lucene.search.Query luceneQuery = searchQb.phrase().onField("title").andField("description")
            //.onFields("title", "description")
            .sentence(searchTerm)
            //.matching(searchTerm)
            .createQuery();

    // wrap Lucene query in a javax.persistence.Query
    javax.persistence.Query jpaQuery = fullTextEntityManager.createFullTextQuery(luceneQuery, Document.class);

    long total = jpaQuery.getResultList().size();

    jpaQuery.setMaxResults(pageable.getPageSize());
    jpaQuery.setFirstResult(pageable.getOffset());

    // execute search
    List result = jpaQuery.getResultList();

    return new PageImpl<Document>(result, pageable, total);
}

From source file:com.jiwhiz.rest.author.AuthorBlogRestControllerTest.java

@Test
public void getBlogPosts_ShouldReturnAllBlogPostsForCurrentUser() throws Exception {
    UserAccount user = getTestLoggedInUserWithAuthorRole();
    when(userAccountServiceMock.getCurrentUser()).thenReturn(user);

    when(blogPostRepositoryMock.findByAuthorOrderByCreatedTimeDesc(eq(user), any(Pageable.class)))
            .thenReturn(new PageImpl<BlogPost>(getTestPublishedBlogPostList(), new PageRequest(0, 10), 1));

    mockMvc.perform(get(API_ROOT + URL_AUTHOR_BLOGS)).andExpect(status().isOk())
            .andExpect(content().contentType(MediaTypes.HAL_JSON))
            .andExpect(jsonPath("$._embedded.blogPostList", hasSize(2)))
            .andExpect(jsonPath("$._embedded.blogPostList[0].id", is(BLOGS_1_ID)))
            .andExpect(jsonPath("$._embedded.blogPostList[0].title", is(BLOGS_1_TITLE)))
            .andExpect(jsonPath("$._embedded.blogPostList[1].id", is(BLOGS_2_ID)))
            .andExpect(jsonPath("$._embedded.blogPostList[1].title", is(BLOGS_2_TITLE)))
            .andExpect(jsonPath("$._links.self.templated", is(true)))
            .andExpect(jsonPath("$._links.self.href", endsWith(URL_AUTHOR_BLOGS + "{?page,size,sort}")));
}

From source file:org.venice.piazza.common.hibernate.dao.job.JobDaoImpl.java

public Page<JobEntity> getJobList(Pagination pagination) {
    // Query// w w w .ja v a2s .c o m
    String queryString = String.format(JOB_QUERY, Direction.fromString(pagination.getOrder()));
    Query query = entityManager.createNativeQuery(queryString, JobEntity.class);
    query.setParameter(1, pagination.getSortBy());
    query.setParameter(2, pagination.getPerPage());
    query.setParameter(3, pagination.getPage() * pagination.getPerPage());
    List<JobEntity> results = query.getResultList();
    // Count
    query = entityManager.createNativeQuery(JOB_QUERY_COUNT);
    long count = ((BigInteger) query.getSingleResult()).longValue();
    return new PageImpl<JobEntity>(results, null, count);
}