Browse Source

Switch to DisplayableError for the core errors dialog.

pull/318/head
Greg Holmes 9 years ago
parent
commit
434c3ed534

+ 7
- 7
ui_swing/src/com/dmdirc/addons/ui_swing/components/statusbar/ErrorPanel.java View File

@@ -30,8 +30,8 @@ import com.dmdirc.addons.ui_swing.injection.DialogProvider;
30 30
 import com.dmdirc.addons.ui_swing.injection.MainWindow;
31 31
 import com.dmdirc.interfaces.ui.ErrorsDialogModelListener;
32 32
 import com.dmdirc.logger.ErrorLevel;
33
-import com.dmdirc.logger.ProgramError;
34 33
 import com.dmdirc.ui.core.errors.CoreErrorsDialogModel;
34
+import com.dmdirc.ui.core.errors.DisplayableError;
35 35
 
36 36
 import java.awt.Window;
37 37
 import java.awt.event.MouseEvent;
@@ -100,8 +100,8 @@ public class ErrorPanel extends StatusbarPopupPanel<JLabel> implements ErrorsDia
100 100
 
101 101
     /** Checks all the errors for the most significant error. */
102 102
     private void checkErrors() {
103
-        final Set<ProgramError> errors = model.getErrors();
104
-        label.setIcon(iconManager.getIcon(errors.stream().map(ProgramError::getLevel)
103
+        final Set<DisplayableError> errors = model.getErrors();
104
+        label.setIcon(iconManager.getIcon(errors.stream().map(DisplayableError::getSeverity)
105 105
                 .reduce(ErrorLevel.UNKNOWN, ErrorLevel::getMoreImportant).getIcon()));
106 106
         setVisible(!errors.isEmpty());
107 107
     }
@@ -151,22 +151,22 @@ public class ErrorPanel extends StatusbarPopupPanel<JLabel> implements ErrorsDia
151 151
     }
152 152
 
153 153
     @Override
154
-    public void errorDeleted(final ProgramError error) {
154
+    public void errorDeleted(final DisplayableError error) {
155 155
         UIUtilities.invokeAndWait(this::checkErrors);
156 156
     }
157 157
 
158 158
     @Override
159
-    public void errorAdded(final ProgramError error) {
159
+    public void errorAdded(final DisplayableError error) {
160 160
         UIUtilities.invokeAndWait(this::checkErrors);
161 161
     }
162 162
 
163 163
     @Override
164
-    public void selectedErrorChanged(final Optional<ProgramError> selectedError) {
164
+    public void selectedErrorChanged(final Optional<DisplayableError> selectedError) {
165 165
         //Ignore
166 166
     }
167 167
 
168 168
     @Override
169
-    public void errorStatusChanged(final ProgramError error) {
169
+    public void errorStatusChanged(final DisplayableError error) {
170 170
         //Ignore
171 171
     }
172 172
 }

+ 6
- 6
ui_swing/src/com/dmdirc/addons/ui_swing/components/statusbar/ErrorPopup.java View File

@@ -25,8 +25,8 @@ package com.dmdirc.addons.ui_swing.components.statusbar;
25 25
 import com.dmdirc.addons.ui_swing.components.IconManager;
26 26
 import com.dmdirc.logger.ErrorLevel;
27 27
 import com.dmdirc.logger.ErrorReportStatus;
28
-import com.dmdirc.logger.ProgramError;
29 28
 import com.dmdirc.ui.core.errors.CoreErrorsDialogModel;
29
+import com.dmdirc.ui.core.errors.DisplayableError;
30 30
 import com.dmdirc.util.collections.MapList;
31 31
 
32 32
 import java.awt.Font;
@@ -73,12 +73,12 @@ public class ErrorPopup extends StatusbarPopupWindow {
73 73
 
74 74
     @Override
75 75
     protected void initContent(final JPanel panel) {
76
-        final Set<ProgramError> errors = model.getErrors();
77
-        final MapList<ErrorLevel, ProgramError> buckets = new MapList<>();
78
-        final MapList<ErrorReportStatus, ProgramError> statuses = new MapList<>();
76
+        final Set<DisplayableError> errors = model.getErrors();
77
+        final MapList<ErrorLevel, DisplayableError> buckets = new MapList<>();
78
+        final MapList<ErrorReportStatus, DisplayableError> statuses = new MapList<>();
79 79
 
80
-        for (final ProgramError error : errors) {
81
-            buckets.add(error.getLevel(), error);
80
+        for (final DisplayableError error : errors) {
81
+            buckets.add(error.getSeverity(), error);
82 82
             statuses.add(error.getReportStatus(), error);
83 83
         }
84 84
 

+ 6
- 6
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/errors/ErrorsDialog.java View File

@@ -23,13 +23,13 @@
23 23
 package com.dmdirc.addons.ui_swing.dialogs.errors;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.components.GenericTableModel;
26
+import com.dmdirc.addons.ui_swing.components.IconManager;
26 27
 import com.dmdirc.addons.ui_swing.components.PackingTable;
27 28
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
28 29
 import com.dmdirc.addons.ui_swing.injection.MainWindow;
29 30
 import com.dmdirc.interfaces.ui.ErrorsDialogModel;
30 31
 import com.dmdirc.logger.ErrorLevel;
31
-import com.dmdirc.logger.ProgramError;
32
-import com.dmdirc.addons.ui_swing.components.IconManager;
32
+import com.dmdirc.ui.core.errors.DisplayableError;
33 33
 
34 34
 import java.awt.Dimension;
35 35
 import java.awt.Window;
@@ -55,7 +55,7 @@ public class ErrorsDialog extends StandardDialog {
55 55
     private final ErrorsDialogModel model;
56 56
     private final IconManager iconManager;
57 57
     private JTable table;
58
-    private GenericTableModel<ProgramError> tableModel;
58
+    private GenericTableModel<DisplayableError> tableModel;
59 59
     private JSplitPane splitPane;
60 60
     private JScrollPane tableScrollPane;
61 61
     private JScrollPane detailsScrollPane;
@@ -107,9 +107,9 @@ public class ErrorsDialog extends StandardDialog {
107 107
         reportStatus = new JTextField();
108 108
         details = new JTextArea();
109 109
         getCancelButton().setText("Close");
110
-        tableModel = new GenericTableModel<>(ProgramError.class,
111
-                "getLevel", "getReportStatus", "getMessage");
112
-        tableModel.setHeaderNames("Severity", "Report Status", "Message");
110
+        tableModel = new GenericTableModel<>(DisplayableError.class,
111
+                "getSeverity", "getReportStatus", "getSummary");
112
+        tableModel.setHeaderNames("Severity", "Report Status", "Summary");
113 113
         tableScrollPane = new JScrollPane();
114 114
         detailsScrollPane = new JScrollPane();
115 115
         detailsScrollPane.setViewportView(details);

+ 13
- 21
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/errors/ErrorsDialogController.java View File

@@ -28,9 +28,7 @@ import com.dmdirc.interfaces.ui.ErrorsDialogModel;
28 28
 import com.dmdirc.interfaces.ui.ErrorsDialogModelListener;
29 29
 import com.dmdirc.logger.ErrorLevel;
30 30
 import com.dmdirc.logger.ErrorReportStatus;
31
-import com.dmdirc.logger.ProgramError;
32
-
33
-import com.google.common.base.Joiner;
31
+import com.dmdirc.ui.core.errors.DisplayableError;
34 32
 
35 33
 import java.text.SimpleDateFormat;
36 34
 import java.util.Optional;
@@ -49,7 +47,7 @@ class ErrorsDialogController implements ErrorsDialogModelListener {
49 47
 
50 48
     private final ErrorsDialogModel model;
51 49
     private JTable table;
52
-    private GenericTableModel<ProgramError> tableModel;
50
+    private GenericTableModel<DisplayableError> tableModel;
53 51
     private JTextField date;
54 52
     private JTextField severity;
55 53
     private JTextField reportStatus;
@@ -63,7 +61,7 @@ class ErrorsDialogController implements ErrorsDialogModelListener {
63 61
         this.model = model;
64 62
     }
65 63
 
66
-    public void init(final ErrorsDialog dialog, final GenericTableModel<ProgramError> tableModel,
64
+    public void init(final ErrorsDialog dialog, final GenericTableModel<DisplayableError> tableModel,
67 65
             final JTable table, final JTextField date, final JTextField severity,
68 66
             final JTextField reportStatus, final JTextArea details, final JScrollPane detailsScroll,
69 67
             final JButton deleteAll, final JButton delete, final JButton send, final JButton close) {
@@ -101,7 +99,7 @@ class ErrorsDialogController implements ErrorsDialogModelListener {
101 99
     }
102 100
 
103 101
     @Override
104
-    public void errorDeleted(final ProgramError error) {
102
+    public void errorDeleted(final DisplayableError error) {
105 103
         UIUtilities.invokeLater(() -> {
106 104
             tableModel.removeValue(error);
107 105
             checkEnabledStates();
@@ -109,7 +107,7 @@ class ErrorsDialogController implements ErrorsDialogModelListener {
109 107
     }
110 108
 
111 109
     @Override
112
-    public void errorAdded(final ProgramError error) {
110
+    public void errorAdded(final DisplayableError error) {
113 111
         UIUtilities.invokeLater(() -> {
114 112
             tableModel.addValue(error);
115 113
             checkEnabledStates();
@@ -117,7 +115,7 @@ class ErrorsDialogController implements ErrorsDialogModelListener {
117 115
     }
118 116
 
119 117
     @Override
120
-    public void selectedErrorChanged(final Optional<ProgramError> selectedError) {
118
+    public void selectedErrorChanged(final Optional<DisplayableError> selectedError) {
121 119
         if (selectedError.isPresent()) {
122 120
             final int index = tableModel.getIndex(selectedError.get());
123 121
             table.getSelectionModel().setSelectionInterval(index, index);
@@ -125,27 +123,21 @@ class ErrorsDialogController implements ErrorsDialogModelListener {
125 123
             table.getSelectionModel().setSelectionInterval(-1, -1);
126 124
         }
127 125
         UIUtilities.invokeLater(() -> {
128
-            date.setText(selectedError.map(ProgramError::getDate)
126
+            date.setText(selectedError.map(DisplayableError::getDate)
129 127
                     .map(d -> new SimpleDateFormat("MMM dd hh:mm aa").format(d)).orElse(""));
130
-            severity.setText(
131
-                    selectedError.map(ProgramError::getLevel).map(ErrorLevel::name).orElse(""));
128
+            severity.setText(selectedError.map(DisplayableError::getSeverity)
129
+                    .map(ErrorLevel::name).orElse(""));
132 130
             reportStatus.setText(
133
-                    selectedError.map(ProgramError::getReportStatus).map(ErrorReportStatus::name)
134
-                            .orElse(""));
135
-            details.setText("");
136
-            selectedError.map(ProgramError::getMessage).ifPresent(
137
-                    message -> details.append("Message: " + message + '\n'));
138
-            selectedError.map(ProgramError::getDetails).ifPresent(
139
-                    detail -> details.append("Detail: " + detail +'\n'));
140
-            selectedError.map(ProgramError::getTrace).ifPresent(
141
-                    trace -> details.append("Exception: " + Joiner.on('\n').skipNulls().join(trace)));
131
+                    selectedError.map(DisplayableError::getReportStatus)
132
+                            .map(ErrorReportStatus::name).orElse(""));
133
+            details.setText(selectedError.map(DisplayableError::getDetails).orElse(""));
142 134
             checkEnabledStates();
143 135
             UIUtilities.resetScrollPane(detailsScroll);
144 136
         });
145 137
     }
146 138
 
147 139
     @Override
148
-    public void errorStatusChanged(final ProgramError error) {
140
+    public void errorStatusChanged(final DisplayableError error) {
149 141
         UIUtilities.invokeLater(() -> {
150 142
             final int index = tableModel.getIndex(error);
151 143
             tableModel.fireTableRowsUpdated(index, index);

Loading…
Cancel
Save