/** * Starts the tree traversal and returns the lucene * {@link org.apache.lucene.search.Query}. * * @return the lucene <code>Query</code>. * @throws RepositoryException if an error occurs while building the lucene * query. */ private Query createLuceneQuery() throws RepositoryException { return (Query) root.accept(this, null); }
/** * Starts the tree traversal and returns the lucene * {@link org.apache.lucene.search.Query}. * * @return the lucene <code>Query</code>. * @throws RepositoryException if an error occurs while building the lucene * query. */ private Query createLuceneQuery() throws RepositoryException { return (Query) root.accept(this, null); }
private QueryFormat(QueryRootNode root, NameResolver resolver) throws RepositoryException { this.resolver = resolver; statement = root.accept(this, new StringBuffer()).toString(); if (exceptions.size() > 0) { Exception e = (Exception) exceptions.get(0); throw new InvalidQueryException(e.getMessage(), e); } }
private QueryFormat(QueryRootNode root, NameResolver resolver) throws RepositoryException { this.resolver = resolver; statement = root.accept(this, new StringBuffer()).toString(); if (exceptions.size() > 0) { Exception e = (Exception) exceptions.get(0); throw new InvalidQueryException(e.getMessage(), e); } }
private QueryFormat(QueryRootNode root, NameResolver resolver) throws RepositoryException { this.resolver = resolver; statement = root.accept(this, new StringBuffer()).toString(); if (exceptions.size() > 0) { Exception e = (Exception) exceptions.get(0); throw new InvalidQueryException(e.getMessage(), e); } }
private QueryFormat(QueryRootNode root, NameResolver resolver) throws RepositoryException { this.resolver = resolver; statement = root.accept(this, new StringBuffer()).toString(); if (exceptions.size() > 0) { Exception e = (Exception) exceptions.get(0); throw new InvalidQueryException(e.getMessage(), e); } }
@Override public Object accept(QueryNodeVisitor visitor, Object data) throws RepositoryException { // the lucene query without acl constraints Query luceneQuery = (Query) super.accept(visitor, data); if (!QueryExecutorHelper.isExecuting()) { // not a criteria query: skip lucene decoration return luceneQuery; } try { // retrieves the session Field sessionField = LuceneQueryBuilder.class.getDeclaredField("session"); sessionField.setAccessible(true); SessionImpl session = (SessionImpl) sessionField.get(visitor); // adds acl constraints AclQueryDecorator decorator = new AclQueryDecorator(session, AclSearchIndex.this); return decorator.applyAcl(luceneQuery); } catch (Throwable e) { throw new RepositoryException(e); } } };