private void makeSelectionForMetricPanel( Set<MetricNameDto> metricTempSet, MetricPanel metricPanel, List<TaskDataDto> result) { if (!metricTempSet.isEmpty()) { for (MetricNameDto metricName : metricTempSet) { for (TaskDataDto mN : result) { if (metricName.getTests().getTaskName().equals(mN.getTaskName())) { metricPanel.setSelected(new MetricNameDto(mN, metricName.getName())); } } } } }
private void ifItWasLink( List<TaskDataDto> result, MetricPanel metricPanel, TaskDataTreeViewModel taskDataTreeViewModel) { Set<MetricNameDto> metricsToSelect = new HashSet<MetricNameDto>(); Set<PlotNameDto> trendsToSelect = new HashSet<PlotNameDto>(); for (TaskDataDto taskDataDto : result) { for (TestsMetrics testMetric : place.getSelectedTestsMetrics()) { if (testMetric.getTestName().equals(taskDataDto.getTaskName())) { // add metrics for (String metricName : testMetric.getMetrics()) { MetricNameDto meticDto = new MetricNameDto(); meticDto.setName(metricName); meticDto.setTests(taskDataDto); metricsToSelect.add(meticDto); } // add plots for (String trendsName : testMetric.getTrends()) { PlotNameDto plotNameDto = new PlotNameDto(taskDataDto, trendsName); trendsToSelect.add(plotNameDto); } } } } MetricNameDto fireMetric = null; if (!metricsToSelect.isEmpty()) fireMetric = metricsToSelect.iterator().next(); for (MetricNameDto metric : metricsToSelect) { metricPanel.setSelected(metric); } metricPanel.addSelectionListener(new MetricsSelectionChangedHandler()); if (fireMetric != null) metricPanel.setSelected(fireMetric); PlotNameDto firePlot = null; if (!trendsToSelect.isEmpty()) firePlot = trendsToSelect.iterator().next(); for (PlotNameDto plotNameDto : trendsToSelect) { taskDataTreeViewModel.getSelectionModel().setSelected(plotNameDto, true); } taskDataTreeViewModel .getSelectionModel() .addSelectionChangeHandler(new TaskPlotSelectionChangedHandler()); if (firePlot != null) taskDataTreeViewModel.getSelectionModel().setSelected(firePlot, true); }
public TreeItem(SummarySingleDto metricDto) { MetricNameDto metricName = metricDto.getMetricName(); this.key = getTestItemId(metricDto.getMetricName().getTest()) + metricDto.getMetricName().getMetricName(); put(NAME, metricName.getMetricDisplayName()); put(TEST_DESCRIPTION, metricName.getTest().getDescription()); put(TEST_NAME, getItemKey(metricName)); for (SummaryMetricValueDto metricValue : metricDto.getValues()) { String value = metricValue.getValueRepresentation(); // highlight results according to decision when available if (metricValue.getDecision() != null) { String toolTip = "Decision for metric during test run. Green - value in limits. Yellow - value crossed warning limits. Red - value outside limits"; switch (metricValue.getDecision()) { case OK: value = "<p title=\"" + toolTip + "\" style=\"color:green;font-weight:700;display:inline;\">" + value + "</p>"; break; case WARNING: value = "<p title=\"" + toolTip + "\" style=\"color:#B8860B;font-weight:700;display:inline;\">" + value + "</p>"; break; default: value = "<p title=\"" + toolTip + "\" style=\"color:red;font-weight:700;display:inline;\">" + value + "</p>"; break; } } put(SESSION_HEADER + metricValue.getSessionId(), value); } }
@UiHandler("getHyperlink") void getHyperlink(ClickEvent event) { MultiSelectionModel<SessionDataDto> sessionModel = (MultiSelectionModel) sessionsDataGrid.getSelectionModel(); MultiSelectionModel<TaskDataDto> testModel = (MultiSelectionModel) testDataGrid.getSelectionModel(); Set<SessionDataDto> sessions = sessionModel.getSelectedSet(); Set<TaskDataDto> tests = testModel.getSelectedSet(); Set<MetricNameDto> metrics = metricPanel.getSelected(); TaskDataTreeViewModel taskDataTreeViewModel = (TaskDataTreeViewModel) taskDetailsTree.getTreeViewModel(); Set<PlotNameDto> trends = taskDataTreeViewModel.getSelectionModel().getSelectedSet(); HashSet<String> sessionsIds = new HashSet<String>(); HashSet<TestsMetrics> testsMetricses = new HashSet<TestsMetrics>(tests.size()); HashMap<String, TestsMetrics> map = new HashMap<String, TestsMetrics>(tests.size()); for (SessionDataDto session : sessions) { sessionsIds.add(session.getSessionId()); } for (TaskDataDto taskDataDto : tests) { TestsMetrics testsMetrics = new TestsMetrics(taskDataDto.getTaskName(), new HashSet<String>(), new HashSet<String>()); testsMetricses.add(testsMetrics); map.put(taskDataDto.getTaskName(), testsMetrics); } for (MetricNameDto metricNameDto : metrics) { map.get(metricNameDto.getTests().getTaskName()).getMetrics().add(metricNameDto.getName()); } for (PlotNameDto plotNameDto : trends) { map.get(plotNameDto.getTest().getTaskName()).getTrends().add(plotNameDto.getPlotName()); } TrendsPlace newPlace = new TrendsPlace( mainTabPanel.getSelectedIndex() == 0 ? NameTokens.SUMMARY : mainTabPanel.getSelectedIndex() == 1 ? NameTokens.TRENDS : NameTokens.METRICS); newPlace.setSelectedSessionIds(sessionsIds); newPlace.setSelectedTestsMetrics(testsMetricses); newPlace.setSessionTrends(sessionPlotPanel.getSelected()); String linkText = Window.Location.getHost() + Window.Location.getPath() + Window.Location.getQueryString() + "#" + new JaggerPlaceHistoryMapper().getToken(newPlace); linkText = URL.encode(linkText); // create a dialog for copy link final DialogBox dialog = new DialogBox(false, true); dialog.setText("Share link"); dialog.setModal(true); dialog.setAutoHideEnabled(true); dialog.setPopupPosition(event.getClientX(), event.getClientY()); final TextArea textArea = new TextArea(); textArea.setText(linkText); textArea.setWidth("300px"); textArea.setHeight("40px"); // select text Scheduler.get() .scheduleDeferred( new Scheduler.ScheduledCommand() { @Override public void execute() { textArea.setVisible(true); textArea.setFocus(true); textArea.selectAll(); } }); dialog.add(textArea); dialog.show(); }
private String getItemKey(MetricNameDto metricName) { return metricName.getTest().getDescription() + metricName.getTest().getTaskName() + metricName.getMetricName(); }