Example usage for org.springframework.data.domain Page getTotalPages

List of usage examples for org.springframework.data.domain Page getTotalPages

Introduction

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

Prototype

int getTotalPages();

Source Link

Document

Returns the number of total pages.

Usage

From source file:com.company.project.data.elasticsearch.service.UserESServiceTest.java

/**
 * Test of crud method, of class UserESService.
 *//*from   w w  w.ja va 2 s  .  c o m*/
//@Test
public void testCrud() {
    System.out.println("crud");
    //userESService.crud();

    // TODO review the generated test code and remove the default call to fail.

    elasticsearchTemplate.deleteIndex("xuseridx");
    elasticsearchTemplate.deleteIndex(User.class);
    //elasticsearchTemplate.createIndex(User.class);
    //elasticsearchTemplate.createIndex(User.class, user);
    elasticsearchTemplate.createIndex("xuseridx");

    elasticsearchTemplate.putMapping(User.class);
    elasticsearchTemplate.refresh(User.class, true);

    boolean typeExists = elasticsearchTemplate.typeExists("xuseridx", "xusertype");
    /**
      * Single index example
      */
    String id = UUID.randomUUID().toString();
    User user = new User();
    user.setId(id);
    user.setName("user-" + id);
    IndexQuery userIndex = new IndexQuery();
    userIndex.setId(id);
    userIndex.setObject(user);
    userIndex.setIndexName("xuseridx");
    userIndex.setType("xusertype");
    elasticsearchTemplate.index(userIndex);

    /**
     * Bulk index example
     */
    id = UUID.randomUUID().toString();
    user = new User();
    user.setId(id);
    user.setName("user-" + id);
    IndexQuery indexQuery2 = new IndexQueryBuilder().withId(user.getId()).withIndexName("xuseridx")
            .withObject(user).build();

    id = UUID.randomUUID().toString();
    user = new User();
    user.setId(id);
    user.setName("user-" + RandomStringUtils.random(5));
    IndexQuery indexQuery3 = new IndexQueryBuilder().withId(user.getId()).withIndexName("xuseridx")
            .withObject(user).build();
    elasticsearchTemplate.bulkIndex(Arrays.asList(indexQuery2, indexQuery3));
    // alternative to index
    //userRepository.save(Arrays.asList(user));

    elasticsearchTemplate.refresh(User.class, true);

    QueryBuilder builder = nestedQuery("xuseridx",
            boolQuery().must(termQuery("xusertype.name", "user2")).must(termQuery("xusertype.name", "user3")));

    //https://github.com/BioMedCentralLtd/spring-data-elasticsearch-sample-application/blob/master/src/main/java/org/springframework/data/elasticsearch/entities/Article.java
    Page<User> pageUser = userRepository.findByName("user-" + id, new PageRequest(0, 10));
    System.out.println("Page user total elements" + pageUser.getTotalElements());
    System.out.println("Page user total elements" + pageUser.getTotalPages());
    System.out.println("Page user first element" + pageUser.getContent().get(0).getName());

    Iterable<User> pageUserSorted = userRepository
            .findAll(new Sort(new Sort.Order(Sort.Direction.ASC, "xusertype.name")));
    System.out.println("Page user sorted total elements" + pageUserSorted.iterator().hasNext());
    System.out.println("Page user sorted first element" + pageUserSorted.iterator().next().getName());

    //SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build();
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices("xuseridx")
            .build();
    List persons = elasticsearchTemplate.queryForList(searchQuery, User.class);
    System.out.println("People size:" + (persons != null ? persons.size() : null));

    searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
            .withFilter(boolFilter().must(existsFilter("name"))).withPageable(new PageRequest(0, 2)).build();
    Page<User> users = userRepository.search(searchQuery);
    System.out.println("Page user query total elements" + users.getTotalElements());
    System.out.println("Page user query total pages" + users.getTotalPages());
    System.out.println("Page user query first element" + users.getContent().get(0).getName());
}

From source file:es.fdi.reservas.reserva.web.GestorController.java

