diff options
author | Jenkins CI <ci@sonarsource.com> | 2015-12-14 08:01:24 +0100 |
---|---|---|
committer | Jenkins CI <ci@sonarsource.com> | 2015-12-14 08:01:24 +0100 |
commit | 9b709a4fe8323c9f8db0a021c4b89e46ba1b1fe8 (patch) | |
tree | 1e942f047e67fb00540898e67a18b0d67db0697e /sonar-batch-protocol | |
parent | d547fdddf958c20cddd00cdbf7a280182400f595 (diff) | |
parent | c637a52e84db7cc86c1ef574ac6fa2787d2a0683 (diff) | |
download | sonarqube-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.java | 49 |
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); |