List of usage examples for org.springframework.data.domain Page getTotalElements
long getTotalElements();
From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java
/** * customized case 3.//from ww w .j av a2 s . c o m * * <pre> * -maxDisplayCount * </pre> */ @Test public void testDoStartTagInternal13() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(20); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); tag.setPage(page); // customize tag.setMaxDisplayCount(5); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); String expected = "<ul><li><a href=\"?page=0&size=10\"><<</a></li><li><a href=\"?page=19&size=10\"><</a></li><li><a href=\"?page=18&size=10\">19</a></li><li><a href=\"?page=19&size=10\">20</a></li><li class=\"active\"><a href=\"javascript:void(0)\">21</a></li><li><a href=\"?page=21&size=10\">22</a></li><li><a href=\"?page=22&size=10\">23</a></li><li><a href=\"?page=21&size=10\">></a></li><li><a href=\"?page=99&size=10\">>></a></li></ul>"; assertThat(getOutput(), is(expected)); }
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 w w w . jav a 2 s . com 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.terasoluna.gfw.web.pagination.PaginationTagTest.java
/** * customized case 2.// w w w . ja v a 2s.c o m * * <pre> * -pathTmpl * </pre> */ @Test public void testDoStartTagInternal11() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(20); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); tag.setPage(page); // customize tag.setPathTmpl("p/{page}/{size}/"); tag.setQueryTmpl(""); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); String expected = "<ul><li><a href=\"p/0/10/\"><<</a></li><li><a href=\"p/19/10/\"><</a></li><li><a href=\"p/15/10/\">16</a></li><li><a href=\"p/16/10/\">17</a></li><li><a href=\"p/17/10/\">18</a></li><li><a href=\"p/18/10/\">19</a></li><li><a href=\"p/19/10/\">20</a></li><li class=\"active\"><a href=\"javascript:void(0)\">21</a></li><li><a href=\"p/21/10/\">22</a></li><li><a href=\"p/22/10/\">23</a></li><li><a href=\"p/23/10/\">24</a></li><li><a href=\"p/24/10/\">25</a></li><li><a href=\"p/21/10/\">></a></li><li><a href=\"p/99/10/\">>></a></li></ul>"; assertThat(getOutput(), is(expected)); }
From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java
/** * customized case 2./*from w w w . ja v a 2 s . c o m*/ * * <pre> * -use sort order * </pre> */ @Test public void testDoStartTagInternal12() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(20); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); when(page.getSort()).thenReturn(new Sort(new Sort.Order(Direction.DESC, "id"))); tag.setPage(page); // customize tag.setQueryTmpl("page={page}&size={size}&sort={sortOrderProperty}&desc={sortOrderDirection}"); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); String expected = "<ul><li><a href=\"?page=0&size=10&sort=id&desc=DESC\"><<</a></li><li><a href=\"?page=19&size=10&sort=id&desc=DESC\"><</a></li><li><a href=\"?page=15&size=10&sort=id&desc=DESC\">16</a></li><li><a href=\"?page=16&size=10&sort=id&desc=DESC\">17</a></li><li><a href=\"?page=17&size=10&sort=id&desc=DESC\">18</a></li><li><a href=\"?page=18&size=10&sort=id&desc=DESC\">19</a></li><li><a href=\"?page=19&size=10&sort=id&desc=DESC\">20</a></li><li class=\"active\"><a href=\"javascript:void(0)\">21</a></li><li><a href=\"?page=21&size=10&sort=id&desc=DESC\">22</a></li><li><a href=\"?page=22&size=10&sort=id&desc=DESC\">23</a></li><li><a href=\"?page=23&size=10&sort=id&desc=DESC\">24</a></li><li><a href=\"?page=24&size=10&sort=id&desc=DESC\">25</a></li><li><a href=\"?page=21&size=10&sort=id&desc=DESC\">></a></li><li><a href=\"?page=99&size=10&sort=id&desc=DESC\">>></a></li></ul>"; assertThat(getOutput(), is(expected)); }
From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java
/** * customized case 4./* w w w .j ava 2 s. c om*/ * * <pre> * -outerElement is empty * -innerElement * </pre> */ @Test public void testDoStartTagInternal14() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(20); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); tag.setPage(page); // customize tag.setOuterElement(""); tag.setInnerElement("span"); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); String expected = "<span><a href=\"?page=0&size=10\"><<</a></span><span><a href=\"?page=19&size=10\"><</a></span><span><a href=\"?page=15&size=10\">16</a></span><span><a href=\"?page=16&size=10\">17</a></span><span><a href=\"?page=17&size=10\">18</a></span><span><a href=\"?page=18&size=10\">19</a></span><span><a href=\"?page=19&size=10\">20</a></span><span class=\"active\"><a href=\"javascript:void(0)\">21</a></span><span><a href=\"?page=21&size=10\">22</a></span><span><a href=\"?page=22&size=10\">23</a></span><span><a href=\"?page=23&size=10\">24</a></span><span><a href=\"?page=24&size=10\">25</a></span><span><a href=\"?page=21&size=10\">></a></span><span><a href=\"?page=99&size=10\">>></a></span>"; assertThat(getOutput(), is(expected)); }
From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java
/** * customized case 6./* w ww . j a va2s .c om*/ * * <pre> * -no display * </pre> */ @Test public void testDoStartTagInternal16() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(20); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); tag.setPage(page); // customize tag.setMaxDisplayCount(0); tag.setFirstLinkText(""); tag.setLastLinkText(""); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); String expected = "<ul><li><a href=\"?page=19&size=10\"><</a></li><li><a href=\"?page=21&size=10\">></a></li></ul>"; assertThat(getOutput(), is(expected)); }
From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java
/** * customized case 5.//w w w . j a v a2 s . c o m * * <pre> * -innerElement is span * </pre> */ @Test public void testDoStartTagInternal15() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(20); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); tag.setPage(page); // customize tag.setOuterElement("p"); tag.setInnerElement("span"); int ret = tag.doStartTagInternal(); System.out.println(getOutput().replaceAll(Pattern.quote("\""), "\\\\\"")); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); String expected = "<p><span><a href=\"?page=0&size=10\"><<</a></span><span><a href=\"?page=19&size=10\"><</a></span><span><a href=\"?page=15&size=10\">16</a></span><span><a href=\"?page=16&size=10\">17</a></span><span><a href=\"?page=17&size=10\">18</a></span><span><a href=\"?page=18&size=10\">19</a></span><span><a href=\"?page=19&size=10\">20</a></span><span class=\"active\"><a href=\"javascript:void(0)\">21</a></span><span><a href=\"?page=21&size=10\">22</a></span><span><a href=\"?page=22&size=10\">23</a></span><span><a href=\"?page=23&size=10\">24</a></span><span><a href=\"?page=24&size=10\">25</a></span><span><a href=\"?page=21&size=10\">></a></span><span><a href=\"?page=99&size=10\">>></a></span></p>"; assertThat(getOutput(), is(expected)); }
From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java
@Test public void issue12_testDoStartTagInternal_criteriaQuery_specified_startWith_andMark() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(0); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); tag.setPage(page);/*from w w w. jav a 2s.co m*/ tag.setMaxDisplayCount(3); tag.setCriteriaQuery("&a=%2B&b=+&c=%3D&d=%26"); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); StringBuilder expected = new StringBuilder(); String expectedCriteriaQuery = "&a=%2B&b=+&c=%3D&d=%26"; expected.append("<ul>"); expected.append("<li class=\"disabled\"><a href=\"javascript:void(0)\"><<</a></li>"); expected.append("<li class=\"disabled\"><a href=\"javascript:void(0)\"><</a></li>"); expected.append("<li class=\"active\"><a href=\"javascript:void(0)\">1</a></li>"); expected.append("<li><a href=\"?page=1&size=10" + expectedCriteriaQuery + "\">2</a></li>"); expected.append("<li><a href=\"?page=2&size=10" + expectedCriteriaQuery + "\">3</a></li>"); expected.append("<li><a href=\"?page=1&size=10" + expectedCriteriaQuery + "\">></a></li>"); expected.append("<li><a href=\"?page=99&size=10" + expectedCriteriaQuery + "\">>></a></li>"); expected.append("</ul>"); // That the and-mark(&) is remove assertThat(getOutput(), is(expected.toString())); }
From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java
@Test public void issue12_testDoStartTagInternal_criteriaQuery_specified_startWith_questionMark() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(0); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); tag.setPage(page);/*from w w w. j a va 2 s.c o m*/ tag.setMaxDisplayCount(3); tag.setCriteriaQuery("?a=%2B&b=+&c=%3D&d=%26"); tag.setDisableHtmlEscapeOfCriteriaQuery(null); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); StringBuilder expected = new StringBuilder(); String expectedCriteriaQuery = "&a=%2B&b=+&c=%3D&d=%26"; expected.append("<ul>"); expected.append("<li class=\"disabled\"><a href=\"javascript:void(0)\"><<</a></li>"); expected.append("<li class=\"disabled\"><a href=\"javascript:void(0)\"><</a></li>"); expected.append("<li class=\"active\"><a href=\"javascript:void(0)\">1</a></li>"); expected.append("<li><a href=\"?page=1&size=10" + expectedCriteriaQuery + "\">2</a></li>"); expected.append("<li><a href=\"?page=2&size=10" + expectedCriteriaQuery + "\">3</a></li>"); expected.append("<li><a href=\"?page=1&size=10" + expectedCriteriaQuery + "\">></a></li>"); expected.append("<li><a href=\"?page=99&size=10" + expectedCriteriaQuery + "\">>></a></li>"); expected.append("</ul>"); // That the question-mark(?) is remove assertThat(getOutput(), is(expected.toString())); }
From source file:org.terasoluna.gfw.web.pagination.PaginationTagTest.java
@Test public void issue12_testDoStartTagInternal_disableHtmlEscapeOfCriteriaQuery_specified_true() throws Exception { Page<String> page = mock(Page.class); // set mock behavior when(page.getNumber()).thenReturn(0); when(page.getSize()).thenReturn(10); when(page.getTotalPages()).thenReturn(100); when(page.getTotalElements()).thenReturn(1000L); tag.setPage(page);/*from w ww . java 2s .c o m*/ tag.setMaxDisplayCount(3); tag.setCriteriaQuery("&a=%2B&b=+&c=%3D&d=%26&e=<>\"'"); tag.setDisableHtmlEscapeOfCriteriaQuery("true"); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); StringBuilder expected = new StringBuilder(); String expectedCriteriaQuery = "&a=%2B&b=+&c=%3D&d=%26&e=<>\"'"; expected.append("<ul>"); expected.append("<li class=\"disabled\"><a href=\"javascript:void(0)\"><<</a></li>"); expected.append("<li class=\"disabled\"><a href=\"javascript:void(0)\"><</a></li>"); expected.append("<li class=\"active\"><a href=\"javascript:void(0)\">1</a></li>"); expected.append("<li><a href=\"?page=1&size=10" + expectedCriteriaQuery + "\">2</a></li>"); expected.append("<li><a href=\"?page=2&size=10" + expectedCriteriaQuery + "\">3</a></li>"); expected.append("<li><a href=\"?page=1&size=10" + expectedCriteriaQuery + "\">></a></li>"); expected.append("<li><a href=\"?page=99&size=10" + expectedCriteriaQuery + "\">>></a></li>"); expected.append("</ul>"); // That the and-mark(&) is remove assertThat(getOutput(), is(expected.toString())); }