@RequestMapping(value = "/gestor/administrar/edificios/direccion/{direccion}/page/{pageNumber}", method = RequestMethod.GET)
public String gestiona_edificio_direccion(@PathVariable String direccion, @PathVariable Integer pageNumber,
        Model model) {/*from  www  .  jav a2 s .c  om*/
    User u = gestor_service.getUsuarioActual();
    Pageable pageable = new PageRequest(pageNumber - 1, 5);
    Page<Edificio> currentResults = gestor_service.getEdificioByTagDireccionAndFacutadId(direccion,
            u.getFacultad().getId(), pageable);

    model.addAttribute("currentResults", currentResults);

    int current = currentResults.getNumber() + 1;
    int begin = Math.max(1, current - 5);
    int end = Math.min(begin + 10, currentResults.getTotalPages());

    model.addAttribute("beginIndex", begin);
    model.addAttribute("endIndex", end);
    model.addAttribute("currentIndex", current);
    model.addAttribute("User", u);
    model.addAttribute("GruposReservas", gestor_service.getGrupoReservaByUserId(u.getId()));
    model.addAttribute("reservasPendientes",
            gestor_service.getReservasPendientes(u.getId(), EstadoReserva.PENDIENTE).size());
    model.addAttribute("view", "gestor/administrar_edificios");

    return "index";
}

From source file:es.fdi.reservas.reserva.web.GestorController.java

@RequestMapping(value = "/gestor/administrar/espacios/eliminados/edificio/{direccion}/page/{pageNumber}", method = RequestMethod.GET)
public String gestiona_espacio_direccio2n(@PathVariable String direccion, @PathVariable Integer pageNumber,
        Model model) {/*from   w w w . j  a v  a 2  s.  c om*/
    User u = gestor_service.getUsuarioActual();
    Pageable pageable = new PageRequest(pageNumber - 1, 5);
    Page<Espacio> currentResults = gestor_service.getEspaciosDeletedByFacultadAndEdificio(direccion,
            u.getFacultad().getId(), pageable);

    model.addAttribute("currentResults", currentResults);

    int current = currentResults.getNumber() + 1;
    int begin = Math.max(1, current - 5);
    int end = Math.min(begin + 10, currentResults.getTotalPages());

    model.addAttribute("beginIndex", begin);
    model.addAttribute("endIndex", end);
    model.addAttribute("currentIndex", current);
    model.addAttribute("User", u);
    model.addAttribute("GruposReservas", gestor_service.getGrupoReservaByUserId(u.getId()));
    model.addAttribute("reservasPendientes",
            gestor_service.getReservasPendientes(u.getId(), EstadoReserva.PENDIENTE).size());
    model.addAttribute("view", "gestor/papelera_espacios");

    return "index";
}

From source file:es.fdi.reservas.reserva.web.GestorController.java

@RequestMapping(value = "/gestor/administrar/reservas/estado/{estado}/page/{pageNumber}", method = RequestMethod.GET)
public String gestiona_reservas_estado(@PathVariable String estado, @PathVariable Integer pageNumber,
        Model model) {/*from   www  . j  a  v a  2s.c  o m*/
    User u = gestor_service.getUsuarioActual();

    PageRequest pageRequest = new PageRequest(pageNumber - 1, 5);
    String estadoAlt;
    char char0 = estado.charAt(0);
    if (char0 == 'c' || char0 == 'C')
        estadoAlt = "Confirmada";
    else if (char0 == 'p' || char0 == 'P')
        estadoAlt = "Pendiente";
    else if (char0 == 'd' || char0 == 'D')
        estadoAlt = "Denegada";
    else
        estadoAlt = "Otro";
    Page<Reserva> currentResults = gestor_service.getReservasByEstadoReserva(
            EstadoReserva.fromEstadoReserva(estadoAlt), u.getFacultad().getId(), pageRequest);

    model.addAttribute("currentResults", currentResults);

    int current = currentResults.getNumber() + 1;
    int begin = Math.max(1, current - 5);
    int end = Math.min(begin + 10, currentResults.getTotalPages());

    model.addAttribute("beginIndex", begin);
    model.addAttribute("endIndex", end);
    model.addAttribute("currentIndex", current);
    model.addAttribute("User", u);
    model.addAttribute("GruposReservas", gestor_service.getGrupoReservaByUserId(u.getId()));
    model.addAttribute("reservasPendientes",
            gestor_service.getReservasPendientes(u.getId(), EstadoReserva.PENDIENTE).size());
    model.addAttribute("view", "gestor/administrar-reservas");

    return "index";
}

