瀏覽代碼

Add factory for SSL Cert dialog.

Remove some dependencies from TextFrameDependencies.
pull/276/head
Chris Smith 9 年之前
父節點
當前提交
e7d8b071bf

+ 6
- 13
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ServerFrame.java 查看文件

@@ -27,16 +27,13 @@ import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
27 27
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
28 28
 import com.dmdirc.addons.ui_swing.dialogs.serversetting.ServerSettingsDialog;
29 29
 import com.dmdirc.addons.ui_swing.dialogs.sslcertificate.SSLCertificateDialog;
30
+import com.dmdirc.addons.ui_swing.dialogs.sslcertificate.SSLCertificateDialogFactory;
30 31
 import com.dmdirc.addons.ui_swing.injection.KeyedDialogProvider;
31 32
 import com.dmdirc.commandparser.PopupType;
32 33
 import com.dmdirc.events.FrameClosingEvent;
33 34
 import com.dmdirc.events.ServerCertificateProblemEncounteredEvent;
34 35
 import com.dmdirc.events.ServerCertificateProblemResolvedEvent;
35 36
 import com.dmdirc.interfaces.Connection;
36
-import com.dmdirc.ui.IconManager;
37
-import com.dmdirc.ui.core.dialogs.sslcertificate.SSLCertificateDialogModel;
38
-
39
-import java.awt.Window;
40 37
 
41 38
 import javax.inject.Provider;
42 39
 import javax.swing.JMenuItem;
