mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-07 21:01:03 +00:00
Added the retrieved data amount to the query result
This commit is contained in:
1 parent
c39db1e707
commit
ba555d7143
5 files changed
+21
-12
No files matched your search
@@ -36,8 +36,9 @@ public class QueryImpl<DataType, ExtractedType, AggregatedType> implements Query
|
||||
public QueryResult<AggregatedType> run(RacingEventService racingEventService) {
|
||||
final long startTime = System.nanoTime();
|
||||
|
||||
Collection<DataType> filteredData = filter.filter(retriever.retrieveData(racingEventService));
|
||||
QueryResultImpl<AggregatedType> result = new QueryResultImpl<AggregatedType>(filteredData.size(), createResultSignifier());
|
||||
Collection<DataType> retrievedData = retriever.retrieveData(racingEventService);
|
||||
Collection<DataType> filteredData = filter.filter(retrievedData);
|
||||
QueryResultImpl<AggregatedType> result = new QueryResultImpl<AggregatedType>(retrievedData.size(), filteredData.size(), createResultSignifier());
|
||||
Map<GroupKey, Collection<DataType>> groupedFixes = grouper.group(filteredData);
|
||||
for (Entry<GroupKey, Collection<DataType>> groupEntry : groupedFixes.entrySet()) {
|
||||
Collection<ExtractedType> extractedData = extractor.extract(groupEntry.getValue());
|
||||
|
||||
+3
-2
@@ -5,8 +5,9 @@ import java.util.Map;
|
||||
|
||||
|
||||
public interface QueryResult<AggregatedType> extends Serializable {
|
||||
|
||||
public int getDataSize();
|
||||
|
||||
int getRetrievedDataAmount();
|
||||
public int getFilteredDataAmount();
|
||||
public double getCalculationTimeInSeconds();
|
||||
|
||||
|
||||
|
||||
+13
-6
@@ -5,8 +5,9 @@ import java.util.Map;
|
||||
|
||||
public class QueryResultImpl<AggregatedType> implements QueryResult<AggregatedType> {
|
||||
private static final long serialVersionUID = 351213515082955565L;
|
||||
|
||||
private int dataSize;
|
||||
|
||||
private int retrievedDataAmount;
|
||||
private int filteredDataAmount;
|
||||
private long calculationTimeInNanos;
|
||||
|
||||
private String resultSignifier;
|
||||
@@ -18,15 +19,21 @@ public class QueryResultImpl<AggregatedType> implements QueryResult<AggregatedTy
|
||||
@Deprecated
|
||||
QueryResultImpl() { }
|
||||
|
||||
public QueryResultImpl(int dataSize, String resultSiginifier) {
|
||||
this.dataSize = dataSize;
|
||||
public QueryResultImpl(int retrievedDataAmount, int filteredDataAmount, String resultSiginifier) {
|
||||
this.retrievedDataAmount = retrievedDataAmount;
|
||||
this.filteredDataAmount = retrievedDataAmount;
|
||||
results = new HashMap<GroupKey, AggregatedType>();
|
||||
this.resultSignifier = resultSiginifier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDataSize() {
|
||||
return dataSize;
|
||||
public int getRetrievedDataAmount() {
|
||||
return retrievedDataAmount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFilteredDataAmount() {
|
||||
return filteredDataAmount;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ public abstract class AbstractQueryBenchmarkPanel<DimensionType> extends FlowPan
|
||||
|
||||
private void updateResults(final ClientBenchmarkData<DimensionType> benchmarkData, double overallTimeInSeconds, QueryResult<Integer> result) {
|
||||
resultsChart.addResult(new QueryBenchmarkResult(stringMessages.runAsSubstantive() + " " + benchmarkData.getCurrentRun(),
|
||||
result.getDataSize(), result.getCalculationTimeInSeconds(), overallTimeInSeconds));
|
||||
result.getFilteredDataAmount(), result.getCalculationTimeInSeconds(), overallTimeInSeconds));
|
||||
|
||||
if (benchmarkData.isFinished()) {
|
||||
benchmarkStatusLabel.setText(" | " + stringMessages.done());
|
||||
|
||||
+1
-1
@@ -67,7 +67,7 @@ public class QueryResultsChart extends SimplePanel {
|
||||
}
|
||||
|
||||
private void updateChartSubtitle(QueryResult<Integer> result) {
|
||||
chart.setChartSubtitle(new ChartSubtitle().setText(stringMessages.queryResultsChartSubtitle(result.getDataSize(), result.getCalculationTimeInSeconds())));
|
||||
chart.setChartSubtitle(new ChartSubtitle().setText(stringMessages.queryResultsChartSubtitle(result.getFilteredDataAmount(), result.getCalculationTimeInSeconds())));
|
||||
//This is needed, so that the subtitle is updated. Otherwise the text would stay empty
|
||||
this.setWidget(null);
|
||||
this.setWidget(chart);
|
||||
|
||||
Reference in new issue
Block a user