From source file:com.company.project.data.elasticsearch.service.UserESServiceTest.java

public void testRepositoryQueries() {
    System.out.println("testRepository");

    //elasticsearchTemplate.deleteIndex("xuseridx");
    elasticsearchTemplate.deleteIndex(User.class);
    elasticsearchTemplate.createIndex(User.class);
    //elasticsearchTemplate.createIndex(User.class, user);
    //elasticsearchTemplate.createIndex("xuseridx");

    elasticsearchTemplate.putMapping(User.class);
    elasticsearchTemplate.refresh(User.class, true);

    String id = UUID.randomUUID().toString();
    User user = new User();
    user.setId(id);/*from ww w  .ja v  a2  s . c  o  m*/
    user.setName("user-" + id);
    user.setRole(1l);
    user.setPath("1.0");
    Map<Integer, Collection<String>> userFilter = new HashMap<>();
    userFilter.put(1, Arrays.asList("filter1", "filter2"));
    userFilter.put(2, Arrays.asList("filter11", "filter12"));
    user.setFilter(userFilter);
    userRepository.save(user);

    boolean exists = userRepository.exists(user.getId());
    assertTrue(exists);

    List<User> users = new ArrayList<>();
    id = UUID.randomUUID().toString();
    user = new User();
    user.setId(id);
    user.setName("user-" + id);
    user.setRole(2l);
    user.setPath("1.1.0");
    userFilter = new HashMap<>();
    userFilter.put(1, Arrays.asList("filter1", "filter3"));
    userFilter.put(2, Arrays.asList("filter11", "filter13"));
    user.setFilter(userFilter);
    users.add(user);
    //userRepository.save(user);
    id = UUID.randomUUID().toString();
    user = new User();
    user.setId(id);
    user.setName("user-" + id);
    user.setRole(3l);
    user.setPath("1.1.1.0");
    userFilter = new HashMap<>();
    userFilter.put(1, Arrays.asList("filter1", "filter4"));
    userFilter.put(2, Arrays.asList("filter11", "filter14"));
    user.setFilter(userFilter);
    users.add(user);
    //userRepository.save(user);
    userRepository.save(users); //bulk save
    exists = userRepository.exists(user.getId());
    assertTrue(exists);

    elasticsearchTemplate.refresh(User.class, true);

    GetQuery getQuery = new GetQuery();
    getQuery.setId(id);
    User userIndexed = elasticsearchTemplate.queryForObject(getQuery, User.class);
    assertEquals("user-" + id, "" + userIndexed.getName());
    assertEquals(id, "" + userIndexed.getId());
    assertEquals("3", "" + userIndexed.getRole());

    String facetName = "testName";
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
            .withFacet(new TermFacetRequestBuilder(facetName).fields("role").descCount().build()).build();

    // when
    FacetedPage<User> result = elasticsearchTemplate.queryForPage(searchQuery, User.class);
    assertEquals(3, result.getNumberOfElements());
    TermResult facet = (TermResult) result.getFacet(facetName);
    assertEquals(3, facet.getTerms().size());
    for (Term term : facet.getTerms()) {
        assertTrue("1".equals(term.getTerm()) || "2".equals(term.getTerm()) || "3".equals(term.getTerm()));
        System.out.println("Facet term : " + term.getTerm());
        //System.out.println("Facet count : " + term.getCount());
        //result
        //Facet term : 3
        //Facet term : 2
        //Facet term : 1
    }

    // query list all
    searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
            //.withFacet(new TermFacetRequestBuilder(facetName).fields("role").descCount().build())
            .build();
    List<User> userList = elasticsearchTemplate.queryForList(searchQuery, User.class);
    assertEquals(3, userList.size());
    for (User u : userList) {
        System.out.println("User ID: " + u.getId());
        System.out.println("User Name: " + u.getName());
    }

    // query list all with pagination
    searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withPageable(new PageRequest(0, 10))
            //.withIndices("xuseridx")
            //.withTypes("xusertype")
            //.withFacet(new TermFacetRequestBuilder(facetName).fields("role").descCount().build())
            .build();
    Page<User> pagedUsers = elasticsearchTemplate.queryForPage(searchQuery, User.class);
    assertEquals(3, pagedUsers.getTotalElements());
    assertEquals(1, pagedUsers.getTotalPages());
    for (User u : pagedUsers.getContent()) {
        System.out.println("User ID: " + u.getId());
        System.out.println("User Name: " + u.getName());
    }

    // query filter with key "1" contains value "filter3" and key "2" contains value "filter13"
    QueryBuilder builder = nestedQuery("filter",
            boolQuery().must(termQuery("1", "filter3")).must(termQuery("2", "filter13")));
    searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build();
    userList = elasticsearchTemplate.queryForList(searchQuery, User.class);
    assertEquals(1, userList.size());
    for (User u : userList) {
        System.out.println("User ID: " + u.getId());
        System.out.println("User Name: " + u.getName());
    }

    // query all with filter path prefix "1.1"
    builder = boolQuery().must(prefixQuery("path", "1.1"));
    searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build();
    userList = elasticsearchTemplate.queryForList(searchQuery, User.class);
    assertEquals(2, userList.size());
    for (User u : userList) {
        System.out.println("User ID: " + u.getId());
        System.out.println("User Name: " + u.getName());
    }

    builder = QueryBuilders.multiMatchQuery("user", // term to search
            "path", "name" // field to search
    );
    searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build();
    userList = elasticsearchTemplate.queryForList(searchQuery, User.class);
    assertEquals(3, userList.size());
    for (User u : userList) {
        System.out.println("User ID: " + u.getId());
        System.out.println("User Name: " + u.getName());
    }

    // ref: https://github.com/elasticsearch/elasticsearch/blob/master/docs/java-api/query-dsl-queries.asciidoc#boolean-query
    // http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/query-dsl-queries.html
    // Boolean Query
    builder = boolQuery().must(termQuery("content", "test1")) // field name, keyword
            .must(termQuery("content", "test4")) // field name, keyword
            .mustNot(termQuery("content", "test2")) // field name, keyword
            .should(termQuery("content", "test3")); // field name, keyword
    // Boosting Query
    builder = QueryBuilders.boostingQuery().positive(termQuery("name", "kimchy")) // query that will promote documents
            .negative(termQuery("name", "dadoonet")) // query that will demote documents
            .negativeBoost(0.2f); // negative boost
    //IDs Query
    builder = QueryBuilders.idsQuery().ids("1", "2");
    // Constant Score Query
    builder = QueryBuilders.constantScoreQuery(termFilter("name", "kimchy") // you can use a filter
    ).boost(2.0f); // filter score
    builder = QueryBuilders.constantScoreQuery(termQuery("name", "kimchy") // you can use a query
    ).boost(2.0f);
    // Prefix Query
    builder = QueryBuilders.prefixQuery("brand", // field
            "heine" // term
    );
    // QueryString Query
    builder = QueryBuilders.queryString("+kimchy -elasticsearch");
    // Range Query
    builder = QueryBuilders.rangeQuery("price") // field
            .from(5) // from
            .to(10) // to
            .includeLower(true) // include lower value means that from is gt when false or gte when true
            .includeUpper(false); // include upper value means that to is lt when false or lte when true

    builder = QueryBuilders.disMaxQuery() // add your queries
            .add(termQuery("name", "kimchy")) // add your queries
            .add(termQuery("name", "elasticsearch")) // 
            .boost(1.2f) // boost factor
            .tieBreaker(0.7f); // tie breaker
    // Fuzzy Like This (Field) Query (flt and flt_field)
    builder = QueryBuilders.fuzzyLikeThisQuery("name.first", "name.last") // fields
            .likeText("text like this one") // text
            .maxQueryTerms(12); // max num of Terms in generated queries
    //FuzzyQuery
    builder = QueryBuilders.fuzzyQuery("name", // field
            "kimzhy" // term
    );
}

