Returns map, where key is test id and value is a list of all test metrics.
251 if (testIds.isEmpty()) {
252 return Collections.emptyMap();
256 List<String> sessionIds = databaseService.getSessionIdsByTaskIds(
new HashSet<Long>(testIds));
259 SessionMatchingSetup sessionMatchingSetup =
new SessionMatchingSetup(
false, Collections.<SessionMatchingSetup.MatchBy>emptySet());
260 RootNode rootNode = databaseService.getControlTreeForSessions(
new HashSet<String>(sessionIds), sessionMatchingSetup);
263 List<TestNode> summaryNodeTests =
new ArrayList<TestNode>();
264 List<TestDetailsNode> detailsNodeTests =
new ArrayList<TestDetailsNode>();
266 for (TestNode testNode : rootNode.getSummaryNode().getTests()) {
267 Long testId = testNode.getTaskDataDto().getId();
268 if (testIds.contains(testId)) {
269 summaryNodeTests.add(testNode);
272 for (TestDetailsNode testDetailsNode : rootNode.getDetailsNode().getTests()) {
273 Long testId = testDetailsNode.getTaskDataDto().getId();
274 if (testIds.contains(testId)) {
275 detailsNodeTests.add(testDetailsNode);
280 Map<Long, Set<MetricNameDto>> metrics =
new HashMap<Long, Set<MetricNameDto>>();
281 Set<String> metricsWithSummary =
new HashSet<String>();
282 Set<String> metricsWithPlots =
new HashSet<String>();
284 for (TestNode testNode : summaryNodeTests) {
285 Long testId = testNode.getTaskDataDto().getId();
287 if (!metrics.containsKey(testId)) {
288 metrics.put(testId,
new HashSet<MetricNameDto>());
291 for (MetricNode metricNode : testNode.getMetrics()) {
292 for (MetricNameDto metricNameDto : metricNode.getMetricNameDtoList()) {
293 metrics.get(testId).add(metricNameDto);
294 metricsWithSummary.add(metricNameDto.getMetricName());
299 for (TestDetailsNode testDetailsNode : detailsNodeTests) {
300 Long testId = testDetailsNode.getTaskDataDto().getId();
302 if (!metrics.containsKey(testId)) {
303 metrics.put(testId,
new HashSet<MetricNameDto>());
306 for (MetricNode metricNode : testDetailsNode.getMetrics()) {
307 for (MetricNameDto metricNameDto : metricNode.getMetricNameDtoList()) {
308 metrics.get(testId).add(metricNameDto);
309 metricsWithPlots.add(metricNameDto.getMetricName());
315 Map<Long, Set<MetricEntity>> result =
new HashMap<Long, Set<MetricEntity>>();
316 for (Long key : metrics.keySet()) {
317 result.put(key,
new HashSet<MetricEntity>());
319 for (MetricNameDto metricNameDto : metrics.get(key)) {
320 MetricEntity metricEntity =
new MetricEntity();
321 metricEntity.setMetricNameDto(metricNameDto);
322 if (metricsWithSummary.contains(metricNameDto.getMetricName())) {
323 metricEntity.setSummaryAvailable(
true);
325 if (metricsWithPlots.contains(metricNameDto.getMetricName())) {
326 metricEntity.setPlotAvailable(
true);
328 result.get(key).add(metricEntity);