@Override public void run() { JOptionPane.showMessageDialog(null, pe.getMessage(), "Invalid query.", JOptionPane.ERROR_MESSAGE); } });
/** * This method handles known lucene errors into user-friendly error message. */ @Nullable private String translateException(final Exception ex, final I18nHelper i18n, final String fieldName, @Nullable final String sourceFunction, final boolean shortMessage, final String value) { if (ex instanceof ParseException) { final ParseException parseException = (ParseException) ex; final String exMessage = parseException.getMessage(); if (exMessage != null) { if (exMessage.endsWith("'*' or '?' not allowed as first character in WildcardQuery")) { return getErrorMessage(i18n, sourceFunction, shortMessage, fieldName, value, "jira.jql.text.clause.bad.start.in.wildcard"); } else if (BAD_RANGEIN_PATTERN.matcher(exMessage).matches() || BAD_RANGEEX_PATTERN.matcher(exMessage).matches()) { return getErrorMessage(i18n, sourceFunction, shortMessage, fieldName, value, "jira.jql.text.clause.incorrect.range.query"); } } } return null; }
} catch (ParseException pe) { final String msg = queryStr + " caused a parse exception: " + pe.getMessage();
/** * Helper utility for parsing a query using the Lucene QueryParser syntax. * @param qs query expression in standard Lucene syntax * @param defaultField default field used for unqualified search terms in the query expression * @param params used to determine the default operator, overriding the schema specified operator * @param schema used for default operator (overridden by params) and passed to the query parser for field format analysis information */ public static Query parseQuery(String qs, String defaultField, SolrParams params, IndexSchema schema) { try { SolrQueryParser parser = schema.getSolrQueryParser(defaultField); String opParam = params.get(OP); if (opParam != null) { parser.setDefaultOperator("AND".equals(opParam) ? QueryParser.Operator.AND : QueryParser.Operator.OR); } Query query = parser.parse(qs); if (SolrCore.log.isTraceEnabled() ) { SolrCore.log.trace("After QueryParser:" + query); } return query; } catch (ParseException e) { SolrCore.log(e); throw new SolrException( SolrException.ErrorCode.BAD_REQUEST,"Query parsing error: " + e.getMessage(),e); } }
} catch (ParseException pe) { final String msg = queryStr + " caused a parse exception: " + pe.getMessage();
private FullTextQuery createFullTextQuery(final SearchQueryBuilder query, final Class<?> indexClass) { QueryParser parser = null; final String expression = query.getQuery(); if (!expression.contains("\\:")) { parser = new QueryParser(LUCENE_VERSION, query.getIndex().getDefaultField(), new StandardAnalyzer(LUCENE_VERSION)); } else { final List<String> list = query.getIndex().getAllFields(); final String[] fields = list.toArray(new String[list.size()]); parser = new MultiFieldQueryParser(LUCENE_VERSION, fields, new StandardAnalyzer(LUCENE_VERSION)); } final FullTextSession searchSession = Search.getFullTextSession(getSession()); try { final org.apache.lucene.search.Query luceneQuery = parser.parse(query.getQuery()); return searchSession.createFullTextQuery(luceneQuery, indexClass); } catch (final ParseException e) { throw new BonitaRuntimeException(e.getMessage()); } }
"Query parsing with \"legacy\" method, we got ParseException from QueryParser: " + e.getMessage() );
/** Parses a query string, returning a {@link org.apache.lucene.search.Query}. * @param query the query string to be parsed. * @throws ParseException if the parsing fails */ public Query parse(String query) throws ParseException { ReInit(new FastCharStream(new StringReader(query))); try { // TopLevelQuery is a Query followed by the end-of-input (EOF) Query res = TopLevelQuery(field); return res!=null ? res : newBooleanQuery(false); } catch (ParseException tme) { // rethrow to include the original query: throw new ParseException("Cannot parse '" +query+ "': " + tme.getMessage()); } catch (TokenMgrError tme) { throw new ParseException("Cannot parse '" +query+ "': " + tme.getMessage()); } catch (BooleanQuery.TooManyClauses tmc) { throw new ParseException("Cannot parse '" +query+ "': too many boolean clauses"); } }
/** Parses a query string, returning a {@link org.apache.lucene.search.Query}. * @param query the query string to be parsed. * @throws ParseException if the parsing fails */ public Query parse(String query) throws ParseException { ReInit(new FastCharStream(new StringReader(query))); try { // TopLevelQuery is a Query followed by the end-of-input (EOF) Query res = TopLevelQuery(field); return res!=null ? res : newBooleanQuery(false); } catch (ParseException tme) { // rethrow to include the original query: throw new ParseException("Cannot parse '" +query+ "': " + tme.getMessage()); } catch (TokenMgrError tme) { throw new ParseException("Cannot parse '" +query+ "': " + tme.getMessage()); } catch (BooleanQuery.TooManyClauses tmc) { throw new ParseException("Cannot parse '" +query+ "': too many boolean clauses"); } }
throw new IllegalArgumentException("Unable to parse filter into a Lucene query : '"+e.getMessage()+"'"); } catch (IllegalNameException e) { throw new IllegalArgumentException("Unable to parse filter into a Lucene query : '"+e.getMessage()+"'");
public SearchResults searchForTerm( String principal, List<String> selectedRepos, String term, SearchResultLimits limits ) { List<RepositoryContentIndex> indexes = getFileContentIndexes( principal, selectedRepos ); try { QueryParser parser = new FileContentHandlers().getQueryParser(); LuceneQuery query = new LuceneQuery( parser.parse( term ) ); SearchResults results = searchAll( query, limits, indexes ); results.getRepositories().addAll( this.localIndexedRepositories ); return results; } catch ( ParseException e ) { getLogger().warn( "Unable to parse query [" + term + "]: " + e.getMessage(), e ); } // empty results. return new SearchResults(); }
public SearchResults searchForBytecode( String principal, List<String> selectedRepos, String term, SearchResultLimits limits ) { List<RepositoryContentIndex> indexes = getHashcodeIndexes( principal, selectedRepos ); try { QueryParser parser = new BytecodeHandlers().getQueryParser(); LuceneQuery query = new LuceneQuery( parser.parse( term ) ); SearchResults results = searchAll( query, limits, indexes ); results.getRepositories().addAll( this.localIndexedRepositories ); return results; } catch ( ParseException e ) { getLogger().warn( "Unable to parse query [" + term + "]: " + e.getMessage(), e ); } // empty results. return new SearchResults(); }
public SearchResults searchForChecksum( String principal, List<String> selectedRepos, String checksum, SearchResultLimits limits ) { List<RepositoryContentIndex> indexes = getHashcodeIndexes( principal, selectedRepos ); try { QueryParser parser = new MultiFieldQueryParser( new String[]{HashcodesKeys.MD5, HashcodesKeys.SHA1}, new HashcodesHandlers().getAnalyzer() ); LuceneQuery query = new LuceneQuery( parser.parse( checksum ) ); SearchResults results = searchAll( query, limits, indexes ); results.getRepositories().addAll( this.localIndexedRepositories ); return results; } catch ( ParseException e ) { getLogger().warn( "Unable to parse query [" + checksum + "]: " + e.getMessage(), e ); } // empty results. return new SearchResults(); }
reporter.reportMessage(e.getMessage());
reporter.reportMessage(e.getMessage());
query.add(userQuery, Occur.MUST); } catch (ParseException e) { throw new RuntimeException(e.getMessage(),e);