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

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

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

Query.getStatement介绍

[英]Returns the statement defined for this query.

If the language of this query is JCR-SQL2 or another string-based language, this method will return the statement that was used to create this query.

If the language of this query is JCR-JQOM, this method will return the JCR-SQL2 equivalent of the JCR-JQOM object tree. This is the standard serialization of JCR-JQOM and is also the string stored in the jcr:statement property if the query is persisted. See #storeAsNode(String).
[中]返回为此查询定义的语句。
如果此查询的语言是JCR-SQL2或其他基于字符串的语言,则此方法将返回用于创建此查询的语句。
如果这个查询的语言是JCR-JQOM,那么这个方法将返回JCR-SQL2等价于JCR-JQOM对象树。这是JCR-JQOM的标准序列化,如果查询被持久化,它也是jcr:statement属性中存储的字符串。请参见#storeAsNode(字符串)。

代码示例

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

  1. @Override
  2. public String getStatement() {
  3. return this.query.getStatement();
  4. }

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

  1. /**
  2. * @inheritDoc
  3. */
  4. public String getStatement() {
  5. return query.getStatement();
  6. }

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

  1. @Override
  2. public String getStatement() {
  3. return delegate.getStatement();
  4. }

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

  1. /** {@inheritDoc} */
  2. public String getStatement() throws RemoteException {
  3. return query.getStatement();
  4. }

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

  1. /**
  2. * @inheritDoc
  3. */
  4. public String getStatement() {
  5. String queryString = query.getStatement();
  6. String[] argumentNames = getArguments();
  7. for (int i = 0; i < argumentNames.length; i++) {
  8. queryString = queryString.replaceAll(MAGIC_NAMED_START + argumentNames[i] + MAGIC_NAMED_END, "\\$" + argumentNames[i]);
  9. }
  10. return queryString;
  11. }

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

  1. public void bindValue(String varName, Value value) throws IllegalArgumentException, RepositoryException {
  2. if (query.getStatement().contains(MAGIC_NAMED_START)) {
  3. if(arguments == null)
  4. arguments = new HashMap<String, Value>();
  5. arguments.put(varName, value);
  6. } else {
  7. query.bindValue(varName, value);
  8. }
  9. }

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

  1. public String getStatement() {
  2. return getDelegate().getStatement();
  3. }

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

  1. public String execute() throws Exception {
  2. return getDelegate().getStatement();
  3. }
  4. });

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

  1. /**
  2. * @inheritDoc
  3. */
  4. public String[] getArguments() {
  5. String queryString = query.getStatement();
  6. Set<String> arguments = new HashSet<String>();
  7. for (int position = queryString.indexOf(MAGIC_NAMED_START); position >= 0; position = queryString.indexOf(MAGIC_NAMED_START, position)) {
  8. position += MAGIC_NAMED_START.length();
  9. int endPosition = position;
  10. if (Character.isJavaIdentifierStart(queryString.charAt(endPosition))) {
  11. do {
  12. ++endPosition;
  13. } while (endPosition < queryString.length() && Character.isJavaIdentifierPart(queryString.charAt(endPosition)) &&
  14. !queryString.substring(endPosition).startsWith(MAGIC_NAMED_END));
  15. }
  16. if (queryString.substring(endPosition).startsWith(MAGIC_NAMED_END)) {
  17. arguments.add(queryString.substring(position, endPosition));
  18. position = endPosition + MAGIC_NAMED_END.length();
  19. }
  20. }
  21. return arguments.toArray(new String[arguments.size()]);
  22. }

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

  1. /**
  2. * Tests it the statement returned by {@link Query#getStatement()} is equal
  3. * to the one passed in createQuery().
  4. */
  5. public void testGetStatement() throws RepositoryException {
  6. String statement = "/" + jcrRoot + "/foo";
  7. Query q = session.getWorkspace().getQueryManager().createQuery(statement, qsXPATH);
  8. assertEquals("Statement returned by Query.getStatement() is not equal to the initial statement.",
  9. statement,
  10. q.getStatement());
  11. }
  12. }

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

  1. /**
  2. * @inheritDoc
  3. */
  4. public QueryResult execute(Map<String, String> arguments) throws RepositoryException {
  5. String queryString = query.getStatement();
  6. if (arguments != null) {
  7. for (Map.Entry<String,String> entry : arguments.entrySet()) {
  8. bindValue(entry.getKey(), session.getValueFactory().createValue(entry.getValue()));
  9. }
  10. }
  11. if (this.arguments != null) {
  12. for (Map.Entry<String, Value> entry : this.arguments.entrySet()) {
  13. queryString = queryString.replace(MAGIC_NAMED_START + entry.getKey() + MAGIC_NAMED_END, entry.getValue().getString());
  14. }
  15. }
  16. Query q = session.getWorkspace().getQueryManager().createQuery(queryString, getLanguage());
  17. return factory.getQueryResultDecorator(session, execute(q));
  18. }

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

  1. /**
  2. * Stores a {@link javax.jcr.query.Query#XPATH} query at:
  3. * <code>testRoot + "/" + nodeName1</code>.
  4. * @throws NotExecutableException if nt:query is not supported.
  5. */
  6. public void testSave() throws RepositoryException, NotExecutableException {
  7. checkNtQuery();
  8. Query query = superuser.getWorkspace().getQueryManager().createQuery(statement, Query.XPATH);
  9. query.storeAsNode(testRoot + "/" + nodeName1);
  10. assertTrue("Node has not been stored", testRootNode.hasNode(nodeName1));
  11. Node queryNode = testRootNode.getNode(nodeName1);
  12. assertTrue("Query node is not of type nt:query", queryNode.isNodeType(ntQuery));
  13. Query query2 = superuser.getWorkspace().getQueryManager().getQuery(queryNode);
  14. assertEquals("Persisted query does not match initial query.", query.getStatement(), query2.getStatement());
  15. }

