LuceneFieldSorter getSorter(FieldManager fieldManager, String field) { return fieldManager.getNavigableField(field).getSorter(); }
private Object getSingleValueFromField(String fieldName) { LuceneFieldSorter sorter = fieldManager.getNavigableField(fieldName).getSorter(); return sorter.getValueFromLuceneField(document.get(sorter.getDocumentConstant())); }
private List getMultipleValuesFromField(String fieldName) { LuceneFieldSorter sorter = fieldManager.getNavigableField(fieldName).getSorter(); String[] documentValues = document.getValues(sorter.getDocumentConstant()); if (documentValues == null || documentValues.length == 0) { return Collections.EMPTY_LIST; } List values = new ArrayList(documentValues.length); for (String documentValue : documentValues) { Object value = sorter.getValueFromLuceneField(documentValue); if (value != null) { values.add(value); } } Collections.sort(values, sorter.getComparator()); return values; }
private List getIssuesFromField(String fieldName) { LuceneFieldSorter sorter = fieldManager.getNavigableField(fieldName).getSorter(); String[] documentValues = document.getValues(sorter.getDocumentConstant()); if (documentValues == null || documentValues.length == 0) { return Collections.EMPTY_LIST; } List<GenericValue> values = new ArrayList<GenericValue>(documentValues.length); for (String documentValue : documentValues) { GenericValue value = (GenericValue) sorter.getValueFromLuceneField(documentValue); if (value != null) { values.add(value); } } Collections.sort(values, sorter.getComparator()); return convertGenericValuesToIssues(values); }
final Class timePeriodClass = ChartUtil.getTimePeriodClass(periodName); final Collector hitCollector = new GenericDateFieldIssuesHitCollector(matchingIssues, issueIndexManager.getIssueSearcher(), dateField.getSorter(), timePeriodClass, dateFieldId, chartTimeZone); final Query query = whereClauseBuilder.buildQuery(); searchProvider.search(query, remoteUser, hitCollector);