import org.sonar.batch.components.TimeMachineConfiguration;
import org.sonar.core.DryRunIncompatible;
+import javax.annotation.Nullable;
+
import java.util.Arrays;
import java.util.Date;
import java.util.List;
context.saveMeasure(newUncoveredConditions);
}
- private Map<Integer, Integer> parseCountByLine(Measure measure) {
+ private Map<Integer, Integer> parseCountByLine(@Nullable Measure measure) {
if (measure != null && measure.hasData()) {
return KeyValueFormat.parseIntInt(measure.getData());
}
Integer newConditions;
Integer newCoveredConditions;
- PeriodStruct(int index, Date date) {
+ PeriodStruct(int index, @Nullable Date date) {
this.index = index;
this.date = date;
}
newCoveredConditions = null;
}
- void analyze(Date lineDate, int hits, int conditions, int coveredConditions) {
+ void analyze(@Nullable Date lineDate, int hits, int conditions, int coveredConditions) {
if (lineDate == null) {
// TODO warning
void write(List<DuplicationsParser.Block> blocks, JsonWriter json, DbSession session) {
Map<String, String> refByComponentKey = newHashMap();
json.name("duplications").beginArray();
- writeDuplications(blocks, refByComponentKey, json, session);
+ writeDuplications(blocks, refByComponentKey, json);
json.endArray();
json.name("files").beginObject();
json.endObject();
}
- private void writeDuplications(List<DuplicationsParser.Block> blocks, Map<String, String> refByComponentKey, JsonWriter json, DbSession session) {
+ private void writeDuplications(List<DuplicationsParser.Block> blocks, Map<String, String> refByComponentKey, JsonWriter json) {
for (DuplicationsParser.Block block : blocks) {
json.beginObject().name("blocks").beginArray();
for (DuplicationsParser.Duplication duplication : block.duplications()) {
import java.util.*;
import static com.google.common.collect.Lists.newArrayList;
+import static com.google.common.collect.Maps.newHashMap;
public class IssueIndex extends BaseIndex<Issue, IssueDto, String> {
+ private Map<String, IndexField> sortColumns = newHashMap();
+
public IssueIndex(IssueNormalizer normalizer, SearchClient client) {
super(IndexDefinition.ISSUES, normalizer, client);
+
+ sortColumns.put(IssueQuery.SORT_BY_ASSIGNEE, IssueNormalizer.IssueField.ASSIGNEE);
+ sortColumns.put(IssueQuery.SORT_BY_STATUS, IssueNormalizer.IssueField.STATUS);
+ sortColumns.put(IssueQuery.SORT_BY_SEVERITY, IssueNormalizer.IssueField.SEVERITY_VALUE);
+ sortColumns.put(IssueQuery.SORT_BY_CREATION_DATE, IssueNormalizer.IssueField.ISSUE_CREATED_AT);
+ sortColumns.put(IssueQuery.SORT_BY_UPDATE_DATE, IssueNormalizer.IssueField.ISSUE_UPDATED_AT);
+ sortColumns.put(IssueQuery.SORT_BY_CLOSE_DATE, IssueNormalizer.IssueField.ISSUE_CLOSE_DATE);
}
@Override
matchFilter(esFilter, IssueNormalizer.IssueField.SEVERITY, query.severities());
matchFilter(esFilter, IssueNormalizer.IssueField.STATUS, query.statuses());
- addDatesFilter(esFilter, query, options);
+ addDatesFilter(esFilter, query);
return esFilter;
}
));
}
- private void addDatesFilter(BoolFilterBuilder esFilter, IssueQuery query, QueryContext options) {
+ private void addDatesFilter(BoolFilterBuilder esFilter, IssueQuery query) {
Date createdAfter = query.createdAfter();
if (createdAfter != null) {
esFilter.must(FilterBuilders
}
private IndexField toIndexField(String sort) {
- if (IssueQuery.SORT_BY_ASSIGNEE.equals(sort)) {
- return IssueNormalizer.IssueField.ASSIGNEE;
- } else if (IssueQuery.SORT_BY_STATUS.equals(sort)) {
- return IssueNormalizer.IssueField.STATUS;
- } else if (IssueQuery.SORT_BY_SEVERITY.equals(sort)) {
- return IssueNormalizer.IssueField.SEVERITY_VALUE;
- } else if (IssueQuery.SORT_BY_CREATION_DATE.equals(sort)) {
- return IssueNormalizer.IssueField.ISSUE_CREATED_AT;
- } else if (IssueQuery.SORT_BY_UPDATE_DATE.equals(sort)) {
- return IssueNormalizer.IssueField.ISSUE_UPDATED_AT;
- } else if (IssueQuery.SORT_BY_CLOSE_DATE.equals(sort)) {
- return IssueNormalizer.IssueField.ISSUE_CLOSE_DATE;
+ IndexField indexFieldSort = sortColumns.get(sort);
+ if (indexFieldSort != null) {
+ return indexFieldSort;
}
throw new IllegalStateException("Unknown sort field : " + sort);
}
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+
+import java.util.*;
public class Result<K> {
}
} else if (HasAggregations.class.isAssignableFrom(aggregation.getClass())) {
HasAggregations hasAggregations = (HasAggregations) aggregation;
- for (Aggregation internalAggregation : hasAggregations.getAggregations())
+ for (Aggregation internalAggregation : hasAggregations.getAggregations()) {
this.processAggregation(internalAggregation);
+ }
} else {
LOGGER.warn("Cannot process {} type of aggregation", aggregation.getClass());
}