代码示例来源:origin: nl.vpro/jcr-criteria

  1. @Override
  2. public String getSpellCheckerSuggestion() {
  3. if (spellCheckerSuggestion == null && spellCheckerQuery != null) {
  4. RowIterator rows;
  5. try {
  6. rows = spellCheckerQuery.execute().getRows();
  7. // the above query will always return the root node no matter what string we check
  8. Row r = rows.nextRow();
  9. // get the result of the spell checking
  10. Value v = r.getValue("rep:spellcheck()");
  11. if (v == null) {
  12. // no suggestion returned, the spelling is correct or the spell checker
  13. // does not know how to correct it.
  14. } else {
  15. spellCheckerSuggestion = v.getString();
  16. }
  17. } catch (RepositoryException e) {
  18. log.warn("Error getting excerpt using " + spellCheckerQuery.getStatement(), e);
  19. return null;
  20. }
  21. }
  22. return spellCheckerSuggestion;
  23. }

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

  1. private boolean performQuery(@NotNull final TestContext ec) throws RepositoryException {
  2. QueryManager qm = ec.session.getWorkspace().getQueryManager();
  3. ValueFactory vf = ec.session.getValueFactory();
  4. Query q = qm.createQuery("SELECT * FROM [nt:base] WHERE [title] = $title", Query.JCR_SQL2);
  5. q.bindValue("title", vf.createValue(ec.title));
  6. LOG.trace("statement: {} - title: {}", q.getStatement(), ec.title);
  7. RowIterator rows = q.execute().getRows();
  8. if (rows.hasNext()) {
  9. rows.nextRow().getPath();
  10. return true;
  11. } else {
  12. return false;
  13. }
  14. }

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

  1. @Test
  2. public void shouldCreateQuery() throws Exception {
  3. String statement = "SELECT * FROM [nt:unstructured]";
  4. QueryManager queryManager = workspace.getQueryManager();
  5. Query query = queryManager.createQuery(statement, Query.JCR_SQL2);
  6. assertThat(query, is(notNullValue()));
  7. assertThat(query.getLanguage(), is(Query.JCR_SQL2));
  8. assertThat(query.getStatement(), is(statement));
  9. }

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

  1. @Test
  2. public void shouldLoadStoredQuery() throws Exception {
  3. String statement = "SELECT * FROM [nt:unstructured]";
  4. QueryManager queryManager = workspace.getQueryManager();
  5. Query query = queryManager.createQuery(statement, Query.JCR_SQL2);
  6. Node node = query.storeAsNode("/storedQuery");
  7. Query loaded = queryManager.getQuery(node);
  8. assertThat(loaded, is(notNullValue()));
  9. assertThat(loaded.getLanguage(), is(Query.JCR_SQL2));
  10. assertThat(loaded.getStatement(), is(statement));
  11. assertThat(loaded.getStoredQueryPath(), is(node.getPath()));
  12. }

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

  1. protected void setUp() throws Exception {
  2. super.setUp();
  3. qomQuery = qf.createQuery(
  4. qf.selector(testNodeType, "s"),
  5. qf.and(
  6. qf.childNode("s", testRoot),
  7. qf.comparison(
  8. qf.propertyValue("s", propertyName1),
  9. QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO,
  10. qf.bindVariable("v")
  11. )
  12. ), null, null);
  13. sqlQuery = qm.createQuery(qomQuery.getStatement(), Query.JCR_SQL2);
  14. }

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

  1. protected QueryResult assertJcrSql2Query( String sql,
  2. long expectedRowCount ) throws RepositoryException {
  3. Query query = session().getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  4. QueryResult results = query.execute();
  5. printMessage(query.getStatement());
  6. ValidateQuery.validateQuery().printDetail(print).rowCount(expectedRowCount).validate(query, results);
  7. return results;
  8. }

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

  1. @Test
  2. @FixFor( "MODE-2329" )
  3. public void shouldAllowUsingExpandedSelectorNameInQOM() throws Exception {
  4. QueryObjectModelFactory qomFactory = session.getWorkspace().getQueryManager().getQOMFactory();
  5. Selector selector = qomFactory.selector(NodeType.NT_BASE, "category");
  6. // Build and execute the query ...
  7. Query query = qomFactory.createQuery(selector, qomFactory.childNode("category", "/Cars"), null, new Column[0]);
  8. assertThat(query.getStatement(), is("SELECT * FROM [{http://www.jcp.org/jcr/nt/1.0}base] AS category WHERE ISCHILDNODE(category,'/Cars')"));
  9. QueryResult result = query.execute();
  10. validateQuery().rowCount(4).hasColumns(allColumnNames("category")).validate(query, result);
  11. }

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

  1. @FixFor( "MODE-1611" )
  2. @Test
  3. public void shouldAllowQomUseOfIsChildNodeInWhereClause() throws RepositoryException {
  4. QueryObjectModelFactory qomFactory = session.getWorkspace().getQueryManager().getQOMFactory();
  5. Selector selector = qomFactory.selector("nt:base", "category");
  6. ChildNode childNodeConstraint = qomFactory.childNode("category", "/Cars");
  7. Constraint constraint = childNodeConstraint;
  8. Column[] columns = new Column[0];
  9. Ordering[] orderings = null;
  10. // Build and execute the query ...
  11. Query query = qomFactory.createQuery(selector, constraint, orderings, columns);
  12. assertThat(query.getStatement(), is("SELECT * FROM [nt:base] AS category WHERE ISCHILDNODE(category,'/Cars')"));
  13. QueryResult result = query.execute();
  14. validateQuery().rowCount(4).hasColumns(allColumnNames("category")).validate(query, result);
  15. }

相关文章