package com.griddynamics.jagger.dbapi.fetcher;
import com.google.common.collect.Multimap;
import com.griddynamics.jagger.dbapi.util.FetchUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* Created by kgribov on 3/17/14.
*/
@Component
public class CustomTestGroupMetricSummaryFetcher extends CustomMetricSummaryFetcher {
private FetchUtil fetchUtil;
@Autowired
public void setFetchUtil(FetchUtil fetchUtil) {
this.fetchUtil = fetchUtil;
}
@Override
protected List<Object[]> getCustomMetricsDataNewModel(Set<Long> taskIds, Set<String> metricId) {
Multimap<Long, Long> testGroupMap = fetchUtil.getTestGroupIdsByTestIds(taskIds);
List<Object[]> testGroupsSummary = super.getCustomMetricsDataNewModel(testGroupMap.keySet(), metricId);
List<Object[]> testsSummary = new ArrayList<>();
for (Object[] testGroupSummary : testGroupsSummary) {
Long testGroupId = (Long) testGroupSummary[3];
for (Long testId : testGroupMap.get(testGroupId)) {
testGroupSummary[3] = new BigInteger(testId.toString());
testsSummary.add(testGroupSummary);
}
}
return testsSummary;
}
}