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

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

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

Query.execute介绍

[英]Executes this query and returns a QueryResult object.

If this Query contains a variable (see javax.jcr.query.qom.BindVariableValue) which has not been bound to a value (see Query#bindValue) then this method throws an InvalidQueryException.
[中]执行此查询并返回QueryResult对象。
如果这个Query包含一个变量(请参见javax.jcr.query.qom.BindVariableValue),该变量尚未绑定到一个值(请参见query#bindValue),那么这个方法会抛出一个InvalidQueryException

代码示例

代码示例来源:origin: org.onehippo.cms7/hippo-addon-channel-manager-content-service

  1. static NodeIterator executeQuery(final Session session, final Node templateQueryNode) throws RepositoryException {
  2. final String statement = templateQueryNode.getProperty("jcr:statement").getString();
  3. final String language = templateQueryNode.getProperty("jcr:language").getString();
  4. final QueryManager queryManager = session.getWorkspace().getQueryManager();
  5. final Query query = queryManager.createQuery(statement, language);
  6. final QueryResult queryResult = query.execute();
  7. return queryResult.getNodes();
  8. }

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

  1. public void testScoreWithOr() throws Exception {
  2. Session session = superuser;
  3. QueryManager qm = session.getWorkspace().getQueryManager();
  4. Node n1 = testRootNode.addNode("node1");
  5. n1.setProperty("text", "hello");
  6. n1.setProperty("id", "1");
  7. session.save();
  8. String xpath = "/jcr:root//*[jcr:contains(@text, 'hello') or @id = '1']";
  9. Query q = qm.createQuery(xpath, "xpath");
  10. String result = getResult(q.execute(), "jcr:path");
  11. assertEquals("/testroot/node1", result);
  12. }

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

  1. public void testOuterJoinExtraNodeWithCondition() throws Exception {
  2. Node n3 = testRootNode.addNode("node3", "test:SamplePage");
  3. n3.setProperty("n1prop1", "page1");
  4. testRootNode.getSession().save();
  5. StringBuilder join = new StringBuilder();
  6. join.append(" Select * from [test:SamplePage] as page left outer join [test:SampleContent] as content on ISDESCENDANTNODE(content,page) where page.n1prop1 = 'page1' and content.n2prop1 = 'XXX' ");
  7. checkResult(qm.createQuery(join.toString(), JCR_SQL2).execute(), 0);
  8. }

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

  1. @Test
  2. public void shouldGetNodesOrderedByPath() throws RepositoryException {
  3. String sql = "SELECT * FROM [nt:unstructured] WHERE ISCHILDNODE('/Cars') ORDER BY [jcr:path]";
  4. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  5. validateQuery().rowCount(4).validate(query, query.execute());
  6. }

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

  1. @Ignore("OAK-3992")
  2. @Test
  3. public void ambiguousSubtreeIndexWithDescendantConstraint() throws Exception {
  4. String query = createSuggestQuery(NT_OAK_UNSTRUCTURED, "te", "/content2");
  5. String explainQuery = "EXPLAIN " + createSuggestQuery(NT_OAK_UNSTRUCTURED, "te", "/content2");
  6. QueryManager queryManager = session.getWorkspace().getQueryManager();
  7. QueryResult result = queryManager.createQuery(explainQuery, Query.JCR_SQL2).execute();
  8. RowIterator rows = result.getRows();
  9. String explanation = rows.nextRow().toString();
  10. assertTrue("Subtree index should get picked", explanation.contains("lucene:sugg-idx(/content2/oak:index/sugg-idx)"));
  11. validateSuggestions(query, newHashSet("test4"));
  12. }

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

  1. @Test
  2. @FixFor( "MODE-2220" )
  3. public void shouldSupportUpperCaseOperand() throws Exception {
  4. String sql = "SELECT [jcr:path] FROM [nt:unstructured] AS node WHERE UPPER(node.something) LIKE '%FOX%'";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  6. NodeIterator nodes = query.execute().getNodes();
  7. assertEquals(1, nodes.getSize());
  8. assertEquals("/Other/NodeA", nodes.nextNode().getPath());
  9. }

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

  1. public void testParentInAttribute1() throws RepositoryException {
  2. String stmt = testPath + "//child[../@foo1]";
  3. QueryResult result = qm.createQuery(stmt, Query.XPATH).execute();
  4. assertTrue("Wrong size of NodeIterator in result", result.getNodes().getSize() > 0);
  5. assertEquals("child", result.getNodes().nextNode().getName());
  6. }

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

  1. public void testSimpleQuerySQL4() throws Exception {
  2. Node foo = testRootNode.addNode("foo");
  3. foo.setProperty("bla", new String[]{"bla"});
  4. Node bla = testRootNode.addNode("bla");
  5. bla.setProperty("bla", new String[]{"bla"});
  6. testRootNode.save();
  7. String sql = "SELECT * FROM nt:unstructured WHERE jcr:path LIKE '" + testRoot + "/%'";
  8. Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
  9. QueryResult result = q.execute();
  10. checkResult(result, 2);
  11. }

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

  1. @FixFor( "MODE-2286" )
  2. @Test
  3. public void shouldFindSystemNodesUsingPathLikeCriteriaWithAllSnsIndexSpecified() throws Exception {
  4. String sql = "select [jcr:path] from [nt:base] where [jcr:path] like '/Other[1]/NodeA[%]'";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  6. validateQuery().rowCount(3).validate(query, query.execute());
  7. }

代码示例来源:origin: org.onehippo.cms7/hippo-repository-engine

  1. private List<Node> getItemNodesToBeExecuted(final Session session) throws RepositoryException {
  2. final List<Node> initializeItems = new ArrayList<>();
  3. final QueryManager queryManager = session.getWorkspace().getQueryManager();
  4. final Query getInitializeItems = queryManager.createQuery(PENDING_INITIALIZE_ITEMS_QUERY, Query.SQL);
  5. final NodeIterator nodes = getInitializeItems.execute().getNodes();
  6. while(nodes.hasNext()) {
  7. initializeItems.add(nodes.nextNode());
  8. }
  9. return initializeItems;
  10. }

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

  1. public void testLikeWithLineTerminator() throws Exception {
  2. Node n = testRootNode.addNode("node1");
  3. n.setProperty("value", new String[]{"foo\nbar"});
  4. testRootNode.save();
  5. String sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value LIKE 'foo%bar'";
  6. Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
  7. QueryResult result = q.execute();
  8. checkResult(result, 1);
  9. sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value LIKE 'foo_bar'";
  10. q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
  11. result = q.execute();
  12. checkResult(result, 1);
  13. }

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

  1. @SuppressWarnings( "deprecation" )
  2. @Test
  3. public void shouldBeAbleToCreateAndExecuteSqlQueryWithOrderByPathClause() throws RepositoryException {
  4. String sql = "SELECT car:model FROM car:Car WHERE car:model IS NOT NULL ORDER BY PATH() ASC";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
  6. QueryResult result = query.execute();
  7. validateQuery().rowCount(13).hasColumns("jcr:path", "jcr:score", "car:model").validate(query, result);
  8. }

代码示例来源:origin: org.onehippo.cms7/hippo-repository-builtin

  1. public boolean hasTranslation(String language) throws RepositoryException {
  2. String id = node.getProperty(HippoTranslationNodeType.ID).getString();
  3. Query query = node.getSession().getWorkspace().getQueryManager().createQuery(
  4. "SELECT * FROM " + HippoTranslationNodeType.NT_TRANSLATED
  5. + " WHERE " + HippoTranslationNodeType.ID + "='" + id + "'"
  6. + " AND " + HippoTranslationNodeType.LOCALE + "='" + language + "'",
  7. Query.SQL);
  8. final QueryResult result = query.execute();
  9. NodeIterator nodes = result.getNodes();
  10. return nodes.hasNext();
  11. }

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

  1. public void testSimpleQuerySQL1() throws Exception {
  2. Node foo = testRootNode.addNode("foo");
  3. foo.setProperty("bla", new String[]{"bla"});
  4. testRootNode.save();
  5. String sql = "SELECT * FROM nt:base"
  6. + " WHERE jcr:path LIKE '" + testRoot + "/foo'"
  7. + " AND bla = 'bla'";
  8. Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
  9. QueryResult result = q.execute();
  10. checkResult(result, 1);
  11. }

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

  1. @SuppressWarnings( "deprecation" )
  2. @Test
  3. public void shouldBeAbleToCreateAndExecuteSqlQueryWithPathCriteriaAndOrderByClause() throws RepositoryException {
  4. String sql = "SELECT car:model FROM car:Car WHERE jcr:path LIKE '/Cars/%' ORDER BY car:model ASC";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
  6. QueryResult result = query.execute();
  7. validateQuery().rowCount(13).hasColumns("jcr:path", "jcr:score", "car:model").validate(query, result);
  8. }

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

  1. /**
  2. * Find nodes located in the provided node or in sub-folders within it that have the provided nodeType.
  3. * As this method uses jcr queries to find nodes, it might not see nodes that have been created but not saved yet (i.e. during installation of a module).
  4. */
  5. protected NodeIterator findPrincipalNodes(final Node node, final String nodeType) throws RepositoryException {
  6. final StringBuilder builder = new StringBuilder("select * from [").append(nodeType).append("]");
  7. if (!"/".equals(node.getPath())) {
  8. builder.append(" where isdescendantnode(['").append(node.getPath()).append("'])");
  9. }
  10. final String queryString = builder.toString();
  11. log.debug("Executing query \"{}\".", queryString);
  12. final Query query = node.getSession().getWorkspace().getQueryManager().createQuery(queryString, Query.JCR_SQL2);
  13. return query.execute().getNodes();
  14. }

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

  1. public void testFulltextSimpleSQL() throws Exception {
  2. Node foo = testRootNode.addNode("foo");
  3. foo.setProperty("mytext", new String[]{"the quick brown fox jumps over the lazy dog."});
  4. testRootNode.save();
  5. String sql = "SELECT * FROM [nt:unstructured]"
  6. + " WHERE ISCHILDNODE([" + testRoot + "])"
  7. + " AND CONTAINS(mytext, 'fox')";
  8. Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  9. QueryResult result = q.execute();
  10. checkResult(result, 1);
  11. }

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

  1. @SuppressWarnings( "deprecation" )
  2. @Test
  3. public void shouldBeAbleToExecuteXPathQueryToFindNodesWithAllSnsIndexesUnderPath() throws RepositoryException {
  4. String xpath = " /jcr:root//NodeA";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(xpath, Query.XPATH);
  6. QueryResult result = query.execute();
  7. validateQuery().rowCount(3).hasColumns("jcr:primaryType", "jcr:path", "jcr:score").validate(query, result);
  8. }

代码示例来源:origin: org.onehippo.cms7/hippo-cms-console-frontend

  1. private void check(Session session) throws RepositoryException {
  2. check(session.getRootNode());
  3. Query query = session.getWorkspace().getQueryManager().createQuery("//element(*,nt:base)", Query.XPATH);
  4. QueryResult result = query.execute();
  5. for (NodeIterator iter = result.getNodes(); iter.hasNext();) {
  6. Node node = iter.nextNode();
  7. if (node != null && log.isTraceEnabled()) {
  8. log.trace("query: {}", node.getPath());
  9. }
  10. }
  11. }

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

  1. public void testContainsStarXPath() throws RepositoryException {
  2. Node n = testRootNode.addNode("node1");
  3. n.setProperty("title", new String[]{"tEst text"});
  4. n.setProperty("mytext", new String[]{"The quick brown Fox jumps over the lazy dog."});
  5. n = testRootNode.addNode("node2");
  6. n.setProperty("title", new String[]{"The quick brown Fox jumps over the lazy dog."});
  7. n.setProperty("mytext", new String[]{"text text"});
  8. testRootNode.save();
  9. String sql = "/jcr:root" + testRoot + "/element(*, nt:unstructured)"
  10. + "[jcr:contains(., 'quick fox')]";
  11. Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.XPATH);
  12. checkResult(q.execute(), 2);
  13. }

相关文章