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

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

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

Query.bindValue介绍

[英]Binds the given value to the variable named varName.
[中]将给定的value绑定到名为varName的变量。

代码示例

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

  1. /** {@inheritDoc} */
  2. public void bindValue(String varName, Value value)
  3. throws RepositoryException, RemoteException {
  4. query.bindValue(varName, value);
  5. }

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

  1. @Override
  2. public void bindValue(String varName, Value value) throws IllegalArgumentException, RepositoryException {
  3. delegate.bindValue(varName, value);
  4. }

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

  1. /**
  2. * Binds the given <code>value</code> to the variable named
  3. * <code>var</code>.
  4. *
  5. * @param q the query
  6. * @param var name of variable in query
  7. * @param value value to bind
  8. * @throws IllegalArgumentException if <code>var</code> is not a valid
  9. * variable in this query.
  10. * @throws RepositoryException if an error occurs.
  11. */
  12. protected void bindVariableValue(Query q, String var, Value value)
  13. throws RepositoryException {
  14. q.bindValue(var, value);
  15. }

代码示例来源:origin: stackoverflow.com

  1. Session session = ...
  2. String expression = "SELECT * FROM ..."; // as above
  3. String pluginId = ...
  4. String platform = ...
  5. String version = ...
  6. QueryManager queryMgr = session.getWorkspace().getQueryManager();
  7. Query query = queryMgr.createQuery(expression,Query.JCR_SQL2);
  8. query.bindValue("pluginId",pluginId);
  9. query.bindValue("platform",platform);
  10. query.bindValue("version",version);
  11. QueryResult result = query.execute();

代码示例来源: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 void execute() throws Exception {
  2. getDelegate().bindValue(varName, value);
  3. }
  4. });

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

  1. public void bindValue(String varName, Value value) throws IllegalArgumentException,
  2. RepositoryException {
  3. getDelegate().bindValue(varName, value);
  4. }

代码示例来源:origin: com.btmatthews.atlas/atlas-jcr

  1. private void bindValue(final Query query,
  2. final ValueFactory valueFactory,
  3. final String name,
  4. final Object value)
  5. throws RepositoryException {
  6. if (value instanceof String) {
  7. query.bindValue(name, valueFactory.createValue((String) value));
  8. } else {
  9. throw new RepositoryAccessException(MessageFormat.format(UNSUPPORTED_PARAMETER_TYPE, name, value.getClass().getSimpleName()));
  10. }
  11. }

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

  1. private void bindExtraVariables( UriInfo uriInfo,
  2. ValueFactory valueFactory,
  3. Query query ) throws RepositoryException {
  4. if (uriInfo == null) {
  5. return;
  6. }
  7. // Extract the query parameters and bind as variables ...
  8. for (Map.Entry<String, List<String>> entry : uriInfo.getQueryParameters().entrySet()) {
  9. String variableName = entry.getKey();
  10. List<String> variableValues = entry.getValue();
  11. if (variableValues == null || variableValues.isEmpty() || SKIP_QUERY_PARAMETERS.contains(variableName)) {
  12. continue;
  13. }
  14. // Grab the first non-null value ...
  15. Iterator<String> valuesIterator = variableValues.iterator();
  16. String variableValue = null;
  17. while (valuesIterator.hasNext() && variableValue == null) {
  18. variableValue = valuesIterator.next();
  19. }
  20. if (variableValue == null) {
  21. continue;
  22. }
  23. // Bind the variable value to the variable name ...
  24. query.bindValue(variableName, valueFactory.createValue(variableValue));
  25. }
  26. }
  27. }

代码示例来源:origin: com.thinkbiganalytics.kylo/kylo-metadata-modeshape

  1. public static QueryResult query(Session session, String queryExpression, Map<String, String> bindParams) throws RepositoryException {
  2. QueryResult results = null;
  3. log.debug("JCR-SQL2 query: {} ",queryExpression);
  4. Query query = session.getWorkspace().getQueryManager().createQuery(queryExpression, "JCR-SQL2");
  5. if (bindParams != null && !bindParams.isEmpty()) {
  6. Iterator e = bindParams.entrySet().iterator();
  7. while (e.hasNext()) {
  8. Map.Entry entry = (Map.Entry) e.next();
  9. String key = (String) entry.getKey();
  10. Value value = session.getValueFactory().createValue((String) entry.getValue());
  11. query.bindValue(key, value);
  12. }
  13. }
  14. results = query.execute();
  15. return results;
  16. }