@@ -53,10 +50,6 @@ public final class ServerFrame extends InputTextFrame {
53 50
 
54 51
     /** Serial version UID. */
55 52
     private static final long serialVersionUID = 9;
56
-    /** Main window provider. */
57
-    private final Provider<Window> mainWindow;
58
-    /** Icon manager. */
59
-    private final IconManager iconManager;
60 53
     /** Dialog provider to close SSD. */
61 54
     private final KeyedDialogProvider<Connection, ServerSettingsDialog> dialogProvider;
62 55
     /** popup menu item. */
@@ -65,6 +58,8 @@ public final class ServerFrame extends InputTextFrame {
65 58
     private SSLCertificateDialog sslDialog;
66 59
     /** Server instance. */
67 60
     private final Connection connection;
61
+    /** Factory to use to create SSL certificate dialogs. */
62
+    private final SSLCertificateDialogFactory sslDialogFactory;
68 63
 
69 64
     /**
70 65
      * Creates a new ServerFrame.
@@ -79,10 +74,10 @@ public final class ServerFrame extends InputTextFrame {
79 74
             final Provider<SwingInputField> inputFieldProvider,
80 75
             final InputTextFramePasteActionFactory inputTextFramePasteActionFactory,
81 76
             final KeyedDialogProvider<Connection, ServerSettingsDialog> dialogProvider,
77
+            final SSLCertificateDialogFactory sslDialogFactory,
82 78
             final Connection owner) {
83 79
         super(deps, inputFieldProvider, inputTextFramePasteActionFactory, owner.getWindowModel());
84
-        this.mainWindow = deps.mainWindow;
85
-        this.iconManager = deps.iconManager;
80
+        this.sslDialogFactory = sslDialogFactory;
86 81
         this.dialogProvider = dialogProvider;
87 82
         this.connection = owner;
88 83
         initComponents();
@@ -151,9 +146,7 @@ public final class ServerFrame extends InputTextFrame {
151 146
             sslDialog.dispose();
152 147
         }
153 148
 
154
-        sslDialog = new SSLCertificateDialog(iconManager, mainWindow.get(),
155
-                new SSLCertificateDialogModel(event.getCertificateChain(), event.getProblems(),
156
-                        event.getCertificateManager()));
149
+        sslDialog = sslDialogFactory.create(event);
157 150
         sslDialog.display();
158 151
     }
159 152
 

+ 7
- 3
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ServerFrameFactory.java 查看文件

@@ -27,6 +27,7 @@ import com.dmdirc.FrameContainer;
27 27
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
28 28
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
29 29
 import com.dmdirc.addons.ui_swing.dialogs.serversetting.ServerSettingsDialog;
30
+import com.dmdirc.addons.ui_swing.dialogs.sslcertificate.SSLCertificateDialogFactory;
30 31
 import com.dmdirc.addons.ui_swing.injection.KeyedDialogProvider;
31 32
 import com.dmdirc.interfaces.Connection;
32 33
 import com.dmdirc.ui.core.components.WindowComponent;
@@ -52,6 +53,7 @@ public class ServerFrameFactory implements SwingWindowFactory.WindowProvider {
52 53
     private final Provider<KeyedDialogProvider<Connection, ServerSettingsDialog>> dialogProvider;
53 54
     private final DMDircMBassador eventBus;
54 55
     private final InputTextFramePasteActionFactory inputTextFramePasteActionFactory;
56
+    private final SSLCertificateDialogFactory sslCertificateDialogFactory;
55 57
 
56 58
     @Inject
57 59
     public ServerFrameFactory(
@@ -59,19 +61,21 @@ public class ServerFrameFactory implements SwingWindowFactory.WindowProvider {
59 61
             final Provider<TextFrameDependencies> dependencies,
60 62
             final Provider<SwingInputField> inputFieldProvider,
61 63
             final InputTextFramePasteActionFactory inputTextFramePasteActionFactory,
62
-            final Provider<KeyedDialogProvider<Connection, ServerSettingsDialog>> dialogProvider) {
64
+            final Provider<KeyedDialogProvider<Connection, ServerSettingsDialog>> dialogProvider,
65
+            final SSLCertificateDialogFactory sslCertificateDialogFactory) {
63 66
         this.eventBus = eventBus;
64 67
         this.dependencies = dependencies;
65 68
         this.inputFieldProvider = inputFieldProvider;
66 69
         this.dialogProvider = dialogProvider;
67 70
         this.inputTextFramePasteActionFactory = inputTextFramePasteActionFactory;
71
+        this.sslCertificateDialogFactory = sslCertificateDialogFactory;
68 72
     }
69 73
 
70 74
     @Override
71 75
     public TextFrame getWindow(final FrameContainer container) {
72 76
         final ServerFrame frame =  new ServerFrame(dependencies.get(), inputFieldProvider,
73
-                inputTextFramePasteActionFactory, dialogProvider.get(), container.getConnection()
74
-                .get());
77
+                inputTextFramePasteActionFactory, dialogProvider.get(),
78
+                sslCertificateDialogFactory, container.getConnection().get());
75 79
         eventBus.subscribe(frame);
76 80
         return frame;
77 81
     }

+ 0
- 8
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/TextFrame.java 查看文件

@@ -35,7 +35,6 @@ import com.dmdirc.addons.ui_swing.components.SwingSearchBarFactory;
35 35
 import com.dmdirc.addons.ui_swing.dialogs.paste.PasteDialogFactory;
36 36
 import com.dmdirc.addons.ui_swing.events.SwingActiveWindowChangeRequestEvent;
37 37
 import com.dmdirc.addons.ui_swing.events.SwingEventBus;
38
-import com.dmdirc.addons.ui_swing.injection.MainWindow;
39 38
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
40 39
 import com.dmdirc.addons.ui_swing.textpane.ClickTypeValue;
41 40
 import com.dmdirc.addons.ui_swing.textpane.MouseEventType;
@@ -76,7 +75,6 @@ import java.awt.event.WindowEvent;
76 75
 import java.util.Optional;
77 76
 
78 77
 import javax.inject.Inject;
79
-import javax.inject.Provider;
80 78
 import javax.swing.JComponent;
81 79
 import javax.swing.JMenu;
82 80
 import javax.swing.JMenuItem;
@@ -520,13 +518,11 @@ public abstract class TextFrame extends JPanel implements Window, TextPaneListen
520 518
 
521 519
         final TextPaneFactory textPaneFactory;
522 520
         final SwingController controller;
523
-        final Provider<java.awt.Window> mainWindow;
524 521
         final PopupManager popupManager;
525 522
         final DMDircMBassador eventBus;
526 523
         final AggregateConfigProvider globalConfig;
527 524
         final PasteDialogFactory pasteDialog;
528 525
         final ServiceManager serviceManager;
529
-        final IconManager iconManager;
530 526
         final ActiveFrameManager activeFrameManager;
531 527
         final Clipboard clipboard;
532 528
         final CommandController commandController;
@@ -539,12 +535,10 @@ public abstract class TextFrame extends JPanel implements Window, TextPaneListen
539 535
         public TextFrameDependencies(
540 536
                 final TextPaneFactory textPaneFactory,
541 537
                 final SwingController controller,
542
-                @MainWindow final Provider<java.awt.Window> mainWindow,
543 538
                 final PopupManager popupManager,
544 539
                 final DMDircMBassador eventBus,
545 540
                 final PasteDialogFactory pasteDialog,
546 541
                 final ServiceManager serviceManager,
547
-                @GlobalConfig final IconManager iconManager,
548 542
                 @GlobalConfig final AggregateConfigProvider globalConfig,
549 543
                 final ActiveFrameManager activeFrameManager,
550 544
                 final Clipboard clipboard,
@@ -555,13 +549,11 @@ public abstract class TextFrame extends JPanel implements Window, TextPaneListen
555 549
                 final SwingSearchBarFactory searchBarFactory) {
556 550
             this.textPaneFactory = textPaneFactory;
557 551
             this.controller = controller;
558
-            this.mainWindow = mainWindow;
559 552
             this.popupManager = popupManager;
560 553
             this.eventBus = eventBus;
561 554
             this.globalConfig = globalConfig;
562 555
             this.pasteDialog = pasteDialog;
563 556
             this.serviceManager = serviceManager;
564
-            this.iconManager = iconManager;
565 557
             this.activeFrameManager = activeFrameManager;
566 558
             this.clipboard = clipboard;
567 559
             this.commandController = commandController;

+ 59
- 0
ui_swing/src/com/dmdirc/addons/ui_swing/dialogs/sslcertificate/SSLCertificateDialogFactory.java 查看文件

@@ -0,0 +1,59 @@
1
+/*
2
+ * Copyright (c) 2006-2015 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.addons.ui_swing.dialogs.sslcertificate;
24
+
25
+import com.dmdirc.addons.ui_swing.injection.MainWindow;
26
+import com.dmdirc.events.ServerCertificateProblemEncounteredEvent;
27
+import com.dmdirc.ui.IconManager;
28
+import com.dmdirc.ui.core.dialogs.sslcertificate.SSLCertificateDialogModel;
29
+
30
+import java.awt.Window;
31
+
32
+import javax.inject.Inject;
33
+import javax.inject.Provider;
34
+import javax.inject.Singleton;
35
+
36
+/**
37
+ * Factory for {@link SSLCertificateDialog}s.
38
+ */
39
+@Singleton
40
+public class SSLCertificateDialogFactory {
41
+
42
+    private final IconManager iconManager;
43
+    private final Provider<Window> mainWindowProvider;
44
+
45
+    @Inject
46
+    public SSLCertificateDialogFactory(
47
+            final IconManager iconManager,
48
+            @MainWindow final Provider<Window> mainWindowProvider) {
49
+        this.iconManager = iconManager;
50
+        this.mainWindowProvider = mainWindowProvider;
51
+    }
52
+
53
+    public SSLCertificateDialog create(final ServerCertificateProblemEncounteredEvent event) {
54
+        return new SSLCertificateDialog(iconManager, mainWindowProvider.get(),
55
+                new SSLCertificateDialogModel(event.getCertificateChain(), event.getProblems(),
56
+                        event.getCertificateManager()));
57
+    }
58
+
59
+}

Loading…
取消
儲存