]> source.dussan.org Git - sonarqube.git/commitdiff
Improve report viewer
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Mon, 16 Nov 2015 14:14:34 +0000 (15:14 +0100)
committerDuarte Meneses <duarte.meneses@sonarsource.com>
Mon, 16 Nov 2015 14:21:01 +0000 (15:21 +0100)
sonar-batch-protocol/src/main/java/org/sonar/batch/protocol/viewer/ViewerApplication.java

index e17e2363eb304b77118847e4df4b570e9e0dfc5d..a2f9352f6d2d4c380933c04ba7159703f5837da0 100644 (file)
@@ -20,6 +20,7 @@
 package org.sonar.batch.protocol.viewer;
 
 import java.awt.BorderLayout;
+import java.awt.Cursor;
 import java.awt.Dimension;
 import java.awt.EventQueue;
 import java.io.File;
@@ -30,6 +31,7 @@ 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;
@@ -46,6 +48,7 @@ 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;
@@ -200,16 +203,18 @@ public class ViewerApplication {
 
   private void updateSource(Component component) {
     File sourceFile = reader.getFileStructure().fileFor(Domain.SOURCE, component.getRef());
+    sourceEditor.setText("");
+
     if (sourceFile.exists()) {
       try (Scanner s = new Scanner(sourceFile, StandardCharsets.UTF_8.name()).useDelimiter("\\Z")) {
-        sourceEditor.setText(s.next());
+        if (s.hasNext()) {
+          sourceEditor.setText(s.next());
+        }
       } catch (IOException ex) {
         StringWriter errors = new StringWriter();
         ex.printStackTrace(new PrintWriter(errors));
         sourceEditor.setText(errors.toString());
       }
-    } else {
-      sourceEditor.setText("");
     }
   }
 
@@ -301,7 +306,9 @@ public class ViewerApplication {
           return;
         }
 
+        frame.setCursor(new Cursor(Cursor.WAIT_CURSOR));
         updateDetails((Component) node.getUserObject());
+        frame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
 
       }