|
@@ -27,7 +27,9 @@ import com.dmdirc.logger.ErrorLevel;
|
27
|
27
|
import com.dmdirc.logger.ErrorReportStatus;
|
28
|
28
|
import com.dmdirc.ui.core.errors.CoreErrorsDialogModel;
|
29
|
29
|
import com.dmdirc.ui.core.errors.DisplayableError;
|
30
|
|
-import com.dmdirc.util.collections.MapList;
|
|
30
|
+
|
|
31
|
+import com.google.common.collect.HashMultimap;
|
|
32
|
+import com.google.common.collect.Multimap;
|
31
|
33
|
|
32
|
34
|
import java.awt.Font;
|
33
|
35
|
import java.awt.Window;
|
|
@@ -74,16 +76,13 @@ public class ErrorPopup extends StatusbarPopupWindow {
|
74
|
76
|
@Override
|
75
|
77
|
protected void initContent(final JPanel panel) {
|
76
|
78
|
final Set<DisplayableError> errors = model.getErrors();
|
77
|
|
- final MapList<ErrorLevel, DisplayableError> buckets = new MapList<>();
|
78
|
|
- final MapList<ErrorReportStatus, DisplayableError> statuses = new MapList<>();
|
|
79
|
+ final Multimap<ErrorLevel, DisplayableError> buckets = HashMultimap.create();
|
|
80
|
+ final Multimap<ErrorReportStatus, DisplayableError> statuses = HashMultimap.create();
|
79
|
81
|
|
80
|
|
- errors.stream()
|
81
|
|
- .filter(e -> !buckets.containsValue(e.getSeverity(), e))
|
82
|
|
- .filter(e -> !statuses.containsValue(e.getReportStatus(), e))
|
83
|
|
- .forEach(error -> {
|
84
|
|
- buckets.add(error.getSeverity(), error);
|
85
|
|
- statuses.add(error.getReportStatus(), error);
|
86
|
|
- });
|
|
82
|
+ for (final DisplayableError error : errors) {
|
|
83
|
+ buckets.put(error.getSeverity(), error);
|
|
84
|
+ statuses.put(error.getReportStatus(), error);
|
|
85
|
+ }
|
87
|
86
|
|
88
|
87
|
JLabel header = new JLabel("Severity");
|
89
|
88
|
header.setFont(header.getFont().deriveFont(Font.BOLD));
|
|
@@ -95,7 +94,7 @@ public class ErrorPopup extends StatusbarPopupWindow {
|
95
|
94
|
|
96
|
95
|
for (final ErrorLevel level : ErrorLevel.values()) {
|
97
|
96
|
if (buckets.containsKey(level)) {
|
98
|
|
- final int count = buckets.values(level).size();
|
|
97
|
+ final int count = buckets.get(level).size();
|
99
|
98
|
|
100
|
99
|
panel.add(new JLabel(level.toString(), iconManager.getIcon(
|
101
|
100
|
level.getIcon()), SwingConstants.LEFT));
|
|
@@ -116,7 +115,7 @@ public class ErrorPopup extends StatusbarPopupWindow {
|
116
|
115
|
|
117
|
116
|
for (final ErrorReportStatus status : ErrorReportStatus.values()) {
|
118
|
117
|
if (statuses.containsKey(status)) {
|
119
|
|
- final int count = statuses.values(status).size();
|
|
118
|
+ final int count = statuses.get(status).size();
|
120
|
119
|
|
121
|
120
|
panel.add(new JLabel(status.toString(), SwingConstants.LEFT));
|
122
|
121
|
panel.add(new JLabel(String.valueOf(count), SwingConstants.RIGHT),
|