本文整理了Java中javax.jcr.query.Query.bindValue
方法的一些代码示例,展示了Query.bindValue
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.bindValue
方法的具体详情如下:
包路径:javax.jcr.query.Query
类名称:Query
方法名:bindValue
[英]Binds the given value
to the variable named varName
.
[中]将给定的value
绑定到名为varName
的变量。
代码示例来源:origin: apache/jackrabbit
/** {@inheritDoc} */
public void bindValue(String varName, Value value)
throws RepositoryException, RemoteException {
query.bindValue(varName, value);
}
代码示例来源:origin: net.adamcin.oakpal/oakpal-core
@Override
public void bindValue(String varName, Value value) throws IllegalArgumentException, RepositoryException {
delegate.bindValue(varName, value);
}
代码示例来源:origin: apache/jackrabbit
/**
* Binds the given <code>value</code> to the variable named
* <code>var</code>.
*
* @param q the query
* @param var name of variable in query
* @param value value to bind
* @throws IllegalArgumentException if <code>var</code> is not a valid
* variable in this query.
* @throws RepositoryException if an error occurs.
*/
protected void bindVariableValue(Query q, String var, Value value)
throws RepositoryException {
q.bindValue(var, value);
}
代码示例来源:origin: stackoverflow.com
Session session = ...
String expression = "SELECT * FROM ..."; // as above
String pluginId = ...
String platform = ...
String version = ...
QueryManager queryMgr = session.getWorkspace().getQueryManager();
Query query = queryMgr.createQuery(expression,Query.JCR_SQL2);
query.bindValue("pluginId",pluginId);
query.bindValue("platform",platform);
query.bindValue("version",version);
QueryResult result = query.execute();
代码示例来源:origin: org.onehippo.cms7/hippo-repository-engine
public void bindValue(String varName, Value value) throws IllegalArgumentException, RepositoryException {
if (query.getStatement().contains(MAGIC_NAMED_START)) {
if(arguments == null)
arguments = new HashMap<String, Value>();
arguments.put(varName, value);
} else {
query.bindValue(varName, value);
}
}
代码示例来源:origin: brix-cms/brix-cms
public void execute() throws Exception {
getDelegate().bindValue(varName, value);
}
});
代码示例来源:origin: brix-cms/brix-cms
public void bindValue(String varName, Value value) throws IllegalArgumentException,
RepositoryException {
getDelegate().bindValue(varName, value);
}
代码示例来源:origin: com.btmatthews.atlas/atlas-jcr
private void bindValue(final Query query,
final ValueFactory valueFactory,
final String name,
final Object value)
throws RepositoryException {
if (value instanceof String) {
query.bindValue(name, valueFactory.createValue((String) value));
} else {
throw new RepositoryAccessException(MessageFormat.format(UNSUPPORTED_PARAMETER_TYPE, name, value.getClass().getSimpleName()));
}
}
代码示例来源:origin: ModeShape/modeshape
private void bindExtraVariables( UriInfo uriInfo,
ValueFactory valueFactory,
Query query ) throws RepositoryException {
if (uriInfo == null) {
return;
}
// Extract the query parameters and bind as variables ...
for (Map.Entry<String, List<String>> entry : uriInfo.getQueryParameters().entrySet()) {
String variableName = entry.getKey();
List<String> variableValues = entry.getValue();
if (variableValues == null || variableValues.isEmpty() || SKIP_QUERY_PARAMETERS.contains(variableName)) {
continue;
}
// Grab the first non-null value ...
Iterator<String> valuesIterator = variableValues.iterator();
String variableValue = null;
while (valuesIterator.hasNext() && variableValue == null) {
variableValue = valuesIterator.next();
}
if (variableValue == null) {
continue;
}
// Bind the variable value to the variable name ...
query.bindValue(variableName, valueFactory.createValue(variableValue));
}
}
}
代码示例来源:origin: com.thinkbiganalytics.kylo/kylo-metadata-modeshape
public static QueryResult query(Session session, String queryExpression, Map<String, String> bindParams) throws RepositoryException {
QueryResult results = null;
log.debug("JCR-SQL2 query: {} ",queryExpression);
Query query = session.getWorkspace().getQueryManager().createQuery(queryExpression, "JCR-SQL2");
if (bindParams != null && !bindParams.isEmpty()) {
Iterator e = bindParams.entrySet().iterator();
while (e.hasNext()) {
Map.Entry entry = (Map.Entry) e.next();
String key = (String) entry.getKey();
Value value = session.getValueFactory().createValue((String) entry.getValue());
query.bindValue(key, value);
}
}
results = query.execute();
return results;
}
代码示例来源:origin: org.apache.sling/org.apache.sling.launchpad.test-services
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/plain");
String queryText = request.getParameter("q");
if ( queryText == null || queryText.isEmpty() ) {
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
response.getWriter().write("Missing mandatory 'q' parameter");
return;
}
Session session = request.getResourceResolver().adaptTo(Session.class);
try {
Query query = session.getWorkspace().getQueryManager().createQuery("SELECT * FROM [nt:base] AS s WHERE CONTAINS(s.*, $queryText)", Query.JCR_SQL2);
query.bindValue("queryText", session.getValueFactory().createValue(queryText));
QueryResult result = query.execute();
NodeIterator iterator = result.getNodes();
while( iterator.hasNext() ) {
response.getWriter().println(iterator.nextNode().getPath());
}
} catch (RepositoryException e) {
throw new ServletException(e);
}
}
代码示例来源:origin: apache/jackrabbit-oak
private boolean performQuery(@NotNull final TestContext ec) throws RepositoryException {
QueryManager qm = ec.session.getWorkspace().getQueryManager();
ValueFactory vf = ec.session.getValueFactory();
Query q = qm.createQuery("SELECT * FROM [nt:base] WHERE [title] = $title", Query.JCR_SQL2);
q.bindValue("title", vf.createValue(ec.title));
LOG.trace("statement: {} - title: {}", q.getStatement(), ec.title);
RowIterator rows = q.execute().getRows();
if (rows.hasNext()) {
rows.nextRow().getPath();
return true;
} else {
return false;
}
}
代码示例来源:origin: apache/jackrabbit-oak
private void run0() throws RepositoryException {
session.refresh(false);
QueryManager qm = session.getWorkspace().getQueryManager();
Query q = qm.createQuery("select * from [nt:base] where [" + indexedPropName + "] = $status " +
"option(index tag fooIndex)", Query.JCR_SQL2);
q.bindValue("status", session.getValueFactory().createValue(randomStatus()));
QueryResult result = q.execute();
//With property index at time traversing index wins (somehow reporting lower cost)
//and that leads to warning. So limit the iterator size
resultSize += Iterators.size(Iterators.limit(result.getNodes(), 500));
}
}
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-spi2jcr
/**
* {@inheritDoc}
*/
public QueryInfo executeQuery(SessionInfo sessionInfo, String statement, String language, Map<String, String> namespaces, long limit, long offset, Map<String, QValue> values) throws RepositoryException {
SessionInfoImpl sInfo = getSessionInfoImpl(sessionInfo);
Query query = createQuery(sInfo.getSession(), statement,
language, namespaces);
if (limit != -1) {
query.setLimit(limit);
}
if (offset != -1) {
query.setOffset(offset);
}
if (values != null && !values.isEmpty()) {
for (Map.Entry<String, QValue> entry : values.entrySet()) {
Value value = ValueFormat.getJCRValue(entry.getValue(), sInfo.getNamePathResolver(), sInfo.getSession().getValueFactory());
query.bindValue(entry.getKey(), value);
}
}
return new QueryInfoImpl(query.execute(), idFactory,
sInfo.getNamePathResolver(), getQValueFactory());
}
代码示例来源:origin: apache/jackrabbit
/**
* {@inheritDoc}
*/
public QueryInfo executeQuery(SessionInfo sessionInfo, String statement, String language, Map<String, String> namespaces, long limit, long offset, Map<String, QValue> values) throws RepositoryException {
SessionInfoImpl sInfo = getSessionInfoImpl(sessionInfo);
Query query = createQuery(sInfo.getSession(), statement,
language, namespaces);
if (limit != -1) {
query.setLimit(limit);
}
if (offset != -1) {
query.setOffset(offset);
}
if (values != null && !values.isEmpty()) {
for (Map.Entry<String, QValue> entry : values.entrySet()) {
Value value = ValueFormat.getJCRValue(entry.getValue(), sInfo.getNamePathResolver(), sInfo.getSession().getValueFactory());
query.bindValue(entry.getKey(), value);
}
}
return new QueryInfoImpl(query.execute(), idFactory,
sInfo.getNamePathResolver(), getQValueFactory());
}
代码示例来源:origin: apache/archiva
@Override
public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
throws MetadataRepositoryException
{
List<ArtifactMetadata> artifacts;
String q = getArtifactQuery( repositoryId ) + " AND ([sha1] = $checksum OR [md5] = $checksum)";
try
{
Query query = getJcrSession().getWorkspace().getQueryManager().createQuery( q, Query.JCR_SQL2 );
ValueFactory valueFactory = getJcrSession().getValueFactory();
query.bindValue( "checksum", valueFactory.createValue( checksum ) );
QueryResult result = query.execute();
artifacts = new ArrayList<>();
for ( Node n : JcrUtils.getNodes( result ) )
{
artifacts.add( getArtifactFromNode( repositoryId, n ) );
}
}
catch ( RepositoryException e )
{
throw new MetadataRepositoryException( e.getMessage(), e );
}
return artifacts;
}
代码示例来源:origin: apache/jackrabbit-oak
private static List<String> queryResult(Session session, String indexedPropName, String value) throws RepositoryException{
session.refresh(false);
QueryManager qm = session.getWorkspace().getQueryManager();
Query q = qm.createQuery("select * from [nt:base] where [" + indexedPropName + "] = $value", Query.JCR_SQL2);
q.bindValue("value", session.getValueFactory().createValue(value));
QueryResult result = q.execute();
List<String> paths = Lists.newArrayList();
for (Row r : JcrUtils.getRows(result)){
paths.add(r.getPath());
}
return paths;
}
}
代码示例来源:origin: apache/jackrabbit
public void testFulltextBindVariableSQL() throws Exception {
Node foo = testRootNode.addNode("foo");
foo.setProperty("mytext", new String[]{"the quick brown fox jumps over the lazy dog."});
testRootNode.save();
String sql = "SELECT * FROM [nt:unstructured]"
+ " WHERE ISCHILDNODE([" + testRoot + "])"
+ " AND CONTAINS(mytext, $searchExpression)";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
assertEquals("Expected exactly 1 bind variable", 1, q.getBindVariableNames().length);
assertEquals("searchExpression", q.getBindVariableNames()[0]);
q.bindValue("searchExpression", superuser.getValueFactory().createValue("fox"));
QueryResult result = q.execute();
checkResult(result, 1);
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void noLiterals() throws RepositoryException {
Session session = getAdminSession();
ValueFactory vf = session.getValueFactory();
QueryManager qm = session.getWorkspace().getQueryManager();
// insecure
try {
Query q = qm.createQuery(
"select text from [nt:base] where password = 'x'",
Query.JCR_SQL2 + "-noLiterals");
q.execute();
fail();
} catch (InvalidQueryException e) {
assertTrue(e.toString(), e.toString().indexOf(
"literals of this type not allowed") > 0);
}
// secure
Query q = qm.createQuery(
"select text from [nt:base] where password = $p",
Query.JCR_SQL2 + "-noLiterals");
q.bindValue("p", vf.createValue("x"));
q.execute();
}
代码示例来源:origin: ModeShape/modeshape
@FixFor( "MODE-1840" )
@Test
public void shouldBeAbleToCreateAndExecuteJcrSql2QueryWithBindVariableInsideContains() throws RepositoryException {
String sql = "select [jcr:path] from [nt:unstructured] as n where contains(n.something, $expression)";
Query query = session.getWorkspace().getQueryManager().createQuery(sql, Query.JCR_SQL2);
query.bindValue("expression", session.getValueFactory().createValue("cat wearing"));
QueryResult result = query.execute();
validateQuery().rowCount(1).hasColumns("jcr:path").hasNodesAtPaths("/Other/NodeA[2]").validate(query, result);
}
内容来源于网络,如有侵权,请联系作者删除!