Browse Source

Stop using ErrorManager.getErrorManager().

pull/154/head
Greg Holmes 9 years ago
parent
commit
a47908bd31

+ 11
- 10
ui_swing/src/com/dmdirc/addons/ui_swing/SwingManager.java View File

@@ -83,6 +83,8 @@ public class SwingManager {
83 83
     private final Provider<SwingWindowManager> swingWindowManager;
84 84
     /** Error list dialog provider. */
85 85
     private final DialogProvider<ErrorListDialog> errorListDialogProvider;
86
+    /** Error manager for error management. */
87
+    private final ErrorManager errorManager;
86 88
     /** The main frame of the Swing UI. */
87 89
     private MainFrame mainFrame;
88 90
     /** Swing UI initialiser. */
@@ -125,7 +127,8 @@ public class SwingManager {
125 127
             final TreeFrameManagerProvider treeProvider,
126 128
             final Provider<SwingWindowManager> swingWindowManager,
127 129
             final DialogProvider<ErrorListDialog> errorListDialogProvider,
128
-            final SwingUIInitialiser uiInitialiser) {
130
+            final SwingUIInitialiser uiInitialiser,
131
+            final ErrorManager errorManager) {
129 132
         this.windowFactory = windowFactory;
130 133
         this.windowManager = windowManager;
131 134
         this.menuBar = menuBar;
@@ -142,6 +145,7 @@ public class SwingManager {
142 145
         this.swingWindowManager = swingWindowManager;
143 146
         this.errorListDialogProvider = errorListDialogProvider;
144 147
         this.uiInitialiser = uiInitialiser;
148
+        this.errorManager = errorManager;
145 149
     }
146 150
 
147 151
     /**
@@ -150,10 +154,10 @@ public class SwingManager {
150 154
     public void load() {
151 155
         uiInitialiser.load();
152 156
         this.mainFrame = mainFrameProvider.get();
153
-        this.mainFrame.setMenuBar(menuBar.get());
154
-        this.mainFrame.setWindowManager(ctrlTabManager);
155
-        this.mainFrame.setStatusBar(statusBar.get());
156
-        this.mainFrame.initComponents();
157
+        mainFrame.setMenuBar(menuBar.get());
158
+        mainFrame.setWindowManager(ctrlTabManager);
159
+        mainFrame.setStatusBar(statusBar.get());
160
+        mainFrame.initComponents();
157 161
         swingEventBus.subscribe(mainFrame);
158 162
         swingEventBus.subscribe(ctrlTabManager);
159 163
 
@@ -162,17 +166,14 @@ public class SwingManager {
162 166
         eventBus.subscribe(this);
163 167
         eventBus.subscribe(mainFrame);
164 168
         eventBus.subscribe(linkHandler);
165
-        SwingUtilities.invokeLater(
166
-                () -> errorListDialogProvider.get().load(ErrorManager.getErrorManager()));
169
+        SwingUtilities.invokeLater(() -> errorListDialogProvider.get().load());
167 170
     }
168 171
 
169 172
     /**
170 173
      * Handles unloading of the UI.
171 174
      */
172 175
     public void unload() {
173
-        for (final Window window : swingWindowManager.get().getTopLevelWindows()) {
174
-            window.dispose();
175
-        }
176
+        swingWindowManager.get().getTopLevelWindows().forEach(Window::dispose);
176 177
         windowManager.removeListener(windowFactory.get());
177 178
         windowFactory.get().dispose();
178 179
         SwingUtilities.invokeLater(() -> errorListDialogProvider.get().dispose());

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

@@ -36,7 +36,6 @@ import java.awt.Window;
36 36
 import java.awt.event.ActionEvent;
37 37
 import java.awt.event.ActionListener;
38 38
 import java.awt.event.MouseEvent;
39
-import java.util.Collection;
40 39
 import java.util.List;
41 40
 
42 41
 import javax.inject.Inject;
@@ -68,7 +67,7 @@ public class ErrorPanel extends StatusbarPopupPanel<JLabel> implements
68 67
     /** The manager to use to retrieve icons. */
69 68
     private final IconManager iconManager;
70 69
     /** Error manager. */
71
-    private final transient ErrorManager errorManager = ErrorManager.getErrorManager();
70
+    private final transient ErrorManager errorManager;
72 71
     /** Dismiss menu. */
73 72
     private final JPopupMenu menu;
74 73
     /** Show menu item. */
@@ -91,13 +90,15 @@ public class ErrorPanel extends StatusbarPopupPanel<JLabel> implements
91 90
             @GlobalConfig final IconManager iconManager,
92 91
             @MainWindow final Window parentWindow,
93 92
             final Provider<SwingStatusBar> statusBar,
94
-            final DialogProvider<ErrorListDialog> errorListDialogProvider) {
93
+            final DialogProvider<ErrorListDialog> errorListDialogProvider,
94
+            final ErrorManager errorManager) {
95 95
         super(new JLabel());
96 96
 
97 97
         this.parentWindow = parentWindow;
98 98
         this.statusBar = statusBar;
99 99
         this.iconManager = iconManager;
100 100
         this.errorListDialogProvider = errorListDialogProvider;
101
+        this.errorManager = errorManager;
101 102
         defaultIcon = iconManager.getIcon("normal");
102 103
 
103 104
         menu = new JPopupMenu();
@@ -115,7 +116,7 @@ public class ErrorPanel extends StatusbarPopupPanel<JLabel> implements
115 116
 
116 117
     @Override
117 118
     protected StatusbarPopupWindow getWindow() {
118
-        return new ErrorPopup(iconManager, this, parentWindow);
119
+        return new ErrorPopup(errorManager, iconManager, this, parentWindow);
119 120
     }
120 121
 
121 122
     /** Clears the error. */
@@ -212,10 +213,7 @@ public class ErrorPanel extends StatusbarPopupPanel<JLabel> implements
212 213
         if (e.getSource() == show) {
213 214
             errorListDialogProvider.displayOrRequestFocus();
214 215
         } else {
215
-            final Collection<ProgramError> errors = ErrorManager.getErrorManager().getErrors();
216
-            for (final ProgramError error : errors) {
217
-                ErrorManager.getErrorManager().deleteError(error);
218
-            }
216
+            errorManager.getErrors().forEach(errorManager::deleteError);
219 217
         }
220 218
     }
221 219
 

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

@@ -48,26 +48,31 @@ public class ErrorPopup extends StatusbarPopupWindow {
48 48
     private static final long serialVersionUID = 1;
49 49
     /** Icon manager. */
50 50
     private final IconManager iconManager;
51
+    /** Error manager to retrieve errors from. */
52
+    private ErrorManager errorManager;
51 53
 
52 54
     /**
53 55
      * Creates a new error popup.
54 56
      *
57
+     * @param errorManager The error manager to retrieve errors from
55 58
      * @param iconManager  The manager to use to retrieve icons.
56 59
      * @param parent       Parent panel
57 60
      * @param parentWindow Parent window
58 61
      */
59 62
     public ErrorPopup(
63
+            final ErrorManager errorManager,
60 64
             final IconManager iconManager,
61 65
             final JPanel parent,
62 66
             final Window parentWindow) {
63 67
         super(parent, parentWindow);
64 68
 
69
+        this.errorManager = errorManager;
65 70
         this.iconManager = iconManager;
66 71
     }
67 72
 
68 73
     @Override
69 74
     protected void initContent(final JPanel panel) {
70
-        final List<ProgramError> errors = ErrorManager.getErrorManager().getErrors();
75
+        final List<ProgramError> errors = errorManager.getErrors();
71 76
         final MapList<ErrorLevel, ProgramError> buckets = new MapList<>();
72 77
         final MapList<ErrorReportStatus, ProgramError> statuses = new MapList<>();
73 78
 

+ 9
- 6
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/error/ErrorDetailPanel.java View File

@@ -44,6 +44,8 @@ public final class ErrorDetailPanel extends JPanel implements ErrorListener {
44 44
 
45 45
     /** A version number for this class. */
46 46
     private static final long serialVersionUID = 3;
47
+    /** The error manager to retrieve errors from. */
48
+    private final ErrorManager errorManager;
47 49
     /** Error to show. */
48 50
     private ProgramError error;
49 51
     /** ID field. */
@@ -60,17 +62,18 @@ public final class ErrorDetailPanel extends JPanel implements ErrorListener {
60 62
     private JScrollPane scrollPane;
61 63
 
62 64
     /** Creates a new instance of ErrorDetailPanel. */
63
-    public ErrorDetailPanel() {
64
-        this(null);
65
+    public ErrorDetailPanel(final ErrorManager errorManager) {
66
+        this(errorManager, null);
65 67
     }
66 68
 
67 69
     /**
68 70
      * Creates a new instance of ErrorDetailPanel.
69 71
      *
70
-     * @param error Error to be displayed
72
+     * @param errorManager The error manager to retrieve errors from
73
+     * @param error        Error to be displayed
71 74
      */
72
-    public ErrorDetailPanel(final ProgramError error) {
73
-
75
+    public ErrorDetailPanel(final ErrorManager errorManager, final ProgramError error) {
76
+        this.errorManager = errorManager;
74 77
         this.error = error;
75 78
 
76 79
         initComponents();
@@ -107,7 +110,7 @@ public final class ErrorDetailPanel extends JPanel implements ErrorListener {
107 110
         details.setRows(5);
108 111
         details.setWrapStyleWord(true);
109 112
 
110
-        ErrorManager.getErrorManager().addErrorListener(this);
113
+        errorManager.addErrorListener(this);
111 114
     }
112 115
 
113 116
     /** Updates the panels details. */

+ 15
- 15
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/error/ErrorListDialog.java View File

@@ -61,6 +61,8 @@ public final class ErrorListDialog extends StandardDialog implements
61 61
     private final Object selectionLock = new Object();
62 62
     /** Table model. */
63 63
     private final ErrorTableModel tableModel;
64
+    /** Error manager to retrieve errors from. */
65
+    private final ErrorManager errorManager;
64 66
     /** Table scrollpane. */
65 67
     private JScrollPane scrollPane;
66 68
     /** Error table. */
@@ -86,16 +88,18 @@ public final class ErrorListDialog extends StandardDialog implements
86 88
      */
87 89
     @Inject
88 90
     public ErrorListDialog(
91
+            final ErrorManager errorManager,
89 92
             @MainWindow final Window parentWindow,
90 93
             @GlobalConfig final IconManager iconManager) {
91 94
         super(parentWindow, ModalityType.MODELESS);
95
+        this.errorManager = errorManager;
92 96
 
93 97
         setTitle("Error list");
94 98
         setMinimumSize(new Dimension(600, 550));
95 99
 
96
-        tableModel = new ErrorTableModel();
100
+        tableModel = new ErrorTableModel(errorManager);
97 101
 
98
-        initComponents(iconManager);
102
+        initComponents(errorManager, iconManager);
99 103
         layoutComponents();
100 104
         initListeners();
101 105
 
@@ -104,15 +108,13 @@ public final class ErrorListDialog extends StandardDialog implements
104 108
 
105 109
     /**
106 110
      * Loads the dialog and sets it as ready.
107
-     *
108
-     * @param errorManager Error manager to register with.
109 111
      */
110
-    public void load(final ErrorManager errorManager) {
111
-        tableModel.load(errorManager);
112
+    public void load() {
113
+        tableModel.load();
112 114
     }
113 115
 
114 116
     /** Initialises the components. */
115
-    private void initComponents(final IconManager iconManager) {
117
+    private void initComponents(final ErrorManager errorManager, final IconManager iconManager) {
116 118
         initButtons();
117 119
 
118 120
         scrollPane = new JScrollPane();
@@ -124,7 +126,7 @@ public final class ErrorListDialog extends StandardDialog implements
124 126
 
125 127
         scrollPane.setViewportView(table);
126 128
 
127
-        errorDetails = new ErrorDetailPanel();
129
+        errorDetails = new ErrorDetailPanel(errorManager);
128 130
     }
129 131
 
130 132
     /** Initialises the buttons. */
@@ -228,18 +230,16 @@ public final class ErrorListDialog extends StandardDialog implements
228 230
             setVisible(false);
229 231
         } else if (e.getSource() == deleteButton) {
230 232
             synchronized (selectionLock) {
231
-                ErrorManager.getErrorManager().deleteError(tableModel.getError(
232
-                        table.getRowSorter().convertRowIndexToModel(
233
-                                table.getSelectedRow())));
233
+                errorManager.deleteError(tableModel.getError(
234
+                        table.getRowSorter().convertRowIndexToModel(table.getSelectedRow())));
234 235
             }
235 236
         } else if (e.getSource() == sendButton) {
236 237
             synchronized (selectionLock) {
237
-                ErrorManager.getErrorManager().sendError(tableModel.getError(
238
-                        table.getRowSorter().convertRowIndexToModel(
239
-                                table.getSelectedRow())));
238
+                errorManager.sendError(tableModel.getError(
239
+                        table.getRowSorter().convertRowIndexToModel(table.getSelectedRow())));
240 240
             }
241 241
         } else if (e.getSource() == deleteAllButton) {
242
-            ErrorManager.getErrorManager().deleteAll();
242
+            errorManager.deleteAll();
243 243
         }
244 244
     }
245 245
 

+ 9
- 5
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/error/ErrorTableModel.java View File

@@ -30,6 +30,7 @@ import com.dmdirc.logger.ErrorReportStatus;
30 30
 import com.dmdirc.logger.ProgramError;
31 31
 
32 32
 import java.util.ArrayList;
33
+import java.util.Collection;
33 34
 import java.util.Collections;
34 35
 import java.util.List;
35 36
 
@@ -44,17 +45,20 @@ public final class ErrorTableModel extends AbstractTableModel implements ErrorLi
44 45
     private static final long serialVersionUID = 2;
45 46
     /** Data list. */
46 47
     private final List<ProgramError> errors;
48
+    /** Error manager to add listeners to. */
49
+    private final ErrorManager errorManager;
47 50
     /** Are we ready? */
48 51
     private boolean ready;
49 52
 
50 53
     /**
51 54
      * Creates a new instance of ErrorTableModel.
52 55
      */
53
-    public ErrorTableModel() {
56
+    public ErrorTableModel(final ErrorManager errorManager) {
54 57
         this.errors = Collections.synchronizedList(new ArrayList<>());
58
+        this.errorManager = errorManager;
55 59
     }
56 60
 
57
-    public void load(final ErrorManager errorManager) {
61
+    public void load() {
58 62
         errorManager.addErrorListener(this);
59 63
         setErrors(errorManager.getErrors());
60 64
         ready = true;
@@ -65,7 +69,7 @@ public final class ErrorTableModel extends AbstractTableModel implements ErrorLi
65 69
      *
66 70
      * @param errors List of errors
67 71
      */
68
-    public void setErrors(final List<ProgramError> errors) {
72
+    public void setErrors(final Collection<ProgramError> errors) {
69 73
         synchronized (this.errors) {
70 74
             this.errors.clear();
71 75
             this.errors.addAll(errors);
@@ -76,7 +80,7 @@ public final class ErrorTableModel extends AbstractTableModel implements ErrorLi
76 80
 
77 81
     @Override
78 82
     public int getRowCount() {
79
-        synchronized (this.errors) {
83
+        synchronized (errors) {
80 84
             return errors.size();
81 85
         }
82 86
     }
@@ -265,7 +269,7 @@ public final class ErrorTableModel extends AbstractTableModel implements ErrorLi
265 269
      * Disposes of this model, removing any added listeners.
266 270
      */
267 271
     public void dispose() {
268
-        ErrorManager.getErrorManager().removeErrorListener(this);
272
+        errorManager.removeErrorListener(this);
269 273
         ready = false;
270 274
     }
271 275
 

Loading…
Cancel
Save