From source file:org.yukung.daguerreo.domain.repository.BasicJooqRepositoryTest.java

@Test
public void findAllByPageable() throws Exception {
    // given//from w  w w.  ja  va 2  s .  c  om
    dbSetupTracker.skipNextLaunch();

    // when
    PageRequest page1 = new PageRequest(0, 2);
    PageRequest page2 = new PageRequest(1, 2);
    Page<BookApi> bookApis1 = repository.findAll(page1);
    Page<BookApi> bookApis2 = repository.findAll(page2);

    // then
    assertThat(bookApis1).isNotNull().isNotEmpty().hasSize(2).extracting("id", "name", "url").containsExactly(
            tuple(1, "Amazon Product Advertising API", "https://ecs.amazonaws.jp/onca/xml"),
            tuple(2, "Google Books API", "https://www.googleapis.com/books/v1/volumes"));
    assertThat(bookApis1.getNumber()).isEqualTo(0);
    assertThat(bookApis1.getNumberOfElements()).isEqualTo(2);
    assertThat(bookApis1.getSize()).isEqualTo(2);
    assertThat(bookApis1.getTotalPages()).isEqualTo(2);
    assertThat(bookApis1.getTotalElements()).isEqualTo(3);
    assertThat(bookApis1.isFirst()).isTrue();
    assertThat(bookApis1.isLast()).isFalse();
    assertThat(bookApis1.hasNext()).isTrue();
    assertThat(bookApis1.hasPrevious()).isFalse();
    assertThat(bookApis2).isNotNull().isNotEmpty().hasSize(1).extracting("id", "name", "url")
            .containsExactly(tuple(3, "?API",
                    "https://app.rakuten.co.jp/services/api/BooksBook/Search/20130522"));
    assertThat(bookApis2.getNumber()).isEqualTo(1);
    assertThat(bookApis2.getNumberOfElements()).isEqualTo(1);
    assertThat(bookApis2.getSize()).isEqualTo(2);
    assertThat(bookApis2.getTotalPages()).isEqualTo(2);
    assertThat(bookApis2.getTotalElements()).isEqualTo(3);
    assertThat(bookApis2.isFirst()).isFalse();
    assertThat(bookApis2.isLast()).isTrue();
    assertThat(bookApis2.hasNext()).isFalse();
    assertThat(bookApis2.hasPrevious()).isTrue();
}

