private void disallowGroupingAndAggregations(IckleParsingResult<TypeMetadata> parsingResult) { if (parsingResult.hasGroupingOrAggregations()) { throw log.getFiltersCannotUseGroupingOrAggregationException(); } }
protected BaseQuery buildQuery(QueryFactory queryFactory, IckleParsingResult<TypeMetadata> parsingResult, Map<String, Object> namedParameters, long startOffset, int maxResults) { if (log.isDebugEnabled()) { log.debugf("Building query '%s' with parameters %s", parsingResult.getQueryString(), namedParameters); } BaseQuery query = parsingResult.hasGroupingOrAggregations() ? buildQueryWithAggregations(queryFactory, parsingResult.getQueryString(), namedParameters, startOffset, maxResults, parsingResult) : buildQueryNoAggregations(queryFactory, parsingResult.getQueryString(), namedParameters, startOffset, maxResults, parsingResult); query.validateNamedParameters(); return query; }
protected BaseQuery buildQuery(QueryFactory queryFactory, IckleParsingResult<TypeMetadata> parsingResult, Map<String, Object> namedParameters, long startOffset, int maxResults, IndexedQueryMode queryMode) { if (log.isDebugEnabled()) { log.debugf("Building query '%s' with parameters %s", parsingResult.getQueryString(), namedParameters); } BaseQuery query = parsingResult.hasGroupingOrAggregations() ? buildQueryWithAggregations(queryFactory, parsingResult.getQueryString(), namedParameters, startOffset, maxResults, parsingResult, queryMode) : buildQueryNoAggregations(queryFactory, parsingResult.getQueryString(), namedParameters, startOffset, maxResults, parsingResult, queryMode); query.validateNamedParameters(); return query; }
public HsQueryRequest createHsQuery(String queryString, IndexedTypeMap<CustomTypeMetadata> metadata, Map<String, Object> nameParameters) { IckleParsingResult<TypeMetadata> parsingResult = parse(queryString); if (parsingResult.hasGroupingOrAggregations()) { throw log.groupAggregationsNotSupported(); } LuceneQueryParsingResult luceneParsingResult = transformParsingResult(parsingResult, nameParameters); org.apache.lucene.search.Query luceneQuery = makeTypeQuery(luceneParsingResult.getQuery(), luceneParsingResult.getTargetEntityName()); SearchIntegrator searchFactory = getSearchFactory(); HSQuery hsQuery = metadata == null ? searchFactory.createHSQuery(luceneQuery) : searchFactory.createHSQuery(luceneQuery, metadata); Sort sort = luceneParsingResult.getSort(); if (sort != null) { hsQuery.sort(sort); } String[] projections = luceneParsingResult.getProjections(); if (projections != null) { hsQuery.projection(projections); } return new HsQueryRequest(hsQuery, sort, projections); }
private BaseQuery buildQueryNoAggregations(QueryFactory queryFactory, String queryString, Map<String, Object> namedParameters, long startOffset, int maxResults, IckleParsingResult<TypeMetadata> parsingResult) { if (parsingResult.hasGroupingOrAggregations()) { throw log.queryMustNotUseGroupingOrAggregation(); // may happen only due to internal programming error
private BaseQuery buildQueryNoAggregations(QueryFactory queryFactory, String queryString, Map<String, Object> namedParameters, long startOffset, int maxResults, IckleParsingResult<TypeMetadata> parsingResult, IndexedQueryMode queryMode) { if (parsingResult.hasGroupingOrAggregations()) { throw log.queryMustNotUseGroupingOrAggregation(); // may happen only due to internal programming error
if (parsingResult.hasGroupingOrAggregations()) { throw log.groupAggregationsNotSupported();