javax.jcr.query.Query.setOffset()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(241)

本文整理了Java中javax.jcr.query.Query.setOffset方法的一些代码示例,展示了Query.setOffset的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.setOffset方法的具体详情如下:
包路径:javax.jcr.query.Query
类名称:Query
方法名:setOffset

Query.setOffset介绍

[英]Sets the start offset of the result set to offset.
[中]将结果集的起始偏移量设置为[$0$]。

代码示例

代码示例来源:origin: apache/jackrabbit

  1. /** {@inheritDoc} */
  2. public void setOffset(long offset) throws RemoteException {
  3. query.setOffset(offset);
  4. }

代码示例来源:origin: net.adamcin.oakpal/oakpal-core

  1. @Override
  2. public void setOffset(long offset) {
  3. delegate.setOffset(offset);
  4. }

代码示例来源:origin: brix-cms/brix-cms

  1. public void execute() throws Exception {
  2. getDelegate().setOffset(offset);
  3. }
  4. });

代码示例来源:origin: brix-cms/brix-cms

  1. public void setOffset(long offset) {
  2. getDelegate().setOffset(offset);
  3. }

代码示例来源:origin: apache/jackrabbit-oak

  1. protected void processResultsOffsetPagination(@NotNull final QueryManager qm,
  2. ExecutionContext context) throws RepositoryException {
  3. for (int page = 0; page < PAGES; page++) {
  4. Query query = getQuery(qm, context);
  5. query.setLimit(LIMIT);
  6. query.setOffset(page * LIMIT);
  7. iterate(query);
  8. }
  9. }

代码示例来源:origin: info.magnolia.ui/magnolia-ui-framework

  1. protected QueryResult executeQuery(String statement, String language, int limit, int offset) throws RepositoryException {
  2. final Session jcrSession = MgnlContext.getJCRSession(WORKSPACE_NAME);
  3. final QueryManager jcrQueryManager = jcrSession.getWorkspace().getQueryManager();
  4. final Query query = jcrQueryManager.createQuery(statement, language);
  5. if (limit > 0) {
  6. query.setLimit(limit);
  7. }
  8. if (offset >= 0) {
  9. query.setOffset(offset);
  10. }
  11. logger.debug("Executing query against workspace [{}] with statement [{}] and limit {} and offset {}...", new Object[]{WORKSPACE_NAME, statement, limit, offset});
  12. long start = System.currentTimeMillis();
  13. final QueryResult result = query.execute();
  14. logger.debug("Query execution took {} ms", System.currentTimeMillis() - start);
  15. return result;
  16. }

代码示例来源:origin: info.magnolia/magnolia-module-standard-templating-kit

  1. private QueryResult doQuery(String queryString, long limit, long offset) throws RepositoryException {
  2. try {
  3. final Session jcrSession = MgnlContext.getJCRSession(repository);
  4. final QueryManager jcrQueryManager = jcrSession.getWorkspace().getQueryManager();
  5. final Query query = jcrQueryManager.createQuery(queryString, Query.JCR_SQL2);
  6. query.setLimit(limit);
  7. query.setOffset(offset);
  8. log.debug("Executing query against workspace [{}] with statement [{}] and limit {} and offset {}...", repository, queryString, limit, offset);
  9. long start = System.currentTimeMillis();
  10. QueryResult qr = query.execute();
  11. log.debug("Query execution took {} ms", System.currentTimeMillis() - start);
  12. return qr;
  13. } catch (RepositoryException e) {
  14. log.error("An error occurred while performing a query against workspace [{}] with statement [{}] and limit {} and offset {}.", repository, queryString, limit, offset);
  15. throw new RepositoryException(e);
  16. }
  17. }
  18. }