From source file:org.yukung.daguerreo.domain.repository.BasicJooqRepositoryTest.java

@Test
public void findAllByPageableAndDescendingSort() throws Exception {
    // given/* w  w  w  .  j  a  v  a  2s.com*/
    dbSetupTracker.skipNextLaunch();

    // when
    PageRequest page1 = new PageRequest(0, 2, Sort.Direction.DESC, "id");
    PageRequest page2 = new PageRequest(1, 2, Sort.Direction.DESC, "id");
    Page<BookApi> bookApis1 = repository.findAll(page1);
    Page<BookApi> bookApis2 = repository.findAll(page2);

    // then
    assertThat(bookApis1).isNotNull().isNotEmpty().hasSize(2).extracting("id", "name", "url").containsExactly(
            tuple(3, "?API",
                    "https://app.rakuten.co.jp/services/api/BooksBook/Search/20130522"),
            tuple(2, "Google Books API", "https://www.googleapis.com/books/v1/volumes"));
    assertThat(bookApis1.getNumber()).isEqualTo(0);
    assertThat(bookApis1.getNumberOfElements()).isEqualTo(2);
    assertThat(bookApis1.getSize()).isEqualTo(2);
    assertThat(bookApis1.getTotalPages()).isEqualTo(2);
    assertThat(bookApis1.getTotalElements()).isEqualTo(3);
    assertThat(bookApis1.isFirst()).isTrue();
    assertThat(bookApis1.isLast()).isFalse();
    assertThat(bookApis1.hasNext()).isTrue();
    assertThat(bookApis1.hasPrevious()).isFalse();
    assertThat(bookApis2).isNotNull().isNotEmpty().hasSize(1).extracting("id", "name", "url")
            .containsExactly(tuple(1, "Amazon Product Advertising API", "https://ecs.amazonaws.jp/onca/xml"));
    assertThat(bookApis2.getNumber()).isEqualTo(1);
    assertThat(bookApis2.getNumberOfElements()).isEqualTo(1);
    assertThat(bookApis2.getSize()).isEqualTo(2);
    assertThat(bookApis2.getTotalPages()).isEqualTo(2);
    assertThat(bookApis2.getTotalElements()).isEqualTo(3);
    assertThat(bookApis2.isFirst()).isFalse();
    assertThat(bookApis2.isLast()).isTrue();
    assertThat(bookApis2.hasNext()).isFalse();
    assertThat(bookApis2.hasPrevious()).isTrue();
}

From source file:org.yukung.daguerreo.domain.repository.BasicJooqRepositoryTest.java