代码示例来源:origin: org.apache.sling/org.apache.sling.launchpad.test-services

  1. @Override
  2. protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
  3. throws ServletException, IOException {
  4. response.setContentType("text/plain");
  5. String queryText = request.getParameter("q");
  6. if ( queryText == null || queryText.isEmpty() ) {
  7. response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
  8. response.getWriter().write("Missing mandatory 'q' parameter");
  9. return;
  10. }
  11. Session session = request.getResourceResolver().adaptTo(Session.class);
  12. try {
  13. Query query = session.getWorkspace().getQueryManager().createQuery("SELECT * FROM [nt:base] AS s WHERE CONTAINS(s.*, $queryText)", Query.JCR_SQL2);
  14. query.bindValue("queryText", session.getValueFactory().createValue(queryText));
  15. QueryResult result = query.execute();
  16. NodeIterator iterator = result.getNodes();
  17. while( iterator.hasNext() ) {
  18. response.getWriter().println(iterator.nextNode().getPath());
  19. }
  20. } catch (RepositoryException e) {
  21. throw new ServletException(e);
  22. }
  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: apache/jackrabbit-oak

  1. private void run0() throws RepositoryException {
  2. session.refresh(false);
  3. QueryManager qm = session.getWorkspace().getQueryManager();
  4. Query q = qm.createQuery("select * from [nt:base] where [" + indexedPropName + "] = $status " +
  5. "option(index tag fooIndex)", Query.JCR_SQL2);
  6. q.bindValue("status", session.getValueFactory().createValue(randomStatus()));
  7. QueryResult result = q.execute();
  8. //With property index at time traversing index wins (somehow reporting lower cost)
  9. //and that leads to warning. So limit the iterator size
  10. resultSize += Iterators.size(Iterators.limit(result.getNodes(), 500));
  11. }
  12. }

代码示例来源: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. /**
  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/archiva

  1. @Override
  2. public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
  3. throws MetadataRepositoryException
  4. {
  5. List<ArtifactMetadata> artifacts;
  6. String q = getArtifactQuery( repositoryId ) + " AND ([sha1] = $checksum OR [md5] = $checksum)";
  7. try
  8. {
  9. Query query = getJcrSession().getWorkspace().getQueryManager().createQuery( q, Query.JCR_SQL2 );
  10. ValueFactory valueFactory = getJcrSession().getValueFactory();
  11. query.bindValue( "checksum", valueFactory.createValue( checksum ) );
  12. QueryResult result = query.execute();
  13. artifacts = new ArrayList<>();
  14. for ( Node n : JcrUtils.getNodes( result ) )
  15. {
  16. artifacts.add( getArtifactFromNode( repositoryId, n ) );
  17. }
  18. }
  19. catch ( RepositoryException e )
  20. {
  21. throw new MetadataRepositoryException( e.getMessage(), e );
  22. }
  23. return artifacts;
  24. }

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

  1. private static List<String> queryResult(Session session, String indexedPropName, String value) throws RepositoryException{
  2. session.refresh(false);
  3. QueryManager qm = session.getWorkspace().getQueryManager();
  4. Query q = qm.createQuery("select * from [nt:base] where [" + indexedPropName + "] = $value", Query.JCR_SQL2);
  5. q.bindValue("value", session.getValueFactory().createValue(value));
  6. QueryResult result = q.execute();
  7. List<String> paths = Lists.newArrayList();
  8. for (Row r : JcrUtils.getRows(result)){
  9. paths.add(r.getPath());
  10. }
  11. return paths;
  12. }
  13. }

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

  1. public void testFulltextBindVariableSQL() 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, $searchExpression)";
  8. Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  9. assertEquals("Expected exactly 1 bind variable", 1, q.getBindVariableNames().length);
  10. assertEquals("searchExpression", q.getBindVariableNames()[0]);
  11. q.bindValue("searchExpression", superuser.getValueFactory().createValue("fox"));
  12. QueryResult result = q.execute();
  13. checkResult(result, 1);
  14. }

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

  1. @Test
  2. public void noLiterals() throws RepositoryException {
  3. Session session = getAdminSession();
  4. ValueFactory vf = session.getValueFactory();
  5. QueryManager qm = session.getWorkspace().getQueryManager();
  6. // insecure
  7. try {
  8. Query q = qm.createQuery(
  9. "select text from [nt:base] where password = 'x'",
  10. Query.JCR_SQL2 + "-noLiterals");
  11. q.execute();
  12. fail();
  13. } catch (InvalidQueryException e) {
  14. assertTrue(e.toString(), e.toString().indexOf(
  15. "literals of this type not allowed") > 0);
  16. }
  17. // secure
  18. Query q = qm.createQuery(
  19. "select text from [nt:base] where password = $p",
  20. Query.JCR_SQL2 + "-noLiterals");
  21. q.bindValue("p", vf.createValue("x"));
  22. q.execute();
  23. }

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

  1. @FixFor( "MODE-1840" )
  2. @Test
  3. public void shouldBeAbleToCreateAndExecuteJcrSql2QueryWithBindVariableInsideContains() throws RepositoryException {
  4. String sql = "select [jcr:path] from [nt:unstructured] as n where contains(n.something, $expression)";
  5. Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
  6. query.bindValue("expression", session.getValueFactory().createValue("cat wearing"));
  7. QueryResult result = query.execute();
  8. validateQuery().rowCount(1).hasColumns("jcr:path").hasNodesAtPaths("/Other/NodeA[2]").validate(query, result);
  9. }

相关文章