代码示例来源:origin: apache/jackrabbit

  1. public void testSetOffset() throws RepositoryException {
  2. testRootNode.addNode(nodeName1, testNodeType);
  3. testRootNode.addNode(nodeName2, testNodeType);
  4. testRootNode.addNode(nodeName3, testNodeType);
  5. superuser.save();
  6. for (int i = 0; i < 5; i++) {
  7. Query query = qf.createQuery(
  8. qf.selector(testNodeType, "s"),
  9. qf.descendantNode("s", testRoot),
  10. null,
  11. null
  12. );
  13. query.setOffset(i);
  14. long expected = Math.max(3 - i, 0);
  15. assertEquals("Wrong numer of results", expected,
  16. getSize(query.execute().getNodes()));
  17. }
  18. }
  19. }

代码示例来源:origin: apache/jackrabbit

  1. public void testOffset() throws Exception {
  2. query.setOffset(0);
  3. QueryResult result = query.execute();
  4. checkResult(result, new Node[] { node1, node2, node3 });
  5. query.setOffset(1);
  6. result = query.execute();
  7. checkResult(result, new Node[] { node2, node3 });
  8. query.setOffset(2);
  9. result = query.execute();
  10. checkResult(result, new Node[] { node3 });
  11. }

代码示例来源:origin: apache/jackrabbit

  1. public void testSimplePagination() throws Exception {
  2. List<String> expected = new ArrayList<String>(c);
  3. Query q = newQuery();
  4. for (int i = 0; i < c.size(); i++) {
  5. q.setOffset(i);
  6. q.setLimit(1);
  7. List<String> out = qrToPaths(q.execute());
  8. assertEquals(1, out.size());
  9. assertTrue(expected.remove(out.get(0)));
  10. }
  11. assertTrue(expected.isEmpty());
  12. }

代码示例来源:origin: apache/jackrabbit

  1. public void testLimitGtSize() throws Exception {
  2. List<String> expected = new ArrayList<String>(c);
  3. Query q = newQuery();
  4. q.setOffset(0);
  5. q.setLimit(c.size() * 2);
  6. List<String> out = qrToPaths(q.execute());
  7. assertEquals(c.size(), out.size());
  8. for (String s : out) {
  9. assertTrue(expected.remove(s));
  10. }
  11. assertTrue(expected.isEmpty());
  12. }

代码示例来源:origin: apache/jackrabbit

  1. public void testLimitEqSize() throws Exception {
  2. List<String> expected = new ArrayList<String>(c);
  3. Query q = newQuery();
  4. q.setOffset(0);
  5. q.setLimit(c.size());
  6. List<String> out = qrToPaths(q.execute());
  7. assertEquals(c.size(), out.size());
  8. for (String s : out) {
  9. assertTrue(expected.remove(s));
  10. }
  11. assertTrue(expected.isEmpty());
  12. }

代码示例来源:origin: apache/jackrabbit

  1. public void testOffsetEqSize() throws Exception {
  2. Query q = newQuery();
  3. q.setOffset(c.size() - 1);
  4. List<String> out = qrToPaths(q.execute());
  5. assertEquals(1, out.size());
  6. }

代码示例来源:origin: apache/jackrabbit

  1. public void testOffsetGtSize() throws Exception {
  2. Query q = newQuery();
  3. q.setOffset(c.size() * 2);
  4. List<String> out = qrToPaths(q.execute());
  5. assertTrue(out.isEmpty());
  6. }

代码示例来源:origin: org.apache.jackrabbit/jackrabbit-spi2jcr

  1. /**
  2. * {@inheritDoc}
  3. */
  4. public QueryInfo executeQuery(SessionInfo sessionInfo, String statement, String language, Map<String, String> namespaces, long limit, long offset, Map<String, QValue> values) throws RepositoryException {
  5. SessionInfoImpl sInfo = getSessionInfoImpl(sessionInfo);
  6. Query query = createQuery(sInfo.getSession(), statement,
  7. language, namespaces);
  8. if (limit != -1) {
  9. query.setLimit(limit);
  10. }
  11. if (offset != -1) {
  12. query.setOffset(offset);
  13. }
  14. if (values != null && !values.isEmpty()) {
  15. for (Map.Entry<String, QValue> entry : values.entrySet()) {
  16. Value value = ValueFormat.getJCRValue(entry.getValue(), sInfo.getNamePathResolver(), sInfo.getSession().getValueFactory());
  17. query.bindValue(entry.getKey(), value);
  18. }
  19. }
  20. return new QueryInfoImpl(query.execute(), idFactory,
  21. sInfo.getNamePathResolver(), getQValueFactory());
  22. }