@Test
public void findAllByPageableNothing() throws Exception {
    // given/*  ww  w . ja  v a2  s. c o  m*/
    dbSetupTracker.skipNextLaunch();
    Pageable nothing = null;

    // when
    Page<BookApi> bookApis = repository.findAll(nothing);

    // then
    assertThat(bookApis).isNotNull().isNotEmpty().hasSize(3).extracting("id", "name", "url").containsExactly(
            tuple(1, "Amazon Product Advertising API", "https://ecs.amazonaws.jp/onca/xml"),
            tuple(2, "Google Books API", "https://www.googleapis.com/books/v1/volumes"),
            tuple(3, "?API",
                    "https://app.rakuten.co.jp/services/api/BooksBook/Search/20130522"));
    assertThat(bookApis.getNumber()).isEqualTo(0);
    assertThat(bookApis.getNumberOfElements()).isEqualTo(3);
    assertThat(bookApis.getSize()).isEqualTo(0);
    assertThat(bookApis.getTotalPages()).isEqualTo(1);
    assertThat(bookApis.getTotalElements()).isEqualTo(3);
    assertThat(bookApis.isFirst()).isTrue();
    assertThat(bookApis.isLast()).isTrue();
    assertThat(bookApis.hasNext()).isFalse();
    assertThat(bookApis.hasPrevious()).isFalse();
}

From source file:es.fdi.reservas.reserva.web.GestorController.java

@RequestMapping(value = "/gestor/administrar/edificios/eliminados/page/{pageNumber}", method = RequestMethod.GET)
public String gestiona_edificio_eliminado(@PathVariable Integer pageNumber, Model model) {
    User u = gestor_service.getUsuarioActual();
    Pageable pageable = new PageRequest(pageNumber - 1, 5);
    Page<Edificio> currentResults = gestor_service.getEdificioDeletedByFacultadId(u.getFacultad().getId(),
            pageable);//from  w ww. j av a  2 s .c om

    System.out.println("current" + currentResults.getNumberOfElements());
    System.out.println("current" + currentResults.getContent().get(0).getNombreEdificio());
    model.addAttribute("currentResults", currentResults);

    int current = currentResults.getNumber() + 1;
    int begin = Math.max(1, current - 5);
    int end = Math.min(begin + 10, currentResults.getTotalPages());

    model.addAttribute("beginIndex", begin);
    model.addAttribute("endIndex", end);
    model.addAttribute("currentIndex", current);
    model.addAttribute("User", u);
    model.addAttribute("GruposReservas", gestor_service.getGrupoReservaByUserId(u.getId()));
    model.addAttribute("reservasPendientes",
            gestor_service.getReservasPendientes(u.getId(), EstadoReserva.PENDIENTE).size());
    model.addAttribute("view", "gestor/papelera_edificios");

    return "index";
}

From source file:es.fdi.reservas.reserva.web.GestorController.java

@RequestMapping(value = "/gestor/administrar/edificios/eliminados/nombre/{nombre}/page/{pageNumber}", method = RequestMethod.GET)
public String gestiona_edificio_eliminado_nombre(@PathVariable String nombre, @PathVariable Integer pageNumber,
        Model model) {// w ww  . jav  a  2 s  . co m
    User u = gestor_service.getUsuarioActual();
    Pageable pageable = new PageRequest(pageNumber - 1, 5);
    Page<Edificio> currentResults = gestor_service.getEdificioDeletedByTagNombreAndFacutadId(nombre,
            u.getFacultad().getId(), pageable);

    System.out.println("current" + currentResults.getNumberOfElements());
    System.out.println("current" + currentResults.getContent().get(0).getNombreEdificio());
    model.addAttribute("currentResults", currentResults);

    int current = currentResults.getNumber() + 1;
    int begin = Math.max(1, current - 5);
    int end = Math.min(begin + 10, currentResults.getTotalPages());

    model.addAttribute("beginIndex", begin);
    model.addAttribute("endIndex", end);
    model.addAttribute("currentIndex", current);
    model.addAttribute("User", u);
    model.addAttribute("GruposReservas", gestor_service.getGrupoReservaByUserId(u.getId()));
    model.addAttribute("reservasPendientes",
            gestor_service.getReservasPendientes(u.getId(), EstadoReserva.PENDIENTE).size());
    model.addAttribute("view", "gestor/papelera_edificios");

    return "index";
}