Parcourir la source

Stop using ErrorManager.getErrorManager().

pull/154/head
Greg Holmes il y a 9 ans
Parent
révision
a47908bd31

+ 11
- 10
ui_swing/src/com/dmdirc/addons/ui_swing/SwingManager.java Voir le fichier

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

+ 6
- 8
ui_swing/src/com/dmdirc/addons/ui_swing/components/statusbar/ErrorPanel.java Voir le fichier

36
 import java.awt.event.ActionEvent;
36
 import java.awt.event.ActionEvent;
37
 import java.awt.event.ActionListener;
37
 import java.awt.event.ActionListener;
38
 import java.awt.event.MouseEvent;
38
 import java.awt.event.MouseEvent;
39
-import java.util.Collection;
40
 import java.util.List;
39
 import java.util.List;
41
 
40
 
42
 import javax.inject.Inject;
41
 import javax.inject.Inject;
68
     /** The manager to use to retrieve icons. */
67
     /** The manager to use to retrieve icons. */
69
     private final IconManager iconManager;
68
     private final IconManager iconManager;
70
     /** Error manager. */
69
     /** Error manager. */
71
-    private final transient ErrorManager errorManager = ErrorManager.getErrorManager();
70
+    private final transient ErrorManager errorManager;
72
     /** Dismiss menu. */
71
     /** Dismiss menu. */
73
     private final JPopupMenu menu;
72
     private final JPopupMenu menu;
74
     /** Show menu item. */
73
     /** Show menu item. */
91
             @GlobalConfig final IconManager iconManager,
90
             @GlobalConfig final IconManager iconManager,
92
             @MainWindow final Window parentWindow,
91
             @MainWindow final Window parentWindow,
93
             final Provider<SwingStatusBar> statusBar,
92
             final Provider<SwingStatusBar> statusBar,
94
-            final DialogProvider<ErrorListDialog> errorListDialogProvider) {
93
+            final DialogProvider<ErrorListDialog> errorListDialogProvider,
94
+            final ErrorManager errorManager) {
95
         super(new JLabel());
95
         super(new JLabel());
96
 
96
 
97
         this.parentWindow = parentWindow;
97
         this.parentWindow = parentWindow;
98
         this.statusBar = statusBar;
98
         this.statusBar = statusBar;
99
         this.iconManager = iconManager;
99
         this.iconManager = iconManager;
100
         this.errorListDialogProvider = errorListDialogProvider;
100
         this.errorListDialogProvider = errorListDialogProvider;
101
+        this.errorManager = errorManager;
101
         defaultIcon = iconManager.getIcon("normal");
102
         defaultIcon = iconManager.getIcon("normal");
102
 
103
 
103
         menu = new JPopupMenu();
104
         menu = new JPopupMenu();
115
 
116
 
116
     @Override
117
     @Override
117
     protected StatusbarPopupWindow getWindow() {
118
     protected StatusbarPopupWindow getWindow() {
118
-        return new ErrorPopup(iconManager, this, parentWindow);
119
+        return new ErrorPopup(errorManager, iconManager, this, parentWindow);
119
     }
120
     }
120
 
121
 
121
     /** Clears the error. */
122
     /** Clears the error. */
212
         if (e.getSource() == show) {
213
         if (e.getSource() == show) {
213
             errorListDialogProvider.displayOrRequestFocus();
214
             errorListDialogProvider.displayOrRequestFocus();
214
         } else {
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 Voir le fichier

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

+ 9
- 6
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/error/ErrorDetailPanel.java Voir le fichier

44
 
44
 
45
     /** A version number for this class. */
45
     /** A version number for this class. */
46
     private static final long serialVersionUID = 3;
46
     private static final long serialVersionUID = 3;
47
+    /** The error manager to retrieve errors from. */
48
+    private final ErrorManager errorManager;
47
     /** Error to show. */
49
     /** Error to show. */
48
     private ProgramError error;
50
     private ProgramError error;
49
     /** ID field. */
51
     /** ID field. */
60
     private JScrollPane scrollPane;
62
     private JScrollPane scrollPane;
61
 
63
 
62
     /** Creates a new instance of ErrorDetailPanel. */
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
      * Creates a new instance of ErrorDetailPanel.
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
         this.error = error;
77
         this.error = error;
75
 
78
 
76
         initComponents();
79
         initComponents();
107
         details.setRows(5);
110
         details.setRows(5);
108
         details.setWrapStyleWord(true);
111
         details.setWrapStyleWord(true);
109
 
112
 
110
-        ErrorManager.getErrorManager().addErrorListener(this);
113
+        errorManager.addErrorListener(this);
111
     }
114
     }
112
 
115
 
113
     /** Updates the panels details. */
116
     /** Updates the panels details. */

+ 15
- 15
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/error/ErrorListDialog.java Voir le fichier

61
     private final Object selectionLock = new Object();
61
     private final Object selectionLock = new Object();
62
     /** Table model. */
62
     /** Table model. */
63
     private final ErrorTableModel tableModel;
63
     private final ErrorTableModel tableModel;
64
+    /** Error manager to retrieve errors from. */
65
+    private final ErrorManager errorManager;
64
     /** Table scrollpane. */
66
     /** Table scrollpane. */
65
     private JScrollPane scrollPane;
67
     private JScrollPane scrollPane;
66
     /** Error table. */
68
     /** Error table. */
86
      */
88
      */
87
     @Inject
89
     @Inject
88
     public ErrorListDialog(
90
     public ErrorListDialog(
91
+            final ErrorManager errorManager,
89
             @MainWindow final Window parentWindow,
92
             @MainWindow final Window parentWindow,
90
             @GlobalConfig final IconManager iconManager) {
93
             @GlobalConfig final IconManager iconManager) {
91
         super(parentWindow, ModalityType.MODELESS);
94
         super(parentWindow, ModalityType.MODELESS);
95
+        this.errorManager = errorManager;
92
 
96
 
93
         setTitle("Error list");
97
         setTitle("Error list");
94
         setMinimumSize(new Dimension(600, 550));
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
         layoutComponents();
103
         layoutComponents();
100
         initListeners();
104
         initListeners();
101
 
105
 
104
 
108
 
105
     /**
109
     /**
106
      * Loads the dialog and sets it as ready.
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
     /** Initialises the components. */
116
     /** Initialises the components. */
115
-    private void initComponents(final IconManager iconManager) {
117
+    private void initComponents(final ErrorManager errorManager, final IconManager iconManager) {
116
         initButtons();
118
         initButtons();
117
 
119
 
118
         scrollPane = new JScrollPane();
120
         scrollPane = new JScrollPane();
124
 
126
 
125
         scrollPane.setViewportView(table);
127
         scrollPane.setViewportView(table);
126
 
128
 
127
-        errorDetails = new ErrorDetailPanel();
129
+        errorDetails = new ErrorDetailPanel(errorManager);
128
     }
130
     }
129
 
131
 
130
     /** Initialises the buttons. */
132
     /** Initialises the buttons. */
228
             setVisible(false);
230
             setVisible(false);
229
         } else if (e.getSource() == deleteButton) {
231
         } else if (e.getSource() == deleteButton) {
230
             synchronized (selectionLock) {
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
         } else if (e.getSource() == sendButton) {
236
         } else if (e.getSource() == sendButton) {
236
             synchronized (selectionLock) {
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
         } else if (e.getSource() == deleteAllButton) {
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 Voir le fichier

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

Chargement…
Annuler
Enregistrer