代码示例来源:origin: apache/jackrabbit

  1. public void testOffsetAndSkip() throws Exception {
  2. query.setOffset(1);
  3. QueryResult result = query.execute();
  4. NodeIterator nodes = result.getNodes();
  5. nodes.skip(1);
  6. assertTrue(node3.isSame(nodes.nextNode()));
  7. }

代码示例来源:origin: apache/jackrabbit

  1. public void test2BigPages() throws Exception {
  2. List<String> expected = new ArrayList<String>(c);
  3. Query q = newQuery();
  4. int p1 = (int) (c.size() * 0.8);
  5. int p2 = c.size() - p1;
  6. q.setOffset(0);
  7. q.setLimit(p1);
  8. List<String> out1 = qrToPaths(q.execute());
  9. assertEquals(p1, out1.size());
  10. for (String s : out1) {
  11. assertTrue(expected.remove(s));
  12. }
  13. q.setOffset(p1);
  14. q.setLimit(p2);
  15. List<String> out2 = qrToPaths(q.execute());
  16. assertEquals(p2, out2.size());
  17. for (String s : out2) {
  18. assertTrue(expected.remove(s));
  19. }
  20. assertTrue(expected.isEmpty());
  21. }

代码示例来源:origin: ModeShape/modeshape

  1. @Test
  2. public void shouldBeAbleToQueryWithZeroOffsetOnNonJoin() throws RepositoryException {
  3. // Try with the OFFSET expression ...
  4. String sql = "SELECT [jcr:path] FROM [car:Car] OFFSET 0";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  6. QueryResult result = query.execute();
  7. validateQuery().rowCount(13).hasColumns("jcr:path").validate(query, result);
  8. // Try with the method ...
  9. sql = "SELECT [jcr:path] FROM [car:Car]";
  10. query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  11. query.setOffset(0);
  12. result = query.execute();
  13. validateQuery().rowCount(13).hasColumns("jcr:path").validate(query, result);
  14. }

代码示例来源:origin: ModeShape/modeshape

  1. @Test
  2. public void shouldBeAbleToQueryWithOffsetOnNonJoin() throws RepositoryException {
  3. // Try with the OFFSET expression ...
  4. String sql = "SELECT [jcr:path] FROM [car:Car] OFFSET 2";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  6. QueryResult result = query.execute();
  7. validateQuery().rowCount(11).hasColumns("jcr:path").validate(query, result);
  8. // Try with the method ...
  9. sql = "SELECT [jcr:path] FROM [car:Car]";
  10. query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  11. query.setOffset(2);
  12. result = query.execute();
  13. validateQuery().rowCount(11).hasColumns("jcr:path").validate(query, result);
  14. }

代码示例来源:origin: ModeShape/modeshape

  1. @Test
  2. public void shouldBeAbleToQueryWithTooLargeOffsetOnNonJoin() throws RepositoryException {
  3. // Try with the OFFSET expression ...
  4. String sql = "SELECT [jcr:path] FROM [car:Car] OFFSET 100";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  6. QueryResult result = query.execute();
  7. validateQuery().rowCount(0).hasColumns("jcr:path").validate(query, result);
  8. // Try with the method ...
  9. sql = "SELECT [jcr:path] FROM [car:Car]";
  10. query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  11. query.setOffset(100);
  12. result = query.execute();
  13. validateQuery().rowCount(0).hasColumns("jcr:path").validate(query, result);
  14. }

相关文章