aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch-protocol
diff options
context:
space:
mode:
authorJenkins CI <ci@sonarsource.com>2015-12-14 08:01:24 +0100
committerJenkins CI <ci@sonarsource.com>2015-12-14 08:01:24 +0100
commit9b709a4fe8323c9f8db0a021c4b89e46ba1b1fe8 (patch)
tree1e942f047e67fb00540898e67a18b0d67db0697e /sonar-batch-protocol
parentd547fdddf958c20cddd00cdbf7a280182400f595 (diff)
parentc637a52e84db7cc86c1ef574ac6fa2787d2a0683 (diff)
downloadsonarqube-9b709a4fe8323c9f8db0a021c4b89e46ba1b1fe8.tar.gz
sonarqube-9b709a4fe8323c9f8db0a021c4b89e46ba1b1fe8.zip
Automatic merge from branch-5.3
* origin/branch-5.3: Add duplications in report viewer fix bug when file header is not displated for only issue on the issues page change axes of the bubble chart on the technical debt overview
Diffstat (limited to 'sonar-batch-protocol')
-rw-r--r--sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/viewer/ViewerApplication.java49
1 files changed, 33 insertions, 16 deletions
diff --git a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/viewer/ViewerApplication.java b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/viewer/ViewerApplication.java
index a2f9352f6d2..d0089c37dc3 100644
--- a/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/viewer/ViewerApplication.java
+++ b/sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/viewer/ViewerApplication.java
@@ -31,7 +31,6 @@ import java.nio.charset.StandardCharsets;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Scanner;
-
import javax.swing.JEditorPane;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
@@ -48,7 +47,6 @@ import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeSelectionModel;
-
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.batch.protocol.output.BatchReport.Component;
import org.sonar.batch.protocol.output.BatchReport.Metadata;
@@ -75,6 +73,8 @@ public class ViewerApplication {
private JScrollPane coverageTab;
private JEditorPane coverageEditor;
private TextLineNumber textLineNumber;
+ private JScrollPane duplicationTab;
+ private JEditorPane duplicationEditor;
/**
* Create the application.
@@ -185,22 +185,35 @@ public class ViewerApplication {
updateHighlighting(component);
updateSource(component);
updateCoverage(component);
+ updateDuplications(component);
}
- private void updateCoverage(Component component) {
- coverageEditor.setText("");
+ private void updateDuplications(Component component) {
+ duplicationEditor.setText("");
if (reader.hasCoverage(component.getRef())) {
- try (CloseableIterator<BatchReport.Coverage> it = reader.readComponentCoverage(component.getRef())) {
+ try (CloseableIterator<BatchReport.Duplication> it = reader.readComponentDuplications(component.getRef())) {
while (it.hasNext()) {
- BatchReport.Coverage coverage = it.next();
- coverageEditor.getDocument().insertString(coverageEditor.getDocument().getEndPosition().getOffset(), coverage.toString() + "\n", null);
+ BatchReport.Duplication dup = it.next();
+ duplicationEditor.getDocument().insertString(duplicationEditor.getDocument().getEndPosition().getOffset(), dup.toString() + "\n", null);
}
} catch (Exception e) {
- throw new IllegalStateException("Can't read code coverage for " + getNodeName(component), e);
+ throw new IllegalStateException("Can't read duplications for " + getNodeName(component), e);
}
}
}
+ private void updateCoverage(Component component) {
+ coverageEditor.setText("");
+ try (CloseableIterator<BatchReport.Coverage> it = reader.readComponentCoverage(component.getRef())) {
+ while (it.hasNext()) {
+ BatchReport.Coverage coverage = it.next();
+ coverageEditor.getDocument().insertString(coverageEditor.getDocument().getEndPosition().getOffset(), coverage.toString() + "\n", null);
+ }
+ } catch (Exception e) {
+ throw new IllegalStateException("Can't read code coverage for " + getNodeName(component), e);
+ }
+ }
+
private void updateSource(Component component) {
File sourceFile = reader.getFileStructure().fileFor(Domain.SOURCE, component.getRef());
sourceEditor.setText("");
@@ -220,15 +233,13 @@ public class ViewerApplication {
private void updateHighlighting(Component component) {
highlightingEditor.setText("");
- if (reader.hasSyntaxHighlighting(component.getRef())) {
- try (CloseableIterator<BatchReport.SyntaxHighlighting> it = reader.readComponentSyntaxHighlighting(component.getRef())) {
- while (it.hasNext()) {
- BatchReport.SyntaxHighlighting rule = it.next();
- highlightingEditor.getDocument().insertString(highlightingEditor.getDocument().getEndPosition().getOffset(), rule.toString() + "\n", null);
- }
- } catch (Exception e) {
- throw new IllegalStateException("Can't read syntax highlighting for " + getNodeName(component), e);
+ try (CloseableIterator<BatchReport.SyntaxHighlighting> it = reader.readComponentSyntaxHighlighting(component.getRef())) {
+ while (it.hasNext()) {
+ BatchReport.SyntaxHighlighting rule = it.next();
+ highlightingEditor.getDocument().insertString(highlightingEditor.getDocument().getEndPosition().getOffset(), rule.toString() + "\n", null);
}
+ } catch (Exception e) {
+ throw new IllegalStateException("Can't read syntax highlighting for " + getNodeName(component), e);
}
}
@@ -284,6 +295,12 @@ public class ViewerApplication {
coverageEditor = new JEditorPane();
coverageTab.setViewportView(coverageEditor);
+ duplicationTab = new JScrollPane();
+ tabbedPane.addTab("Duplications", null, duplicationTab, null);
+
+ duplicationEditor = new JEditorPane();
+ duplicationTab.setViewportView(duplicationEditor);
+
treeScrollPane = new JScrollPane();
treeScrollPane.setPreferredSize(new Dimension(200, 400));
splitPane.setLeftComponent(treeScrollPane);