Browse Source

MBassador.

Change-Id: I2cf35d5859c85c3609002f126241536fda5d588e
Depends-On: I2baa7e986ded54930093768238ed24cab8cf4bf7
Reviewed-on: http://gerrit.dmdirc.com/3770
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
changes/70/3770/5
Greg Holmes 9 years ago
parent
commit
87c12df5c0
100 changed files with 545 additions and 541 deletions
  1. 1
    0
      ivy.xml
  2. 8
    8
      src/com/dmdirc/addons/contactlist/ContactListListener.java
  3. 3
    3
      src/com/dmdirc/addons/dcc/ChatContainer.java
  4. 6
    6
      src/com/dmdirc/addons/dcc/DCCCommand.java
  5. 2
    2
      src/com/dmdirc/addons/dcc/DCCCommandParser.java
  6. 2
    2
      src/com/dmdirc/addons/dcc/DCCFrameContainer.java
  7. 12
    12
      src/com/dmdirc/addons/dcc/DCCManager.java
  8. 2
    2
      src/com/dmdirc/addons/dcc/PlaceholderContainer.java
  9. 7
    7
      src/com/dmdirc/addons/dcc/TransferContainer.java
  10. 7
    7
      src/com/dmdirc/addons/dcc/ui/TransferPanel.java
  11. 11
    11
      src/com/dmdirc/addons/debug/commands/EventBusViewer.java
  12. 6
    6
      src/com/dmdirc/addons/debug/commands/FakeError.java
  13. 5
    5
      src/com/dmdirc/addons/debug/commands/FirstRun.java
  14. 3
    3
      src/com/dmdirc/addons/debug/commands/ForceUpdate.java
  15. 5
    5
      src/com/dmdirc/addons/exec/ExecCommand.java
  16. 5
    4
      src/com/dmdirc/addons/freedesktop_notifications/FDManager.java
  17. 5
    5
      src/com/dmdirc/addons/identd/IdentClient.java
  18. 10
    10
      src/com/dmdirc/addons/identd/IdentdManager.java
  19. 6
    6
      src/com/dmdirc/addons/identd/IdentdServer.java
  20. 12
    12
      src/com/dmdirc/addons/lagdisplay/LagDisplayManager.java
  21. 2
    2
      src/com/dmdirc/addons/logging/HistoryWindow.java
  22. 31
    32
      src/com/dmdirc/addons/logging/LoggingManager.java
  23. 5
    5
      src/com/dmdirc/addons/mediasource_dbus/DBusMediaSourceManager.java
  24. 6
    6
      src/com/dmdirc/addons/mediasource_linux_title/TitleMediaSource.java
  25. 3
    3
      src/com/dmdirc/addons/mediasource_linux_title/TitleMediaSourceManager.java
  26. 9
    9
      src/com/dmdirc/addons/nickcolours/NickColourManager.java
  27. 9
    9
      src/com/dmdirc/addons/notifications/NotificationsManager.java
  28. 9
    9
      src/com/dmdirc/addons/nowplaying/NowPlayingManager.java
  29. 2
    2
      src/com/dmdirc/addons/parserdebug/DebugWindow.java
  30. 8
    8
      src/com/dmdirc/addons/parserdebug/ParserDebugManager.java
  31. 2
    2
      src/com/dmdirc/addons/redirect/FakeWriteableFrameContainer.java
  32. 3
    3
      src/com/dmdirc/addons/redirect/RedirectCommand.java
  33. 3
    3
      src/com/dmdirc/addons/scriptplugin/ScriptCommand.java
  34. 6
    5
      src/com/dmdirc/addons/scriptplugin/ScriptEngineWrapper.java
  35. 5
    5
      src/com/dmdirc/addons/scriptplugin/ScriptManager.java
  36. 10
    10
      src/com/dmdirc/addons/scriptplugin/ScriptPluginManager.java
  37. 2
    3
      src/com/dmdirc/addons/serverlists/ServerList.java
  38. 3
    3
      src/com/dmdirc/addons/serverlists/service/ServerListServiceProvider.java
  39. 8
    8
      src/com/dmdirc/addons/systray/SystrayManager.java
  40. 3
    3
      src/com/dmdirc/addons/time/TimedCommand.java
  41. 3
    3
      src/com/dmdirc/addons/time/TimerManager.java
  42. 9
    9
      src/com/dmdirc/addons/ui_swing/Apple.java
  43. 6
    6
      src/com/dmdirc/addons/ui_swing/DMDircEventQueue.java
  44. 12
    12
      src/com/dmdirc/addons/ui_swing/MainFrame.java
  45. 3
    3
      src/com/dmdirc/addons/ui_swing/PrefsComponentFactory.java
  46. 5
    5
      src/com/dmdirc/addons/ui_swing/QuitWorker.java
  47. 4
    4
      src/com/dmdirc/addons/ui_swing/SwingLinkHandler.java
  48. 20
    20
      src/com/dmdirc/addons/ui_swing/SwingManager.java
  49. 5
    5
      src/com/dmdirc/addons/ui_swing/SwingUIInitialiser.java
  50. 9
    8
      src/com/dmdirc/addons/ui_swing/SwingWindowFactory.java
  51. 2
    2
      src/com/dmdirc/addons/ui_swing/UIUtilities.java
  52. 5
    5
      src/com/dmdirc/addons/ui_swing/actions/RedoAction.java
  53. 6
    6
      src/com/dmdirc/addons/ui_swing/actions/ReplacePasteAction.java
  54. 5
    5
      src/com/dmdirc/addons/ui_swing/actions/UndoAction.java
  55. 4
    4
      src/com/dmdirc/addons/ui_swing/components/FontPicker.java
  56. 5
    5
      src/com/dmdirc/addons/ui_swing/components/LoggingSwingWorker.java
  57. 7
    7
      src/com/dmdirc/addons/ui_swing/components/MDIBar.java
  58. 2
    2
      src/com/dmdirc/addons/ui_swing/components/TopicBar.java
  59. 3
    3
      src/com/dmdirc/addons/ui_swing/components/TopicBarFactory.java
  60. 5
    5
      src/com/dmdirc/addons/ui_swing/components/addonbrowser/DataLoaderWorker.java
  61. 3
    3
      src/com/dmdirc/addons/ui_swing/components/addonbrowser/DataLoaderWorkerFactory.java
  62. 2
    2
      src/com/dmdirc/addons/ui_swing/components/addonbrowser/InstallWorker.java
  63. 3
    3
      src/com/dmdirc/addons/ui_swing/components/addonbrowser/InstallWorkerFactory.java
  64. 3
    3
      src/com/dmdirc/addons/ui_swing/components/addonpanel/AddonPanel.java
  65. 6
    6
      src/com/dmdirc/addons/ui_swing/components/addonpanel/PluginPanel.java
  66. 2
    2
      src/com/dmdirc/addons/ui_swing/components/addonpanel/ThemePanel.java
  67. 7
    7
      src/com/dmdirc/addons/ui_swing/components/frames/ChannelFrame.java
  68. 4
    4
      src/com/dmdirc/addons/ui_swing/components/frames/ComponentCreator.java
  69. 3
    3
      src/com/dmdirc/addons/ui_swing/components/frames/ComponentFrame.java
  70. 3
    3
      src/com/dmdirc/addons/ui_swing/components/frames/ComponentFrameFactory.java
  71. 3
    3
      src/com/dmdirc/addons/ui_swing/components/frames/ComponentInputFrame.java
  72. 3
    3
      src/com/dmdirc/addons/ui_swing/components/frames/DesktopWindowFrame.java
  73. 6
    6
      src/com/dmdirc/addons/ui_swing/components/frames/InputTextFrame.java
  74. 10
    10
      src/com/dmdirc/addons/ui_swing/components/frames/TextFrame.java
  75. 3
    3
      src/com/dmdirc/addons/ui_swing/components/inputfields/SwingInputHandler.java
  76. 7
    7
      src/com/dmdirc/addons/ui_swing/components/statusbar/InviteLabel.java
  77. 7
    7
      src/com/dmdirc/addons/ui_swing/components/text/WrapEditorKit.java
  78. 2
    2
      src/com/dmdirc/addons/ui_swing/dialogs/about/LicenceLoader.java
  79. 2
    2
      src/com/dmdirc/addons/ui_swing/dialogs/about/LicencesPanel.java
  80. 9
    9
      src/com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog.java
  81. 2
    2
      src/com/dmdirc/addons/ui_swing/dialogs/aliases/AliasManagerDialog.java
  82. 3
    3
      src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/ChannelSettingsDialog.java
  83. 3
    3
      src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicDisplayPane.java
  84. 3
    3
      src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicPane.java
  85. 3
    3
      src/com/dmdirc/addons/ui_swing/dialogs/paste/PasteDialog.java
  86. 3
    3
      src/com/dmdirc/addons/ui_swing/dialogs/paste/PasteDialogFactory.java
  87. 2
    2
      src/com/dmdirc/addons/ui_swing/dialogs/prefs/CategoryLabel.java
  88. 4
    4
      src/com/dmdirc/addons/ui_swing/dialogs/prefs/CategoryPanel.java
  89. 5
    5
      src/com/dmdirc/addons/ui_swing/dialogs/prefs/IconLoader.java
  90. 3
    3
      src/com/dmdirc/addons/ui_swing/dialogs/prefs/PreferencesListCellRenderer.java
  91. 5
    5
      src/com/dmdirc/addons/ui_swing/dialogs/prefs/PrefsCategoryLoader.java
  92. 6
    6
      src/com/dmdirc/addons/ui_swing/dialogs/prefs/SwingPreferencesDialog.java
  93. 5
    5
      src/com/dmdirc/addons/ui_swing/dialogs/prefs/UpdateConfigPanel.java
  94. 3
    3
      src/com/dmdirc/addons/ui_swing/dialogs/updater/SwingUpdaterDialog.java
  95. 9
    8
      src/com/dmdirc/addons/ui_swing/framemanager/buttonbar/ButtonBar.java
  96. 8
    8
      src/com/dmdirc/addons/ui_swing/framemanager/ctrltab/CtrlTabWindowManager.java
  97. 3
    3
      src/com/dmdirc/addons/ui_swing/framemanager/tree/NodeLabel.java
  98. 13
    13
      src/com/dmdirc/addons/ui_swing/framemanager/tree/TreeFrameManager.java
  99. 7
    6
      src/com/dmdirc/addons/ui_swing/framemanager/windowmenu/WindowMenuFrameManager.java
  100. 0
    0
      src/com/dmdirc/addons/ui_swing/injection/DialogModule.java

+ 1
- 0
ivy.xml View File

17
         <dependency org="com.squareup.dagger" name="dagger-compiler" rev="1.2.1" conf="build->default" />
17
         <dependency org="com.squareup.dagger" name="dagger-compiler" rev="1.2.1" conf="build->default" />
18
         <dependency org="com.google.code.findbugs" name="jsr305" rev="2.+" conf="main->default" />
18
         <dependency org="com.google.code.findbugs" name="jsr305" rev="2.+" conf="main->default" />
19
         <dependency org="org.slf4j" name="slf4j-api" rev="1.+" conf="main->default" />
19
         <dependency org="org.slf4j" name="slf4j-api" rev="1.+" conf="main->default" />
20
+        <dependency org="net.engio" name="mbassador" rev="1.1.10" conf="main->default" />
20
 
21
 
21
         <!-- Main - ui_swing -->
22
         <!-- Main - ui_swing -->
22
         <dependency org="com.miglayout" name="miglayout-swing" rev="4.+" conf="main->default" />
23
         <dependency org="com.miglayout" name="miglayout-swing" rev="4.+" conf="main->default" />

+ 8
- 8
src/com/dmdirc/addons/contactlist/ContactListListener.java View File

31
 import com.dmdirc.interfaces.NicklistListener;
31
 import com.dmdirc.interfaces.NicklistListener;
32
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
32
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
33
 
33
 
34
-import com.google.common.eventbus.EventBus;
35
-import com.google.common.eventbus.Subscribe;
36
-
37
 import java.util.Collection;
34
 import java.util.Collection;
38
 
35
 
39
 import javax.inject.Inject;
36
 import javax.inject.Inject;
40
 
37
 
38
+import net.engio.mbassy.bus.MBassador;
39
+import net.engio.mbassy.listener.Handler;
40
+
41
 /**
41
 /**
42
  * Listens for contact list related events.
42
  * Listens for contact list related events.
43
  */
43
  */
46
     /** The channel this listener is for. */
46
     /** The channel this listener is for. */
47
     private final Channel channel;
47
     private final Channel channel;
48
     /** Event bus to register listeners with. */
48
     /** Event bus to register listeners with. */
49
-    private final EventBus eventBus;
49
+    private final MBassador eventBus;
50
 
50
 
51
     /**
51
     /**
52
      * Creates a new ContactListListener for the specified channel.
52
      * Creates a new ContactListListener for the specified channel.
65
     public void addListeners() {
65
     public void addListeners() {
66
         channel.addNicklistListener(this);
66
         channel.addNicklistListener(this);
67
         channel.addCloseListener(this);
67
         channel.addCloseListener(this);
68
-        eventBus.register(this);
68
+        eventBus.subscribe(this);
69
     }
69
     }
70
 
70
 
71
     /**
71
     /**
74
     public void removeListeners() {
74
     public void removeListeners() {
75
         channel.removeNicklistListener(this);
75
         channel.removeNicklistListener(this);
76
         channel.removeCloseListener(this);
76
         channel.removeCloseListener(this);
77
-        eventBus.unregister(this);
77
+        eventBus.unsubscribe(this);
78
     }
78
     }
79
 
79
 
80
     @Override
80
     @Override
102
         // Do nothing
102
         // Do nothing
103
     }
103
     }
104
 
104
 
105
-    @Subscribe
105
+    @Handler
106
     public void handleUserAway(final ChannelUserAwayEvent event) {
106
     public void handleUserAway(final ChannelUserAwayEvent event) {
107
         clientAdded(event.getUser());
107
         clientAdded(event.getUser());
108
     }
108
     }
109
 
109
 
110
-    @Subscribe
110
+    @Handler
111
     public void handleUserBack(final ChannelUserBackEvent event) {
111
     public void handleUserBack(final ChannelUserBackEvent event) {
112
         clientAdded(event.getUser());
112
         clientAdded(event.getUser());
113
     }
113
     }

+ 3
- 3
src/com/dmdirc/addons/dcc/ChatContainer.java View File

37
 import com.dmdirc.ui.input.TabCompleterFactory;
37
 import com.dmdirc.ui.input.TabCompleterFactory;
38
 import com.dmdirc.util.URLBuilder;
38
 import com.dmdirc.util.URLBuilder;
39
 
39
 
40
-import com.google.common.eventbus.EventBus;
40
+import net.engio.mbassy.bus.MBassador;
41
 
41
 
42
 import java.util.Arrays;
42
 import java.util.Arrays;
43
 
43
 
55
     /** Other Nickname. */
55
     /** Other Nickname. */
56
     private final String otherNickname;
56
     private final String otherNickname;
57
     /** Event bus to post events on. */
57
     /** Event bus to post events on. */
58
-    private final EventBus eventBus;
58
+    private final MBassador eventBus;
59
 
59
 
60
     /**
60
     /**
61
      * Creates a new instance of DCCChatWindow with a given DCCChat object.
61
      * Creates a new instance of DCCChatWindow with a given DCCChat object.
83
             final TabCompleterFactory tabCompleterFactory,
83
             final TabCompleterFactory tabCompleterFactory,
84
             final MessageSinkManager messageSinkManager,
84
             final MessageSinkManager messageSinkManager,
85
             final URLBuilder urlBuilder,
85
             final URLBuilder urlBuilder,
86
-            final EventBus eventBus) {
86
+            final MBassador eventBus) {
87
         super(parent, title, "dcc-chat-inactive", configManager,
87
         super(parent, title, "dcc-chat-inactive", configManager,
88
                 new DCCCommandParser(configManager, commandController, eventBus),
88
                 new DCCCommandParser(configManager, commandController, eventBus),
89
                 messageSinkManager,
89
                 messageSinkManager,

+ 6
- 6
src/com/dmdirc/addons/dcc/DCCCommand.java View File

49
 import com.dmdirc.ui.input.TabCompletionType;
49
 import com.dmdirc.ui.input.TabCompletionType;
50
 import com.dmdirc.util.URLBuilder;
50
 import com.dmdirc.util.URLBuilder;
51
 
51
 
52
-import com.google.common.eventbus.EventBus;
53
-
54
 import java.awt.Window;
52
 import java.awt.Window;
55
 import java.io.File;
53
 import java.io.File;
56
 import java.util.concurrent.Callable;
54
 import java.util.concurrent.Callable;
59
 import javax.swing.JFileChooser;
57
 import javax.swing.JFileChooser;
60
 import javax.swing.JOptionPane;
58
 import javax.swing.JOptionPane;
61
 
59
 
60
+import net.engio.mbassy.bus.MBassador;
61
+
62
 /**
62
 /**
63
  * This command allows starting dcc chats/file transfers.
63
  * This command allows starting dcc chats/file transfers.
64
  */
64
  */
81
     /** The URL builder to use when finding icons. */
81
     /** The URL builder to use when finding icons. */
82
     private final URLBuilder urlBuilder;
82
     private final URLBuilder urlBuilder;
83
     /** The bus to dispatch events on. */
83
     /** The bus to dispatch events on. */
84
-    private final EventBus eventBus;
84
+    private final MBassador eventBus;
85
 
85
 
86
     /**
86
     /**
87
      * Creates a new instance of DCCCommand.
87
      * Creates a new instance of DCCCommand.
104
             final WindowManager windowManager,
104
             final WindowManager windowManager,
105
             final TabCompleterFactory tabCompleterFactory,
105
             final TabCompleterFactory tabCompleterFactory,
106
             final URLBuilder urlBuilder,
106
             final URLBuilder urlBuilder,
107
-            final EventBus eventBus) {
107
+            final MBassador eventBus) {
108
         super(controller);
108
         super(controller);
109
         this.mainWindow = mainWindow;
109
         this.mainWindow = mainWindow;
110
         myPlugin = plugin;
110
         myPlugin = plugin;
190
             windowManager.addWindow(myPlugin.getContainer(), window);
190
             windowManager.addWindow(myPlugin.getContainer(), window);
191
             parser.sendCTCP(target, "DCC", "CHAT chat " + DCC.ipToLong(
191
             parser.sendCTCP(target, "DCC", "CHAT chat " + DCC.ipToLong(
192
                     myPlugin.getListenIP(parser)) + " " + chat.getPort());
192
                     myPlugin.getListenIP(parser)) + " " + chat.getPort());
193
-            eventBus.post(new DccChatRequestSentEvent(connection, target));
193
+            eventBus.publish(new DccChatRequestSentEvent(connection, target));
194
             sendLine(origin, isSilent, "DCCChatStarting", target, chat.getHost(), chat.getPort());
194
             sendLine(origin, isSilent, "DCCChatStarting", target, chat.getHost(), chat.getPort());
195
             window.addLine("DCCChatStarting", target, chat.getHost(), chat.getPort());
195
             window.addLine("DCCChatStarting", target, chat.getHost(), chat.getPort());
196
         } else {
196
         } else {
246
                         myPlugin.getDomain(), "send.forceturbo"));
246
                         myPlugin.getDomain(), "send.forceturbo"));
247
                 send.setType(DCCTransfer.TransferType.SEND);
247
                 send.setType(DCCTransfer.TransferType.SEND);
248
 
248
 
249
-                eventBus.post(new DccSendRequestEvent(connection, target, selectedFile.
249
+                eventBus.publish(new DccSendRequestEvent(connection, target, selectedFile.
250
                         getAbsolutePath()));
250
                         getAbsolutePath()));
251
 
251
 
252
                 sendLine(origin, isSilent, FORMAT_OUTPUT,
252
                 sendLine(origin, isSilent, FORMAT_OUTPUT,

+ 2
- 2
src/com/dmdirc/addons/dcc/DCCCommandParser.java View File

27
 import com.dmdirc.interfaces.CommandController;
27
 import com.dmdirc.interfaces.CommandController;
28
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
28
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
29
 
29
 
30
-import com.google.common.eventbus.EventBus;
30
+import net.engio.mbassy.bus.MBassador;
31
 
31
 
32
 /**
32
 /**
33
  * DCC CommandParser.
33
  * DCC CommandParser.
47
     public DCCCommandParser(
47
     public DCCCommandParser(
48
             final AggregateConfigProvider configManager,
48
             final AggregateConfigProvider configManager,
49
             final CommandController commandController,
49
             final CommandController commandController,
50
-            final EventBus eventBus) {
50
+            final MBassador eventBus) {
51
         super(configManager, commandController, eventBus);
51
         super(configManager, commandController, eventBus);
52
     }
52
     }
53
 
53
 

+ 2
- 2
src/com/dmdirc/addons/dcc/DCCFrameContainer.java View File

30
 import com.dmdirc.ui.input.TabCompleterFactory;
30
 import com.dmdirc.ui.input.TabCompleterFactory;
31
 import com.dmdirc.util.URLBuilder;
31
 import com.dmdirc.util.URLBuilder;
32
 
32
 
33
-import com.google.common.eventbus.EventBus;
33
+import net.engio.mbassy.bus.MBassador;
34
 
34
 
35
 import java.util.Collection;
35
 import java.util.Collection;
36
 
36
 
67
             final MessageSinkManager messageSinkManager,
67
             final MessageSinkManager messageSinkManager,
68
             final TabCompleterFactory tabCompleterFactory,
68
             final TabCompleterFactory tabCompleterFactory,
69
             final URLBuilder urlBuilder,
69
             final URLBuilder urlBuilder,
70
-            final EventBus eventBus,
70
+            final MBassador eventBus,
71
             final Collection<String> components) {
71
             final Collection<String> components) {
72
         super(parent, icon, title, title, configManager, urlBuilder, parser,
72
         super(parent, icon, title, title, configManager, urlBuilder, parser,
73
                 tabCompleterFactory.getTabCompleter(configManager),
73
                 tabCompleterFactory.getTabCompleter(configManager),

+ 12
- 12
src/com/dmdirc/addons/dcc/DCCManager.java View File

53
 import com.dmdirc.ui.input.TabCompleterFactory;
53
 import com.dmdirc.ui.input.TabCompleterFactory;
54
 import com.dmdirc.util.URLBuilder;
54
 import com.dmdirc.util.URLBuilder;
55
 
55
 
56
-import com.google.common.eventbus.EventBus;
57
-import com.google.common.eventbus.Subscribe;
58
-
59
 import java.awt.Window;
56
 import java.awt.Window;
60
 import java.io.File;
57
 import java.io.File;
61
 import java.io.IOException;
58
 import java.io.IOException;
70
 import javax.swing.JFileChooser;
67
 import javax.swing.JFileChooser;
71
 import javax.swing.JOptionPane;
68
 import javax.swing.JOptionPane;
72
 
69
 
70
+import net.engio.mbassy.bus.MBassador;
71
+import net.engio.mbassy.listener.Handler;
72
+
73
 /**
73
 /**
74
  * This plugin adds DCC to DMDirc.
74
  * This plugin adds DCC to DMDirc.
75
  */
75
  */
95
     /** The URL builder to use when finding icons. */
95
     /** The URL builder to use when finding icons. */
96
     private final URLBuilder urlBuilder;
96
     private final URLBuilder urlBuilder;
97
     /** The bus to dispatch events on. */
97
     /** The bus to dispatch events on. */
98
-    private final EventBus eventBus;
98
+    private final MBassador eventBus;
99
 
99
 
100
     /**
100
     /**
101
      * Creates a new instance of this plugin.
101
      * Creates a new instance of this plugin.
128
             final SwingWindowFactory windowFactory,
128
             final SwingWindowFactory windowFactory,
129
             final ComponentFrameFactory componentFrameFactory,
129
             final ComponentFrameFactory componentFrameFactory,
130
             final URLBuilder urlBuilder,
130
             final URLBuilder urlBuilder,
131
-            final EventBus eventBus,
131
+            final MBassador eventBus,
132
             final GlobalCommandParser commandParser,
132
             final GlobalCommandParser commandParser,
133
             @Directory(DirectoryType.BASE) final String baseDirectory) {
133
             @Directory(DirectoryType.BASE) final String baseDirectory) {
134
         this.mainWindow = mainWindow;
134
         this.mainWindow = mainWindow;
355
         }
355
         }
356
     }
356
     }
357
 
357
 
358
-    @Subscribe
358
+    @Handler
359
     public void handleServerCtctpEvent(final ServerCtcpEvent event) {
359
     public void handleServerCtctpEvent(final ServerCtcpEvent event) {
360
         final boolean autoAccept = config.getOptionBool(getDomain(), "receive.autoaccept");
360
         final boolean autoAccept = config.getOptionBool(getDomain(), "receive.autoaccept");
361
         final String[] ctcpData = event.getContent().split(" ");
361
         final String[] ctcpData = event.getContent().split(" ");
399
         if (dontAsk) {
399
         if (dontAsk) {
400
             handleDCCChat(connection.getParser(), nickname, ctcpData);
400
             handleDCCChat(connection.getParser(), nickname, ctcpData);
401
         } else {
401
         } else {
402
-            eventBus.post(new DccChatRequestEvent(connection, nickname));
402
+            eventBus.publish(new DccChatRequestEvent(connection, nickname));
403
             new ChatRequestDialog(mainWindow, this, connection, nickname, ctcpData).display();
403
             new ChatRequestDialog(mainWindow, this, connection, nickname, ctcpData).display();
404
         }
404
         }
405
     }
405
     }
510
         if (DCCTransfer.findByToken(token) == null && !dontAsk) {
510
         if (DCCTransfer.findByToken(token) == null && !dontAsk) {
511
             if (token.isEmpty() || port.equals("0")) {
511
             if (token.isEmpty() || port.equals("0")) {
512
                 // Make sure this is not a reverse DCC Send that we no longer care about.
512
                 // Make sure this is not a reverse DCC Send that we no longer care about.
513
-                eventBus.post(new DccSendRequestEvent(connection, nickname, filename));
513
+                eventBus.publish(new DccSendRequestEvent(connection, nickname, filename));
514
                 new SendRequestDialog(mainWindow, this, token, ipLong, portInt, filename, size,
514
                 new SendRequestDialog(mainWindow, this, token, ipLong, portInt, filename, size,
515
                         nickname, connection).display();
515
                         nickname, connection).display();
516
             }
516
             }
661
                 "receive.savelocation"));
661
                 "receive.savelocation"));
662
         if (dir.exists()) {
662
         if (dir.exists()) {
663
             if (!dir.isDirectory()) {
663
             if (!dir.isDirectory()) {
664
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, null,
664
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, null,
665
                         "Unable to create download dir (file exists instead)", ""));
665
                         "Unable to create download dir (file exists instead)", ""));
666
             }
666
             }
667
         } else {
667
         } else {
669
                 dir.mkdirs();
669
                 dir.mkdirs();
670
                 dir.createNewFile();
670
                 dir.createNewFile();
671
             } catch (IOException ex) {
671
             } catch (IOException ex) {
672
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, null,
672
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, null,
673
                         "Unable to create download dir", ""));
673
                         "Unable to create download dir", ""));
674
             }
674
             }
675
         }
675
         }
676
 
676
 
677
-        eventBus.register(this);
677
+        eventBus.subscribe(this);
678
     }
678
     }
679
 
679
 
680
     /**
680
     /**
681
      * Called when this plugin is Unloaded.
681
      * Called when this plugin is Unloaded.
682
      */
682
      */
683
     public synchronized void onUnload() {
683
     public synchronized void onUnload() {
684
-        eventBus.unregister(this);
684
+        eventBus.unsubscribe(this);
685
         if (container != null) {
685
         if (container != null) {
686
             container.close();
686
             container.close();
687
         }
687
         }

+ 2
- 2
src/com/dmdirc/addons/dcc/PlaceholderContainer.java View File

28
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
28
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
29
 import com.dmdirc.util.URLBuilder;
29
 import com.dmdirc.util.URLBuilder;
30
 
30
 
31
-import com.google.common.eventbus.EventBus;
31
+import net.engio.mbassy.bus.MBassador;
32
 
32
 
33
 import java.awt.Dialog.ModalityType;
33
 import java.awt.Dialog.ModalityType;
34
 import java.awt.Window;
34
 import java.awt.Window;
58
             final AggregateConfigProvider config,
58
             final AggregateConfigProvider config,
59
             final Window parentWindow,
59
             final Window parentWindow,
60
             final URLBuilder urlBuilder,
60
             final URLBuilder urlBuilder,
61
-            final EventBus eventBus) {
61
+            final MBassador eventBus) {
62
         super(null, "dcc", "DCCs", "DCCs", config, urlBuilder, eventBus,
62
         super(null, "dcc", "DCCs", "DCCs", config, urlBuilder, eventBus,
63
                 Arrays.asList("com.dmdirc.addons.dcc.ui.PlaceholderPanel"));
63
                 Arrays.asList("com.dmdirc.addons.dcc.ui.PlaceholderPanel"));
64
         this.plugin = plugin;
64
         this.plugin = plugin;

+ 7
- 7
src/com/dmdirc/addons/dcc/TransferContainer.java View File

35
 import com.dmdirc.parser.interfaces.callbacks.SocketCloseListener;
35
 import com.dmdirc.parser.interfaces.callbacks.SocketCloseListener;
36
 import com.dmdirc.util.URLBuilder;
36
 import com.dmdirc.util.URLBuilder;
37
 
37
 
38
-import com.google.common.eventbus.EventBus;
39
-
40
 import java.awt.Desktop;
38
 import java.awt.Desktop;
41
 import java.io.File;
39
 import java.io.File;
42
 import java.util.Arrays;
40
 import java.util.Arrays;
44
 
42
 
45
 import javax.swing.JOptionPane;
43
 import javax.swing.JOptionPane;
46
 
44
 
45
+import net.engio.mbassy.bus.MBassador;
46
+
47
 /**
47
 /**
48
  * This class links DCC Send objects to a window.
48
  * This class links DCC Send objects to a window.
49
  */
49
  */
74
     private final boolean showOpen = Desktop.isDesktopSupported()
74
     private final boolean showOpen = Desktop.isDesktopSupported()
75
             && Desktop.getDesktop().isSupported(Desktop.Action.OPEN);
75
             && Desktop.getDesktop().isSupported(Desktop.Action.OPEN);
76
     /** Event bus to post events on. */
76
     /** Event bus to post events on. */
77
-    private final EventBus eventBus;
77
+    private final MBassador eventBus;
78
 
78
 
79
     /**
79
     /**
80
      * Creates a new instance of DCCTransferWindow with a given DCCTransfer object.
80
      * Creates a new instance of DCCTransferWindow with a given DCCTransfer object.
91
     public TransferContainer(final DCCManager plugin, final DCCTransfer dcc,
91
     public TransferContainer(final DCCManager plugin, final DCCTransfer dcc,
92
             final AggregateConfigProvider config, final String title,
92
             final AggregateConfigProvider config, final String title,
93
             final String targetNick, final Connection connection,
93
             final String targetNick, final Connection connection,
94
-            final URLBuilder urlBuilder, final EventBus eventBus) {
94
+            final URLBuilder urlBuilder, final MBassador eventBus) {
95
         super(plugin.getContainer(), dcc.getType() == DCCTransfer.TransferType.SEND
95
         super(plugin.getContainer(), dcc.getType() == DCCTransfer.TransferType.SEND
96
                 ? "dcc-send-inactive" : "dcc-receive-inactive",
96
                 ? "dcc-send-inactive" : "dcc-receive-inactive",
97
                 title, title, config, urlBuilder, eventBus,
97
                 title, title, config, urlBuilder, eventBus,
172
             setTitle(title.toString());
172
             setTitle(title.toString());
173
         }
173
         }
174
 
174
 
175
-        eventBus.post(new DccSendDatatransferedEvent(this, bytes));
175
+        eventBus.publish(new DccSendDatatransferedEvent(this, bytes));
176
     }
176
     }
177
 
177
 
178
     /**
178
     /**
265
      */
265
      */
266
     @Override
266
     @Override
267
     public void socketClosed(final DCCTransfer dcc) {
267
     public void socketClosed(final DCCTransfer dcc) {
268
-        eventBus.post(new DccSendSocketclosedEvent(this));
268
+        eventBus.publish(new DccSendSocketclosedEvent(this));
269
         if (!windowClosing) {
269
         if (!windowClosing) {
270
             synchronized (this) {
270
             synchronized (this) {
271
                 if (transferCount == dcc.getFileSize() - dcc.getFileStart()) {
271
                 if (transferCount == dcc.getFileSize() - dcc.getFileStart()) {
286
      */
286
      */
287
     @Override
287
     @Override
288
     public void socketOpened(final DCCTransfer dcc) {
288
     public void socketOpened(final DCCTransfer dcc) {
289
-        eventBus.post(new DccSendSocketopenedEvent(this));
289
+        eventBus.publish(new DccSendSocketopenedEvent(this));
290
         timeStarted = System.currentTimeMillis();
290
         timeStarted = System.currentTimeMillis();
291
         setIcon(dcc.getType() == DCCTransfer.TransferType.SEND
291
         setIcon(dcc.getType() == DCCTransfer.TransferType.SEND
292
                 ? "dcc-send-active" : "dcc-receive-active");
292
                 ? "dcc-send-active" : "dcc-receive-active");

+ 7
- 7
src/com/dmdirc/addons/dcc/ui/TransferPanel.java View File

33
 import com.dmdirc.parser.interfaces.Parser;
33
 import com.dmdirc.parser.interfaces.Parser;
34
 import com.dmdirc.parser.interfaces.callbacks.SocketCloseListener;
34
 import com.dmdirc.parser.interfaces.callbacks.SocketCloseListener;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
37
-
38
 import java.awt.Desktop;
36
 import java.awt.Desktop;
39
 import java.awt.event.ActionEvent;
37
 import java.awt.event.ActionEvent;
40
 import java.awt.event.ActionListener;
38
 import java.awt.event.ActionListener;
49
 
47
 
50
 import net.miginfocom.swing.MigLayout;
48
 import net.miginfocom.swing.MigLayout;
51
 
49
 
50
+import net.engio.mbassy.bus.MBassador;
51
+
52
 /**
52
 /**
53
  * A panel for displaying the progress of DCC transfers.
53
  * A panel for displaying the progress of DCC transfers.
54
  *
54
  *
78
     /** The transfer that this window is showing. */
78
     /** The transfer that this window is showing. */
79
     private final DCCTransfer dcc;
79
     private final DCCTransfer dcc;
80
     /** The event bus to post errors. */
80
     /** The event bus to post errors. */
81
-    private final EventBus errorBus;
81
+    private final MBassador errorBus;
82
 
82
 
83
     /**
83
     /**
84
      * Creates a new transfer window for the specified UI controller and owner.
84
      * Creates a new transfer window for the specified UI controller and owner.
86
      * @param owner    The frame container that owns this frame
86
      * @param owner    The frame container that owns this frame
87
      * @param errorBus The event bus to post errors to
87
      * @param errorBus The event bus to post errors to
88
      */
88
      */
89
-    public TransferPanel(final FrameContainer owner, final EventBus errorBus) {
89
+    public TransferPanel(final FrameContainer owner, final MBassador errorBus) {
90
         this.transferContainer = (TransferContainer) owner;
90
         this.transferContainer = (TransferContainer) owner;
91
         this.errorBus = errorBus;
91
         this.errorBus = errorBus;
92
         dcc = transferContainer.getDCC();
92
         dcc = transferContainer.getDCC();
150
             try {
150
             try {
151
                 Desktop.getDesktop().open(file);
151
                 Desktop.getDesktop().open(file);
152
             } catch (IllegalArgumentException ex) {
152
             } catch (IllegalArgumentException ex) {
153
-                errorBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
153
+                errorBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
154
                         "Unable to open file: " + file, ""));
154
                         "Unable to open file: " + file, ""));
155
                 openButton.setEnabled(false);
155
                 openButton.setEnabled(false);
156
             } catch (IOException ex) {
156
             } catch (IOException ex) {
157
                 try {
157
                 try {
158
                     Desktop.getDesktop().open(file.getParentFile());
158
                     Desktop.getDesktop().open(file.getParentFile());
159
                 } catch (IllegalArgumentException ex1) {
159
                 } catch (IllegalArgumentException ex1) {
160
-                    errorBus.post(new UserErrorEvent(ErrorLevel.LOW, ex1, "Unable to open folder: "
160
+                    errorBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex1, "Unable to open folder: "
161
                             + file.getParentFile(), ""));
161
                             + file.getParentFile(), ""));
162
                     openButton.setEnabled(false);
162
                     openButton.setEnabled(false);
163
                 } catch (IOException ex1) {
163
                 } catch (IOException ex1) {
164
-                    errorBus.post(new UserErrorEvent(ErrorLevel.LOW, ex1,
164
+                    errorBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex1,
165
                             "No associated handler to open file or directory.", ""));
165
                             "No associated handler to open file or directory.", ""));
166
                     openButton.setEnabled(false);
166
                     openButton.setEnabled(false);
167
                 }
167
                 }

+ 11
- 11
src/com/dmdirc/addons/debug/commands/EventBusViewer.java View File

37
 import com.dmdirc.ui.messages.Styliser;
37
 import com.dmdirc.ui.messages.Styliser;
38
 import com.dmdirc.util.URLBuilder;
38
 import com.dmdirc.util.URLBuilder;
39
 
39
 
40
-import com.google.common.eventbus.EventBus;
41
-import com.google.common.eventbus.Subscribe;
42
-
43
 import java.lang.reflect.Method;
40
 import java.lang.reflect.Method;
44
 
41
 
45
 import javax.inject.Inject;
42
 import javax.inject.Inject;
46
 import javax.inject.Provider;
43
 import javax.inject.Provider;
47
 
44
 
45
+import net.engio.mbassy.bus.MBassador;
46
+import net.engio.mbassy.listener.Handler;
47
+
48
 /**
48
 /**
49
  * Displays events passed on an event bus.
49
  * Displays events passed on an event bus.
50
  */
50
  */
53
     private final URLBuilder urlBuilder;
53
     private final URLBuilder urlBuilder;
54
     private final AggregateConfigProvider globalConfig;
54
     private final AggregateConfigProvider globalConfig;
55
     private final WindowManager windowManager;
55
     private final WindowManager windowManager;
56
-    private final EventBus globalEventBus;
56
+    private final MBassador globalEventBus;
57
 
57
 
58
     /**
58
     /**
59
      * Creates a new instance of the command.
59
      * Creates a new instance of the command.
70
             @GlobalConfig final AggregateConfigProvider globalConfig,
70
             @GlobalConfig final AggregateConfigProvider globalConfig,
71
             final URLBuilder urlBuilder,
71
             final URLBuilder urlBuilder,
72
             final WindowManager windowManager,
72
             final WindowManager windowManager,
73
-            final EventBus globalEventBus) {
73
+            final MBassador globalEventBus) {
74
         super(commandProvider);
74
         super(commandProvider);
75
         this.globalConfig = globalConfig;
75
         this.globalConfig = globalConfig;
76
         this.urlBuilder = urlBuilder;
76
         this.urlBuilder = urlBuilder;
105
             windowManager.addWindow(origin, window);
105
             windowManager.addWindow(origin, window);
106
         }
106
         }
107
 
107
 
108
-        final EventBus eventBus = isGlobal ? globalEventBus : origin.getEventBus();
108
+        final MBassador eventBus = isGlobal ? globalEventBus : origin.getEventBus();
109
         final WindowUpdater updater = new WindowUpdater(eventBus, window);
109
         final WindowUpdater updater = new WindowUpdater(eventBus, window);
110
-        eventBus.register(updater);
110
+        eventBus.subscribe(updater);
111
         window.addCloseListener(updater);
111
         window.addCloseListener(updater);
112
     }
112
     }
113
 
113
 
116
      */
116
      */
117
     private static class WindowUpdater implements FrameCloseListener {
117
     private static class WindowUpdater implements FrameCloseListener {
118
 
118
 
119
-        private final EventBus eventBus;
119
+        private final MBassador eventBus;
120
         private final FrameContainer target;
120
         private final FrameContainer target;
121
 
121
 
122
-        WindowUpdater(final EventBus eventBus, final FrameContainer target) {
122
+        WindowUpdater(final MBassador eventBus, final FrameContainer target) {
123
             this.eventBus = eventBus;
123
             this.eventBus = eventBus;
124
             this.target = target;
124
             this.target = target;
125
         }
125
         }
126
 
126
 
127
-        @Subscribe
127
+        @Handler
128
         public void handleEvent(final DMDircEvent event) {
128
         public void handleEvent(final DMDircEvent event) {
129
             if (event instanceof ClientLineAddedEvent
129
             if (event instanceof ClientLineAddedEvent
130
                     && ((ClientLineAddedEvent) event).getFrameContainer() == target) {
130
                     && ((ClientLineAddedEvent) event).getFrameContainer() == target) {
158
 
158
 
159
         @Override
159
         @Override
160
         public void windowClosing(final FrameContainer window) {
160
         public void windowClosing(final FrameContainer window) {
161
-            eventBus.unregister(this);
161
+            eventBus.unsubscribe(this);
162
         }
162
         }
163
 
163
 
164
     }
164
     }

+ 6
- 6
src/com/dmdirc/addons/debug/commands/FakeError.java View File

33
 import com.dmdirc.logger.ErrorLevel;
33
 import com.dmdirc.logger.ErrorLevel;
34
 import com.dmdirc.ui.input.AdditionalTabTargets;
34
 import com.dmdirc.ui.input.AdditionalTabTargets;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
37
-
38
 import javax.inject.Inject;
36
 import javax.inject.Inject;
39
 import javax.inject.Provider;
37
 import javax.inject.Provider;
40
 
38
 
39
+import net.engio.mbassy.bus.MBassador;
40
+
41
 /**
41
 /**
42
  * Creates DMDirc errors with the specified parameters.
42
  * Creates DMDirc errors with the specified parameters.
43
  */
43
  */
44
 public class FakeError extends DebugCommand implements IntelligentCommand {
44
 public class FakeError extends DebugCommand implements IntelligentCommand {
45
 
45
 
46
     /** The event bus to post errors on . */
46
     /** The event bus to post errors on . */
47
-    private final EventBus eventBus;
47
+    private final MBassador eventBus;
48
 
48
 
49
     /**
49
     /**
50
      * Creates a new instance of the command.
50
      * Creates a new instance of the command.
53
      * @param eventBus        The event bus to post errors on
53
      * @param eventBus        The event bus to post errors on
54
      */
54
      */
55
     @Inject
55
     @Inject
56
-    public FakeError(final Provider<Debug> commandProvider, final EventBus eventBus) {
56
+    public FakeError(final Provider<Debug> commandProvider, final MBassador eventBus) {
57
         super(commandProvider);
57
         super(commandProvider);
58
         this.eventBus = eventBus;
58
         this.eventBus = eventBus;
59
     }
59
     }
75
         if ((args.getArguments().length == 1
75
         if ((args.getArguments().length == 1
76
                 || args.getArguments().length == 2)
76
                 || args.getArguments().length == 2)
77
                 && args.getArguments()[0].equals("user")) {
77
                 && args.getArguments()[0].equals("user")) {
78
-            eventBus.post(new UserErrorEvent(getLevel(args.getArguments()),
78
+            eventBus.publishAsync(new UserErrorEvent(getLevel(args.getArguments()),
79
                     null, "Debug error message", ""));
79
                     null, "Debug error message", ""));
80
         } else if ((args.getArguments().length == 1
80
         } else if ((args.getArguments().length == 1
81
                 || args.getArguments().length == 2)
81
                 || args.getArguments().length == 2)
82
                 && args.getArguments()[0].equals("app")) {
82
                 && args.getArguments()[0].equals("app")) {
83
-            eventBus.post(new AppErrorEvent(getLevel(args.getArguments()),
83
+            eventBus.publishAsync(new AppErrorEvent(getLevel(args.getArguments()),
84
                     new IllegalArgumentException(), "Debug error message", ""));
84
                     new IllegalArgumentException(), "Debug error message", ""));
85
         } else {
85
         } else {
86
             showUsage(origin, args.isSilent(), getName(), getUsage());
86
             showUsage(origin, args.isSilent(), getName(), getUsage());

+ 5
- 5
src/com/dmdirc/addons/debug/commands/FirstRun.java View File

29
 import com.dmdirc.commandparser.commands.context.CommandContext;
29
 import com.dmdirc.commandparser.commands.context.CommandContext;
30
 import com.dmdirc.events.FirstRunEvent;
30
 import com.dmdirc.events.FirstRunEvent;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
33
-
34
 import javax.inject.Inject;
32
 import javax.inject.Inject;
35
 import javax.inject.Provider;
33
 import javax.inject.Provider;
36
 
34
 
35
+import net.engio.mbassy.bus.MBassador;
36
+
37
 /**
37
 /**
38
  * Opens the DMDirc first run wizard.
38
  * Opens the DMDirc first run wizard.
39
  */
39
  */
40
 public class FirstRun extends DebugCommand {
40
 public class FirstRun extends DebugCommand {
41
 
41
 
42
     /** Event bus to trigger first run event on. */
42
     /** Event bus to trigger first run event on. */
43
-    private final EventBus eventBus;
43
+    private final MBassador eventBus;
44
 
44
 
45
     /**
45
     /**
46
      * Creates a new instance of the command.
46
      * Creates a new instance of the command.
49
      * @param eventBus        Event bus to trigger first run event on.
49
      * @param eventBus        Event bus to trigger first run event on.
50
      */
50
      */
51
     @Inject
51
     @Inject
52
-    public FirstRun(final Provider<Debug> commandProvider, final EventBus eventBus) {
52
+    public FirstRun(final Provider<Debug> commandProvider, final MBassador eventBus) {
53
         super(commandProvider);
53
         super(commandProvider);
54
 
54
 
55
         this.eventBus = eventBus;
55
         this.eventBus = eventBus;
68
     @Override
68
     @Override
69
     public void execute(final FrameContainer origin,
69
     public void execute(final FrameContainer origin,
70
             final CommandArguments args, final CommandContext context) {
70
             final CommandArguments args, final CommandContext context) {
71
-        eventBus.post(new FirstRunEvent());
71
+        eventBus.publish(new FirstRunEvent());
72
     }
72
     }
73
 
73
 
74
 }
74
 }

+ 3
- 3
src/com/dmdirc/addons/debug/commands/ForceUpdate.java View File

34
 import com.dmdirc.updater.UpdateChecker;
34
 import com.dmdirc.updater.UpdateChecker;
35
 import com.dmdirc.updater.manager.CachingUpdateManager;
35
 import com.dmdirc.updater.manager.CachingUpdateManager;
36
 
36
 
37
-import com.google.common.eventbus.EventBus;
37
+import net.engio.mbassy.bus.MBassador;
38
 
38
 
39
 import javax.inject.Inject;
39
 import javax.inject.Inject;
40
 import javax.inject.Provider;
40
 import javax.inject.Provider;
51
     /** The update manager to use when forcing an update. */
51
     /** The update manager to use when forcing an update. */
52
     private final CachingUpdateManager updateManager;
52
     private final CachingUpdateManager updateManager;
53
     /** The event bus to post errors to. */
53
     /** The event bus to post errors to. */
54
-    private final EventBus eventBus;
54
+    private final MBassador eventBus;
55
 
55
 
56
     /**
56
     /**
57
      * Creates a new instance of the command.
57
      * Creates a new instance of the command.
68
             @GlobalConfig final AggregateConfigProvider globalConfig,
68
             @GlobalConfig final AggregateConfigProvider globalConfig,
69
             final IdentityController identityController,
69
             final IdentityController identityController,
70
             final CachingUpdateManager updateManager,
70
             final CachingUpdateManager updateManager,
71
-            final EventBus eventBus) {
71
+            final MBassador eventBus) {
72
         super(commandProvider);
72
         super(commandProvider);
73
 
73
 
74
         this.globalConfig = globalConfig;
74
         this.globalConfig = globalConfig;

+ 5
- 5
src/com/dmdirc/addons/exec/ExecCommand.java View File

34
 import com.dmdirc.util.CommandUtils;
34
 import com.dmdirc.util.CommandUtils;
35
 import com.dmdirc.util.io.StreamReader;
35
 import com.dmdirc.util.io.StreamReader;
36
 
36
 
37
-import com.google.common.eventbus.EventBus;
38
-
39
 import java.io.File;
37
 import java.io.File;
40
 import java.io.IOException;
38
 import java.io.IOException;
41
 import java.util.LinkedList;
39
 import java.util.LinkedList;
43
 
41
 
44
 import javax.inject.Inject;
42
 import javax.inject.Inject;
45
 
43
 
44
+import net.engio.mbassy.bus.MBassador;
45
+
46
 /**
46
 /**
47
  * A command which allows users execute scripts.
47
  * A command which allows users execute scripts.
48
  */
48
  */
53
             "exec <command> [<parameters>] - executes an external program "
53
             "exec <command> [<parameters>] - executes an external program "
54
             + "and displays the output", CommandType.TYPE_GLOBAL);
54
             + "and displays the output", CommandType.TYPE_GLOBAL);
55
     /** Event bus to post errors to. */
55
     /** Event bus to post errors to. */
56
-    private final EventBus eventBus;
56
+    private final MBassador eventBus;
57
 
57
 
58
     /**
58
     /**
59
      * Creates a new instance of this command.
59
      * Creates a new instance of this command.
62
      * @param eventBus   The event bus to post errors to
62
      * @param eventBus   The event bus to post errors to
63
      */
63
      */
64
     @Inject
64
     @Inject
65
-    public ExecCommand(final CommandController controller, final EventBus eventBus) {
65
+    public ExecCommand(final CommandController controller, final MBassador eventBus) {
66
         super(controller);
66
         super(controller);
67
         this.eventBus = eventBus;
67
         this.eventBus = eventBus;
68
     }
68
     }
105
                 }
105
                 }
106
             }
106
             }
107
         } catch (IOException ex) {
107
         } catch (IOException ex) {
108
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex, "Unable to run application: "
108
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex, "Unable to run application: "
109
                     + ex.getMessage(), ""));
109
                     + ex.getMessage(), ""));
110
         }
110
         }
111
     }
111
     }

+ 5
- 4
src/com/dmdirc/addons/freedesktop_notifications/FDManager.java View File

35
 import com.dmdirc.util.io.StreamReader;
35
 import com.dmdirc.util.io.StreamReader;
36
 
36
 
37
 import com.google.common.base.Strings;
37
 import com.google.common.base.Strings;
38
-import com.google.common.eventbus.EventBus;
39
 import com.google.common.html.HtmlEscapers;
38
 import com.google.common.html.HtmlEscapers;
40
 
39
 
41
 import java.io.IOException;
40
 import java.io.IOException;
43
 import javax.inject.Inject;
42
 import javax.inject.Inject;
44
 import javax.inject.Singleton;
43
 import javax.inject.Singleton;
45
 
44
 
45
+import net.engio.mbassy.bus.MBassador;
46
+
46
 @Singleton
47
 @Singleton
47
 public class FDManager implements ConfigChangeListener {
48
 public class FDManager implements ConfigChangeListener {
48
 
49
 
55
     /** Plugin files helper. */
56
     /** Plugin files helper. */
56
     private final PluginFilesHelper filesHelper;
57
     private final PluginFilesHelper filesHelper;
57
     /** The event bus to post errors to. */
58
     /** The event bus to post errors to. */
58
-    private final EventBus eventBus;
59
+    private final MBassador eventBus;
59
     /** notification timeout. */
60
     /** notification timeout. */
60
     private int timeout;
61
     private int timeout;
61
     /** notification icon. */
62
     /** notification icon. */
71
             @UserConfig final ConfigProvider userConfig,
72
             @UserConfig final ConfigProvider userConfig,
72
             @PluginDomain(FreeDesktopNotificationsPlugin.class) final String domain,
73
             @PluginDomain(FreeDesktopNotificationsPlugin.class) final String domain,
73
             final PluginFilesHelper filesHelper,
74
             final PluginFilesHelper filesHelper,
74
-            final EventBus eventBus) {
75
+            final MBassador eventBus) {
75
         this.domain = domain;
76
         this.domain = domain;
76
         this.config = config;
77
         this.config = config;
77
         this.userConfig = userConfig;
78
         this.userConfig = userConfig;
162
             filesHelper.extractResourcesEndingWith(".py");
163
             filesHelper.extractResourcesEndingWith(".py");
163
             filesHelper.extractResourcesEndingWith(".png");
164
             filesHelper.extractResourcesEndingWith(".png");
164
         } catch (IOException ex) {
165
         } catch (IOException ex) {
165
-            eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM, ex,
166
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM, ex,
166
                     "Unable to extract files for Free desktop notifications: " + ex.getMessage(),
167
                     "Unable to extract files for Free desktop notifications: " + ex.getMessage(),
167
                     ""));
168
                     ""));
168
         }
169
         }

+ 5
- 5
src/com/dmdirc/addons/identd/IdentClient.java View File

29
 import com.dmdirc.logger.ErrorLevel;
29
 import com.dmdirc.logger.ErrorLevel;
30
 import com.dmdirc.util.io.StreamUtils;
30
 import com.dmdirc.util.io.StreamUtils;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
33
-
34
 import java.io.BufferedReader;
32
 import java.io.BufferedReader;
35
 import java.io.IOException;
33
 import java.io.IOException;
36
 import java.io.InputStreamReader;
34
 import java.io.InputStreamReader;
37
 import java.io.PrintWriter;
35
 import java.io.PrintWriter;
38
 import java.net.Socket;
36
 import java.net.Socket;
39
 
37
 
38
+import net.engio.mbassy.bus.MBassador;
39
+
40
 /**
40
 /**
41
  * The IdentClient responds to an ident request.
41
  * The IdentClient responds to an ident request.
42
  */
42
  */
43
 public class IdentClient implements Runnable {
43
 public class IdentClient implements Runnable {
44
 
44
 
45
     /** The event bus to post errors on. */
45
     /** The event bus to post errors on. */
46
-    private final EventBus eventBus;
46
+    private final MBassador eventBus;
47
     /** The IdentdServer that owns this Client. */
47
     /** The IdentdServer that owns this Client. */
48
     private final IdentdServer server;
48
     private final IdentdServer server;
49
     /** The Socket that we are in charge of. */
49
     /** The Socket that we are in charge of. */
67
      * @param config        Global config to read settings from
67
      * @param config        Global config to read settings from
68
      * @param domain        This plugin's settings domain
68
      * @param domain        This plugin's settings domain
69
      */
69
      */
70
-    public IdentClient(final EventBus eventBus, final IdentdServer server, final Socket socket,
70
+    public IdentClient(final MBassador eventBus, final IdentdServer server, final Socket socket,
71
             final ServerManager serverManager, final AggregateConfigProvider config,
71
             final ServerManager serverManager, final AggregateConfigProvider config,
72
             final String domain) {
72
             final String domain) {
73
         this.eventBus = eventBus;
73
         this.eventBus = eventBus;
103
             }
103
             }
104
         } catch (IOException e) {
104
         } catch (IOException e) {
105
             if (thisThread == thread) {
105
             if (thisThread == thread) {
106
-                eventBus.post(new UserErrorEvent(ErrorLevel.HIGH, e,
106
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, e,
107
                         "ClientSocket Error: " + e.getMessage(), ""));
107
                         "ClientSocket Error: " + e.getMessage(), ""));
108
             }
108
             }
109
         } finally {
109
         } finally {

+ 10
- 10
src/com/dmdirc/addons/identd/IdentdManager.java View File

30
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
30
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
31
 import com.dmdirc.plugins.PluginDomain;
31
 import com.dmdirc.plugins.PluginDomain;
32
 
32
 
33
-import com.google.common.eventbus.EventBus;
34
-import com.google.common.eventbus.Subscribe;
35
-
36
 import java.util.ArrayList;
33
 import java.util.ArrayList;
37
 import java.util.List;
34
 import java.util.List;
38
 
35
 
39
 import javax.inject.Inject;
36
 import javax.inject.Inject;
40
 
37
 
38
+import net.engio.mbassy.bus.MBassador;
39
+import net.engio.mbassy.listener.Handler;
40
+
41
 public class IdentdManager {
41
 public class IdentdManager {
42
 
42
 
43
     /** List of all the connections that need ident replies. */
43
     /** List of all the connections that need ident replies. */
49
     /** Ident server. */
49
     /** Ident server. */
50
     private final IdentdServer server;
50
     private final IdentdServer server;
51
     /** Event bus to subscribe to events on. */
51
     /** Event bus to subscribe to events on. */
52
-    private final EventBus eventBus;
52
+    private final MBassador eventBus;
53
 
53
 
54
     @Inject
54
     @Inject
55
     public IdentdManager(@GlobalConfig final AggregateConfigProvider config,
55
     public IdentdManager(@GlobalConfig final AggregateConfigProvider config,
56
             @PluginDomain(IdentdPlugin.class) final String domain,
56
             @PluginDomain(IdentdPlugin.class) final String domain,
57
-            final IdentdServer server, final EventBus eventBus) {
57
+            final IdentdServer server, final MBassador eventBus) {
58
         connections = new ArrayList<>();
58
         connections = new ArrayList<>();
59
         this.config = config;
59
         this.config = config;
60
         this.domain = domain;
60
         this.domain = domain;
67
      */
67
      */
68
     public void onLoad() {
68
     public void onLoad() {
69
         // Add action hooks
69
         // Add action hooks
70
-        eventBus.register(this);
70
+        eventBus.subscribe(this);
71
 
71
 
72
         if (config.getOptionBool(domain, "advanced.alwaysOn")) {
72
         if (config.getOptionBool(domain, "advanced.alwaysOn")) {
73
             server.startServer();
73
             server.startServer();
78
      * Called when this plugin is unloaded.
78
      * Called when this plugin is unloaded.
79
      */
79
      */
80
     public void onUnload() {
80
     public void onUnload() {
81
-        eventBus.unregister(this);
81
+        eventBus.unsubscribe(this);
82
         server.stopServer();
82
         server.stopServer();
83
         connections.clear();
83
         connections.clear();
84
     }
84
     }
85
 
85
 
86
-    @Subscribe
86
+    @Handler
87
     public void handleServerConnecting(final ServerConnectingEvent event) {
87
     public void handleServerConnecting(final ServerConnectingEvent event) {
88
         synchronized (connections) {
88
         synchronized (connections) {
89
                 if (connections.isEmpty()) {
89
                 if (connections.isEmpty()) {
93
             }
93
             }
94
     }
94
     }
95
 
95
 
96
-    @Subscribe
96
+    @Handler
97
     public void handleServerConnected(final ServerConnectedEvent event) {
97
     public void handleServerConnected(final ServerConnectedEvent event) {
98
         handleServerRemoved(event.getConnection());
98
         handleServerRemoved(event.getConnection());
99
     }
99
     }
100
 
100
 
101
-    @Subscribe
101
+    @Handler
102
     public void handleServerConnectError(final ServerConnectErrorEvent event) {
102
     public void handleServerConnectError(final ServerConnectErrorEvent event) {
103
         handleServerRemoved(event.getConnection());
103
         handleServerRemoved(event.getConnection());
104
     }
104
     }

+ 6
- 6
src/com/dmdirc/addons/identd/IdentdServer.java View File

29
 import com.dmdirc.logger.ErrorLevel;
29
 import com.dmdirc.logger.ErrorLevel;
30
 import com.dmdirc.plugins.PluginDomain;
30
 import com.dmdirc.plugins.PluginDomain;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
33
-
34
 import java.io.IOException;
32
 import java.io.IOException;
35
 import java.net.ServerSocket;
33
 import java.net.ServerSocket;
36
 import java.net.Socket;
34
 import java.net.Socket;
39
 
37
 
40
 import javax.inject.Inject;
38
 import javax.inject.Inject;
41
 
39
 
40
+import net.engio.mbassy.bus.MBassador;
41
+
42
 /**
42
 /**
43
  * The IdentdServer watches over the ident port when required
43
  * The IdentdServer watches over the ident port when required
44
  */
44
  */
45
 public final class IdentdServer implements Runnable {
45
 public final class IdentdServer implements Runnable {
46
 
46
 
47
     /** The event bus to post errors on. */
47
     /** The event bus to post errors on. */
48
-    private final EventBus eventBus;
48
+    private final MBassador eventBus;
49
     /** The Thread in use for this server */
49
     /** The Thread in use for this server */
50
     private volatile Thread myThread = null;
50
     private volatile Thread myThread = null;
51
     /** The current socket in use for this server */
51
     /** The current socket in use for this server */
70
      * @param domain        This plugin's setting domain
70
      * @param domain        This plugin's setting domain
71
      */
71
      */
72
     @Inject
72
     @Inject
73
-    public IdentdServer(final EventBus eventBus,
73
+    public IdentdServer(final MBassador eventBus,
74
             final ServerManager serverManager,
74
             final ServerManager serverManager,
75
             @GlobalConfig final AggregateConfigProvider config,
75
             @GlobalConfig final AggregateConfigProvider config,
76
             @PluginDomain(IdentdPlugin.class) final String domain) {
76
             @PluginDomain(IdentdPlugin.class) final String domain) {
95
                 addClient(client);
95
                 addClient(client);
96
             } catch (IOException e) {
96
             } catch (IOException e) {
97
                 if (myThread == thisThread) {
97
                 if (myThread == thisThread) {
98
-                    eventBus.post(new UserErrorEvent(ErrorLevel.HIGH, e,
98
+                    eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, e,
99
                             "Accepting client failed: " + e.getMessage(), ""));
99
                             "Accepting client failed: " + e.getMessage(), ""));
100
                 }
100
                 }
101
             }
101
             }
149
                 myThread = new Thread(this);
149
                 myThread = new Thread(this);
150
                 myThread.start();
150
                 myThread.start();
151
             } catch (IOException e) {
151
             } catch (IOException e) {
152
-                eventBus.post(new UserErrorEvent(ErrorLevel.HIGH, e,
152
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, e,
153
                         "Unable to start identd server: " + e.getMessage(), ""));
153
                         "Unable to start identd server: " + e.getMessage(), ""));
154
                 if (e.getMessage().equals("Permission denied")) {
154
                 if (e.getMessage().equals("Permission denied")) {
155
                     failed = true;
155
                     failed = true;

+ 12
- 12
src/com/dmdirc/addons/lagdisplay/LagDisplayManager.java View File

41
 import com.dmdirc.plugins.PluginDomain;
41
 import com.dmdirc.plugins.PluginDomain;
42
 import com.dmdirc.util.collections.RollingList;
42
 import com.dmdirc.util.collections.RollingList;
43
 
43
 
44
-import com.google.common.eventbus.EventBus;
45
-import com.google.common.eventbus.Subscribe;
46
-
47
 import java.util.Date;
44
 import java.util.Date;
48
 import java.util.HashMap;
45
 import java.util.HashMap;
49
 import java.util.Map;
46
 import java.util.Map;
53
 import javax.inject.Provider;
50
 import javax.inject.Provider;
54
 import javax.inject.Singleton;
51
 import javax.inject.Singleton;
55
 
52
 
53
+import net.engio.mbassy.bus.MBassador;
54
+import net.engio.mbassy.listener.Handler;
55
+
56
 /**
56
 /**
57
  * Manages the lifecycle of the lag display plugin.
57
  * Manages the lifecycle of the lag display plugin.
58
  */
58
  */
60
 public class LagDisplayManager implements ConfigChangeListener, SelectionListener {
60
 public class LagDisplayManager implements ConfigChangeListener, SelectionListener {
61
 
61
 
62
     /** Event bus to receive events on. */
62
     /** Event bus to receive events on. */
63
-    private final EventBus eventBus;
63
+    private final MBassador eventBus;
64
     /** Active frame manager. */
64
     /** Active frame manager. */
65
     private final ActiveFrameManager activeFrameManager;
65
     private final ActiveFrameManager activeFrameManager;
66
     /** Status bar to add panels to. */
66
     /** Status bar to add panels to. */
85
 
85
 
86
     @Inject
86
     @Inject
87
     public LagDisplayManager(
87
     public LagDisplayManager(
88
-            final EventBus eventBus,
88
+            final MBassador eventBus,
89
             final ActiveFrameManager activeFrameManager,
89
             final ActiveFrameManager activeFrameManager,
90
             final SwingStatusBar statusBar,
90
             final SwingStatusBar statusBar,
91
             final Provider<LagDisplayPanel> panelProvider,
91
             final Provider<LagDisplayPanel> panelProvider,
105
         activeFrameManager.addSelectionListener(this);
105
         activeFrameManager.addSelectionListener(this);
106
         globalConfig.addChangeListener(domain, this);
106
         globalConfig.addChangeListener(domain, this);
107
         readConfig();
107
         readConfig();
108
-        eventBus.register(this);
108
+        eventBus.subscribe(this);
109
     }
109
     }
110
 
110
 
111
     public void unload() {
111
     public void unload() {
112
         statusBar.removeComponent(panel);
112
         statusBar.removeComponent(panel);
113
         activeFrameManager.removeSelectionListener(this);
113
         activeFrameManager.removeSelectionListener(this);
114
         globalConfig.removeListener(this);
114
         globalConfig.removeListener(this);
115
-        eventBus.unregister(this);
115
+        eventBus.unsubscribe(this);
116
         panel = null;
116
         panel = null;
117
     }
117
     }
118
 
118
 
170
         panel.refreshDialog();
170
         panel.refreshDialog();
171
     }
171
     }
172
 
172
 
173
-    @Subscribe
173
+    @Handler
174
     public void handleServerNumeric(final ServerNumericEvent event) {
174
     public void handleServerNumeric(final ServerNumericEvent event) {
175
         if (event.getNumeric() != 421) {
175
         if (event.getNumeric() != 421) {
176
             return;
176
             return;
201
         }
201
         }
202
     }
202
     }
203
 
203
 
204
-    @Subscribe
204
+    @Handler
205
     public void handleServerDisconnected(final ServerDisconnectedEvent event) {
205
     public void handleServerDisconnected(final ServerDisconnectedEvent event) {
206
         final TextFrame activeFrame = activeFrameManager.getActiveFrame();
206
         final TextFrame activeFrame = activeFrameManager.getActiveFrame();
207
         final FrameContainer active = activeFrame == null ? null : activeFrame.getContainer();
207
         final FrameContainer active = activeFrame == null ? null : activeFrame.getContainer();
215
             panel.refreshDialog();
215
             panel.refreshDialog();
216
     }
216
     }
217
 
217
 
218
-    @Subscribe
218
+    @Handler
219
     public void handleServerGotPing(final ServerGotpingEvent event) {
219
     public void handleServerGotPing(final ServerGotpingEvent event) {
220
         if (event.getConnection().getWindowModel().getConfigManager().
220
         if (event.getConnection().getWindowModel().getConfigManager().
221
                 getOptionBool(domain, "usealternate")) {
221
                 getOptionBool(domain, "usealternate")) {
237
         panel.refreshDialog();
237
         panel.refreshDialog();
238
     }
238
     }
239
 
239
 
240
-    @Subscribe
240
+    @Handler
241
     public void handleServerNoPing(final ServerNopingEvent event) {
241
     public void handleServerNoPing(final ServerNopingEvent event) {
242
         if (event.getConnection().getWindowModel().getConfigManager().
242
         if (event.getConnection().getWindowModel().getConfigManager().
243
                 getOptionBool(domain, "usealternate")) {
243
                 getOptionBool(domain, "usealternate")) {
258
         panel.refreshDialog();
258
         panel.refreshDialog();
259
     }
259
     }
260
 
260
 
261
-    @Subscribe
261
+    @Handler
262
     public void HandleServerPingSent(final ServerPingsentEvent event) {
262
     public void HandleServerPingSent(final ServerPingsentEvent event) {
263
         if (!event.getConnection().getWindowModel().getConfigManager().
263
         if (!event.getConnection().getWindowModel().getConfigManager().
264
                 getOptionBool(domain, "usealternate")) {
264
                 getOptionBool(domain, "usealternate")) {

+ 2
- 2
src/com/dmdirc/addons/logging/HistoryWindow.java View File

29
 import com.dmdirc.util.io.ReverseFileReader;
29
 import com.dmdirc.util.io.ReverseFileReader;
30
 
30
 
31
 import com.google.common.base.Optional;
31
 import com.google.common.base.Optional;
32
-import com.google.common.eventbus.EventBus;
32
+import net.engio.mbassy.bus.MBassador;
33
 
33
 
34
 import java.util.Arrays;
34
 import java.util.Arrays;
35
 
35
 
53
             final ReverseFileReader reader,
53
             final ReverseFileReader reader,
54
             final FrameContainer parent,
54
             final FrameContainer parent,
55
             final URLBuilder urlBuilder,
55
             final URLBuilder urlBuilder,
56
-            final EventBus eventBus,
56
+            final MBassador eventBus,
57
             final int numLines) {
57
             final int numLines) {
58
         super(parent, "raw", title, title, parent.getConfigManager(), urlBuilder, eventBus,
58
         super(parent, "raw", title, title, parent.getConfigManager(), urlBuilder, eventBus,
59
                 Arrays.asList(WindowComponent.TEXTAREA.getIdentifier()));
59
                 Arrays.asList(WindowComponent.TEXTAREA.getIdentifier()));

+ 31
- 32
src/com/dmdirc/addons/logging/LoggingManager.java View File

44
 import com.dmdirc.events.QueryClosedEvent;
44
 import com.dmdirc.events.QueryClosedEvent;
45
 import com.dmdirc.events.QueryOpenedEvent;
45
 import com.dmdirc.events.QueryOpenedEvent;
46
 import com.dmdirc.events.UserErrorEvent;
46
 import com.dmdirc.events.UserErrorEvent;
47
-import com.dmdirc.interfaces.ActionController;
48
 import com.dmdirc.interfaces.Connection;
47
 import com.dmdirc.interfaces.Connection;
49
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
48
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
50
 import com.dmdirc.interfaces.config.ConfigChangeListener;
49
 import com.dmdirc.interfaces.config.ConfigChangeListener;
60
 import com.dmdirc.util.io.ReverseFileReader;
59
 import com.dmdirc.util.io.ReverseFileReader;
61
 import com.dmdirc.util.io.StreamUtils;
60
 import com.dmdirc.util.io.StreamUtils;
62
 
61
 
63
-import com.google.common.eventbus.EventBus;
64
-import com.google.common.eventbus.Subscribe;
65
-
66
 import java.awt.Color;
62
 import java.awt.Color;
67
 import java.io.BufferedWriter;
63
 import java.io.BufferedWriter;
68
 import java.io.File;
64
 import java.io.File;
87
 import javax.inject.Provider;
83
 import javax.inject.Provider;
88
 import javax.inject.Singleton;
84
 import javax.inject.Singleton;
89
 
85
 
86
+import net.engio.mbassy.bus.MBassador;
87
+import net.engio.mbassy.listener.Handler;
88
+
90
 /**
89
 /**
91
  * Manages logging activities.
90
  * Manages logging activities.
92
  */
91
  */
106
     private final Map<String, OpenFile> openFiles = Collections.synchronizedMap(
105
     private final Map<String, OpenFile> openFiles = Collections.synchronizedMap(
107
             new HashMap<String, OpenFile>());
106
             new HashMap<String, OpenFile>());
108
     private final URLBuilder urlBuilder;
107
     private final URLBuilder urlBuilder;
109
-    private final EventBus eventBus;
108
+    private final MBassador eventBus;
110
     private final Provider<String> directoryProvider;
109
     private final Provider<String> directoryProvider;
111
     /** Timer used to close idle files. */
110
     /** Timer used to close idle files. */
112
     private Timer idleFileTimer;
111
     private Timer idleFileTimer;
130
     @Inject
129
     @Inject
131
     public LoggingManager(@PluginDomain(LoggingPlugin.class) final String domain,
130
     public LoggingManager(@PluginDomain(LoggingPlugin.class) final String domain,
132
             @GlobalConfig final AggregateConfigProvider globalConfig,
131
             @GlobalConfig final AggregateConfigProvider globalConfig,
133
-            final WindowManager windowManager, final URLBuilder urlBuilder, final EventBus eventBus,
132
+            final WindowManager windowManager, final URLBuilder urlBuilder, final MBassador eventBus,
134
             @Directory(LoggingModule.LOGS_DIRECTORY) final Provider<String> directoryProvider) {
133
             @Directory(LoggingModule.LOGS_DIRECTORY) final Provider<String> directoryProvider) {
135
         this.domain = domain;
134
         this.domain = domain;
136
         this.config = globalConfig;
135
         this.config = globalConfig;
146
         final File dir = new File(directoryProvider.get());
145
         final File dir = new File(directoryProvider.get());
147
         if (dir.exists()) {
146
         if (dir.exists()) {
148
             if (!dir.isDirectory()) {
147
             if (!dir.isDirectory()) {
149
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, null,
148
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, null,
150
                         "Unable to create logging dir (file exists instead)", ""));
149
                         "Unable to create logging dir (file exists instead)", ""));
151
             }
150
             }
152
         } else {
151
         } else {
153
             if (!dir.mkdirs()) {
152
             if (!dir.mkdirs()) {
154
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, null,
153
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, null,
155
                         "Unable to create logging dir", ""));
154
                         "Unable to create logging dir", ""));
156
             }
155
             }
157
         }
156
         }
168
             }
167
             }
169
         }, 3600000);
168
         }, 3600000);
170
 
169
 
171
-        eventBus.register(this);
170
+        eventBus.subscribe(this);
172
     }
171
     }
173
 
172
 
174
     public void unload() {
173
     public void unload() {
184
             openFiles.clear();
183
             openFiles.clear();
185
         }
184
         }
186
 
185
 
187
-        eventBus.unregister(this);
186
+        eventBus.unsubscribe(this);
188
     }
187
     }
189
 
188
 
190
     /**
189
     /**
207
         }
206
         }
208
     }
207
     }
209
 
208
 
210
-    @Subscribe
209
+    @Handler
211
     public void handleQueryOpened(final QueryOpenedEvent event) {
210
     public void handleQueryOpened(final QueryOpenedEvent event) {
212
         final Parser parser = event.getQuery().getConnection().getParser();
211
         final Parser parser = event.getQuery().getConnection().getParser();
213
         final ClientInfo client = parser.getClient(event.getQuery().getHost());
212
         final ClientInfo client = parser.getClient(event.getQuery().getHost());
221
         appendLine(filename, "");
220
         appendLine(filename, "");
222
     }
221
     }
223
 
222
 
224
-    @Subscribe
223
+    @Handler
225
     public void handleQueryClosed(final QueryClosedEvent event) {
224
     public void handleQueryClosed(final QueryClosedEvent event) {
226
         final Parser parser = event.getQuery().getConnection().getParser();
225
         final Parser parser = event.getQuery().getConnection().getParser();
227
         final ClientInfo client = parser.getClient(event.getQuery().getHost());
226
         final ClientInfo client = parser.getClient(event.getQuery().getHost());
233
         }
232
         }
234
     }
233
     }
235
 
234
 
236
-    @Subscribe
235
+    @Handler
237
     public void handleQueryActions(final BaseQueryActionEvent event) {
236
     public void handleQueryActions(final BaseQueryActionEvent event) {
238
         final ClientInfo client = event.getClient();
237
         final ClientInfo client = event.getClient();
239
         final String filename = getLogFile(client);
238
         final String filename = getLogFile(client);
240
         appendLine(filename, "* %s %s", client.getNickname(), event.getMessage());
239
         appendLine(filename, "* %s %s", client.getNickname(), event.getMessage());
241
     }
240
     }
242
 
241
 
243
-    @Subscribe
242
+    @Handler
244
     public void handleQueryMessages(final BaseQueryMessageEvent event) {
243
     public void handleQueryMessages(final BaseQueryMessageEvent event) {
245
         final ClientInfo client = event.getClient();
244
         final ClientInfo client = event.getClient();
246
         final String filename = getLogFile(client);
245
         final String filename = getLogFile(client);
247
         appendLine(filename, "<%s> %s", client.getNickname(), event.getMessage());
246
         appendLine(filename, "<%s> %s", client.getNickname(), event.getMessage());
248
     }
247
     }
249
 
248
 
250
-    @Subscribe
249
+    @Handler
251
     public void handleChannelMessage(final BaseChannelMessageEvent event) {
250
     public void handleChannelMessage(final BaseChannelMessageEvent event) {
252
         final String filename = getLogFile(event.getChannel().getChannelInfo());
251
         final String filename = getLogFile(event.getChannel().getChannelInfo());
253
         appendLine(filename, "<%s> %s", getDisplayName(event.getClient()), event.getMessage());
252
         appendLine(filename, "<%s> %s", getDisplayName(event.getClient()), event.getMessage());
254
     }
253
     }
255
 
254
 
256
-    @Subscribe
255
+    @Handler
257
     public void handleChannelAction(final BaseChannelActionEvent event) {
256
     public void handleChannelAction(final BaseChannelActionEvent event) {
258
         final String filename = getLogFile(event.getChannel().getChannelInfo());
257
         final String filename = getLogFile(event.getChannel().getChannelInfo());
259
         appendLine(filename, "* %s %s", getDisplayName(event.getClient()), event.getMessage());
258
         appendLine(filename, "* %s %s", getDisplayName(event.getClient()), event.getMessage());
260
     }
259
     }
261
 
260
 
262
-    @Subscribe
261
+    @Handler
263
     public void handleChannelGotTopic(final ChannelGottopicEvent event) {
262
     public void handleChannelGotTopic(final ChannelGottopicEvent event) {
264
         final String filename = getLogFile(event.getChannel().getChannelInfo());
263
         final String filename = getLogFile(event.getChannel().getChannelInfo());
265
         final ChannelInfo channel = event.getChannel().getChannelInfo();
264
         final ChannelInfo channel = event.getChannel().getChannelInfo();
272
                 getTopicSetter());
271
                 getTopicSetter());
273
     }
272
     }
274
 
273
 
275
-    @Subscribe
274
+    @Handler
276
     public void handleChannelTopicChange(final ChannelTopicChangeEvent event) {
275
     public void handleChannelTopicChange(final ChannelTopicChangeEvent event) {
277
         final String filename = getLogFile(event.getChannel().getChannelInfo());
276
         final String filename = getLogFile(event.getChannel().getChannelInfo());
278
         final ChannelClientInfo channelClient = event.getClient();
277
         final ChannelClientInfo channelClient = event.getClient();
280
                 getDisplayName(channelClient), event.getTopic());
279
                 getDisplayName(channelClient), event.getTopic());
281
     }
280
     }
282
 
281
 
283
-    @Subscribe
282
+    @Handler
284
     public void handleChannelJoin(final ChannelJoinEvent event) {
283
     public void handleChannelJoin(final ChannelJoinEvent event) {
285
         final String filename = getLogFile(event.getChannel().getChannelInfo());
284
         final String filename = getLogFile(event.getChannel().getChannelInfo());
286
         final ChannelClientInfo channelClient = event.getClient();
285
         final ChannelClientInfo channelClient = event.getClient();
289
                 getDisplayName(channelClient), client.toString());
288
                 getDisplayName(channelClient), client.toString());
290
     }
289
     }
291
 
290
 
292
-    @Subscribe
291
+    @Handler
293
     public void handleChannelPart(final ChannelPartEvent event) {
292
     public void handleChannelPart(final ChannelPartEvent event) {
294
         final String filename = getLogFile(event.getChannel().getChannelInfo());
293
         final String filename = getLogFile(event.getChannel().getChannelInfo());
295
         final String message = event.getMessage();
294
         final String message = event.getMessage();
304
         }
303
         }
305
     }
304
     }
306
 
305
 
307
-    @Subscribe
306
+    @Handler
308
     public void handleChannelQuit(final ChannelQuitEvent event) {
307
     public void handleChannelQuit(final ChannelQuitEvent event) {
309
         final String filename = getLogFile(event.getChannel().getChannelInfo());
308
         final String filename = getLogFile(event.getChannel().getChannelInfo());
310
         final String reason = event.getMessage();
309
         final String reason = event.getMessage();
319
         }
318
         }
320
     }
319
     }
321
 
320
 
322
-    @Subscribe
321
+    @Handler
323
     public void handleChannelKick(final ChannelKickEvent event) {
322
     public void handleChannelKick(final ChannelKickEvent event) {
324
         final ChannelClientInfo victim = event.getVictim();
323
         final ChannelClientInfo victim = event.getVictim();
325
         final ChannelClientInfo perpetrator = event.getClient();
324
         final ChannelClientInfo perpetrator = event.getClient();
335
         }
334
         }
336
     }
335
     }
337
 
336
 
338
-    @Subscribe
337
+    @Handler
339
     public void handleNickChange(final ChannelNickchangeEvent event) {
338
     public void handleNickChange(final ChannelNickchangeEvent event) {
340
         final String filename = getLogFile(event.getChannel().getChannelInfo());
339
         final String filename = getLogFile(event.getChannel().getChannelInfo());
341
         appendLine(filename, "*** %s is now %s", getDisplayName(event.getClient(),
340
         appendLine(filename, "*** %s is now %s", getDisplayName(event.getClient(),
342
                 event.getOldNick()), getDisplayName(event.getClient()));
341
                 event.getOldNick()), getDisplayName(event.getClient()));
343
     }
342
     }
344
 
343
 
345
-    @Subscribe
344
+    @Handler
346
     public void handleModeChange(final ChannelModechangeEvent event) {
345
     public void handleModeChange(final ChannelModechangeEvent event) {
347
         final String filename = getLogFile(event.getChannel().getChannelInfo());
346
         final String filename = getLogFile(event.getChannel().getChannelInfo());
348
         if (event.getClient().getClient().getNickname().isEmpty()) {
347
         if (event.getClient().getClient().getNickname().isEmpty()) {
358
         setCachedSettings();
357
         setCachedSettings();
359
     }
358
     }
360
 
359
 
361
-    @Subscribe
360
+    @Handler
362
     public void handleChannelOpened(final ChannelOpenedEvent event) {
361
     public void handleChannelOpened(final ChannelOpenedEvent event) {
363
         final String filename = getLogFile(event.getChannel());
362
         final String filename = getLogFile(event.getChannel());
364
 
363
 
370
         appendLine(filename, "");
369
         appendLine(filename, "");
371
     }
370
     }
372
 
371
 
373
-    @Subscribe
372
+    @Handler
374
     public void handleChannelClosed(final ChannelClosedEvent event) {
373
     public void handleChannelClosed(final ChannelClosedEvent event) {
375
         final String filename = getLogFile(event.getChannel());
374
         final String filename = getLogFile(event.getChannel());
376
 
375
 
389
      */
388
      */
390
     protected void showBackBuffer(final FrameContainer frame, final String filename) {
389
     protected void showBackBuffer(final FrameContainer frame, final String filename) {
391
         if (frame == null) {
390
         if (frame == null) {
392
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, null, "Given a null frame", ""));
391
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, null, "Given a null frame", ""));
393
             return;
392
             return;
394
         }
393
         }
395
 
394
 
409
                 frame.addLine(getColouredString(colour, "--- End of backbuffer\n"),
408
                 frame.addLine(getColouredString(colour, "--- End of backbuffer\n"),
410
                         backbufferTimestamp);
409
                         backbufferTimestamp);
411
             } catch (IOException | SecurityException e) {
410
             } catch (IOException | SecurityException e) {
412
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, e,
411
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, e,
413
                         "Unable to show backbuffer (Filename: " + filename + "): " + e.getMessage(),
412
                         "Unable to show backbuffer (Filename: " + filename + "): " + e.getMessage(),
414
                         ""));
413
                         ""));
415
             }
414
             }
485
                 final DateFormat dateFormat = new SimpleDateFormat("[dd/MM/yyyy HH:mm:ss]");
484
                 final DateFormat dateFormat = new SimpleDateFormat("[dd/MM/yyyy HH:mm:ss]");
486
                 dateString = dateFormat.format(new Date()).trim();
485
                 dateString = dateFormat.format(new Date()).trim();
487
 
486
 
488
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, iae,
487
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, iae,
489
                         "Dateformat String '" + timestamp + "' is invalid. For more information: "
488
                         "Dateformat String '" + timestamp + "' is invalid. For more information: "
490
                         + "http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html",
489
                         + "http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html",
491
                         ""));
490
                         ""));
602
 
601
 
603
             if (!new File(directory.toString()).exists() && !(new File(directory.toString())).
602
             if (!new File(directory.toString()).exists() && !(new File(directory.toString())).
604
                     mkdirs()) {
603
                     mkdirs()) {
605
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, null,
604
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, null,
606
                         "Unable to create date dirs", ""));
605
                         "Unable to create date dirs", ""));
607
             }
606
             }
608
         }
607
         }
654
         final File dir = new File(directory.toString() + network + System.getProperty(
653
         final File dir = new File(directory.toString() + network + System.getProperty(
655
                 "file.separator"));
654
                 "file.separator"));
656
         if (dir.exists() && !dir.isDirectory()) {
655
         if (dir.exists() && !dir.isDirectory()) {
657
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, null,
656
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, null,
658
                     "Unable to create networkfolders dir (file exists instead)", ""));
657
                     "Unable to create networkfolders dir (file exists instead)", ""));
659
             // Prepend network name to file instead.
658
             // Prepend network name to file instead.
660
             prependNetwork = true;
659
             prependNetwork = true;
661
         } else if (!dir.exists() && !dir.mkdirs()) {
660
         } else if (!dir.exists() && !dir.mkdirs()) {
662
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, null,
661
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, null,
663
                     "Unable to create networkfolders dir", ""));
662
                     "Unable to create networkfolders dir", ""));
664
             prependNetwork = true;
663
             prependNetwork = true;
665
         }
664
         }

+ 5
- 5
src/com/dmdirc/addons/mediasource_dbus/DBusMediaSourceManager.java View File

26
 import com.dmdirc.events.UserErrorEvent;
26
 import com.dmdirc.events.UserErrorEvent;
27
 import com.dmdirc.logger.ErrorLevel;
27
 import com.dmdirc.logger.ErrorLevel;
28
 
28
 
29
-import com.google.common.eventbus.EventBus;
30
-
31
 import java.io.BufferedReader;
29
 import java.io.BufferedReader;
32
 import java.io.File;
30
 import java.io.File;
33
 import java.io.IOException;
31
 import java.io.IOException;
39
 
37
 
40
 import javax.inject.Inject;
38
 import javax.inject.Inject;
41
 
39
 
40
+import net.engio.mbassy.bus.MBassador;
41
+
42
 /**
42
 /**
43
  * Provides a media source for DBUS players.
43
  * Provides a media source for DBUS players.
44
  */
44
  */
47
     /** A map of discovered mpris sources. */
47
     /** A map of discovered mpris sources. */
48
     private final Map<String, MediaSource> mprisSources;
48
     private final Map<String, MediaSource> mprisSources;
49
     /** The event bus to post errors to. */
49
     /** The event bus to post errors to. */
50
-    private final EventBus eventBus;
50
+    private final MBassador eventBus;
51
     /** The sources used by this media source. */
51
     /** The sources used by this media source. */
52
     private final List<MediaSource> sources;
52
     private final List<MediaSource> sources;
53
     /** The path to qdbus. */
53
     /** The path to qdbus. */
54
     private String qdbus;
54
     private String qdbus;
55
 
55
 
56
     @Inject
56
     @Inject
57
-    public DBusMediaSourceManager(final EventBus eventBus) {
57
+    public DBusMediaSourceManager(final MBassador eventBus) {
58
         this.eventBus = eventBus;
58
         this.eventBus = eventBus;
59
         sources = new ArrayList<>();
59
         sources = new ArrayList<>();
60
         mprisSources = new HashMap<>();
60
         mprisSources = new HashMap<>();
146
                 }
146
                 }
147
             }
147
             }
148
         } catch (IOException ex) {
148
         } catch (IOException ex) {
149
-            eventBus.post(new UserErrorEvent(ErrorLevel.HIGH, ex, "Unable to get DBUS info", ""));
149
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, ex, "Unable to get DBUS info", ""));
150
         } finally {
150
         } finally {
151
             if (process != null) {
151
             if (process != null) {
152
                 process.destroy();
152
                 process.destroy();

+ 6
- 6
src/com/dmdirc/addons/mediasource_linux_title/TitleMediaSource.java View File

27
 import com.dmdirc.events.UserErrorEvent;
27
 import com.dmdirc.events.UserErrorEvent;
28
 import com.dmdirc.logger.ErrorLevel;
28
 import com.dmdirc.logger.ErrorLevel;
29
 
29
 
30
-import com.google.common.eventbus.EventBus;
31
-
32
 import java.io.BufferedReader;
30
 import java.io.BufferedReader;
33
 import java.io.IOException;
31
 import java.io.IOException;
34
 import java.io.InputStreamReader;
32
 import java.io.InputStreamReader;
35
 
33
 
34
+import net.engio.mbassy.bus.MBassador;
35
+
36
 /**
36
 /**
37
  * Provides a media source for Linux players using the `xwininfo` command.
37
  * Provides a media source for Linux players using the `xwininfo` command.
38
  */
38
  */
39
 public class TitleMediaSource implements MediaSource {
39
 public class TitleMediaSource implements MediaSource {
40
 
40
 
41
     /** The event bus to post errors to. */
41
     /** The event bus to post errors to. */
42
-    private final EventBus eventBus;
42
+    private final MBassador eventBus;
43
     /** The command to use to get the title. */
43
     /** The command to use to get the title. */
44
     private final String command;
44
     private final String command;
45
     /** The name of the player we're retrieving. */
45
     /** The name of the player we're retrieving. */
52
      * @param command  The command to be executed
52
      * @param command  The command to be executed
53
      * @param name     The name of the media source
53
      * @param name     The name of the media source
54
      */
54
      */
55
-    public TitleMediaSource(final EventBus eventBus, final String command, final String name) {
55
+    public TitleMediaSource(final MBassador eventBus, final String command, final String name) {
56
         this.eventBus = eventBus;
56
         this.eventBus = eventBus;
57
         this.command = command;
57
         this.command = command;
58
         this.name = name;
58
         this.name = name;
127
                     return line;
127
                     return line;
128
                 }
128
                 }
129
             } catch (IOException ex) {
129
             } catch (IOException ex) {
130
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
130
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
131
                         "Unable to retrieve media source info", ""));
131
                         "Unable to retrieve media source info", ""));
132
             }
132
             }
133
         } catch (IOException ex) {
133
         } catch (IOException ex) {
134
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
134
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
135
                             "Unable to retrieve media source info", ""));
135
                             "Unable to retrieve media source info", ""));
136
         }
136
         }
137
 
137
 

+ 3
- 3
src/com/dmdirc/addons/mediasource_linux_title/TitleMediaSourceManager.java View File

24
 
24
 
25
 import com.dmdirc.addons.nowplaying.MediaSource;
25
 import com.dmdirc.addons.nowplaying.MediaSource;
26
 
26
 
27
-import com.google.common.eventbus.EventBus;
27
+import net.engio.mbassy.bus.MBassador;
28
 
28
 
29
 import java.util.ArrayList;
29
 import java.util.ArrayList;
30
 import java.util.List;
30
 import java.util.List;
40
     /** The sources to be returned. */
40
     /** The sources to be returned. */
41
     private List<MediaSource> sources = null;
41
     private List<MediaSource> sources = null;
42
     /** The event bus to post errors to. */
42
     /** The event bus to post errors to. */
43
-    private final EventBus eventBus;
43
+    private final MBassador eventBus;
44
 
44
 
45
     @Inject
45
     @Inject
46
-    public TitleMediaSourceManager(final EventBus eventBus) {
46
+    public TitleMediaSourceManager(final MBassador eventBus) {
47
         this.eventBus = eventBus;
47
         this.eventBus = eventBus;
48
     }
48
     }
49
 
49
 

+ 9
- 9
src/com/dmdirc/addons/nickcolours/NickColourManager.java View File

35
 import com.dmdirc.ui.Colour;
35
 import com.dmdirc.ui.Colour;
36
 import com.dmdirc.ui.messages.ColourManager;
36
 import com.dmdirc.ui.messages.ColourManager;
37
 
37
 
38
-import com.google.common.eventbus.EventBus;
39
-import com.google.common.eventbus.Subscribe;
40
-
41
 import java.util.ArrayList;
38
 import java.util.ArrayList;
42
 import java.util.List;
39
 import java.util.List;
43
 import java.util.Map;
40
 import java.util.Map;
45
 import javax.inject.Inject;
42
 import javax.inject.Inject;
46
 import javax.inject.Singleton;
43
 import javax.inject.Singleton;
47
 
44
 
45
+import net.engio.mbassy.bus.MBassador;
46
+import net.engio.mbassy.listener.Handler;
47
+
48
 /**
48
 /**
49
  * Provides various features related to nickname colouring.
49
  * Provides various features related to nickname colouring.
50
  */
50
  */
58
     /** Plugin's setting domain. */
58
     /** Plugin's setting domain. */
59
     private final String domain;
59
     private final String domain;
60
     /** Event bus to subscribe to events on . */
60
     /** Event bus to subscribe to events on . */
61
-    private final EventBus eventBus;
61
+    private final MBassador eventBus;
62
     /** "Random" colours to use to colour nicknames. */
62
     /** "Random" colours to use to colour nicknames. */
63
     private String[] randColours = new String[]{
63
     private String[] randColours = new String[]{
64
         "E90E7F", "8E55E9", "B30E0E", "18B33C", "58ADB3", "9E54B3", "B39875", "3176B3",};
64
         "E90E7F", "8E55E9", "B30E0E", "18B33C", "58ADB3", "9E54B3", "B39875", "3176B3",};
71
     @Inject
71
     @Inject
72
     public NickColourManager(final ColourManager colourManager,
72
     public NickColourManager(final ColourManager colourManager,
73
             @PluginDomain(NickColourPlugin.class) final String domain,
73
             @PluginDomain(NickColourPlugin.class) final String domain,
74
-            @GlobalConfig final AggregateConfigProvider globalConfig, final EventBus eventBus) {
74
+            @GlobalConfig final AggregateConfigProvider globalConfig, final MBassador eventBus) {
75
         this.domain = domain;
75
         this.domain = domain;
76
         this.globalConfig = globalConfig;
76
         this.globalConfig = globalConfig;
77
         this.colourManager = colourManager;
77
         this.colourManager = colourManager;
78
         this.eventBus = eventBus;
78
         this.eventBus = eventBus;
79
     }
79
     }
80
 
80
 
81
-    @Subscribe
81
+    @Handler
82
     public void handleChannelNames(final ChannelGotnamesEvent event) {
82
     public void handleChannelNames(final ChannelGotnamesEvent event) {
83
         final ChannelInfo chanInfo = event.getChannel().getChannelInfo();
83
         final ChannelInfo chanInfo = event.getChannel().getChannelInfo();
84
         final String network = event.getChannel().getConnection().getNetwork();
84
         final String network = event.getChannel().getConnection().getNetwork();
88
         }
88
         }
89
     }
89
     }
90
 
90
 
91
-    @Subscribe
91
+    @Handler
92
     public void handleChannelJoin(final ChannelJoinEvent event) {
92
     public void handleChannelJoin(final ChannelJoinEvent event) {
93
         final String network = event.getChannel().getConnection().getNetwork();
93
         final String network = event.getChannel().getConnection().getNetwork();
94
         colourClient(network, event.getClient());
94
         colourClient(network, event.getClient());
240
      */
240
      */
241
     public void onLoad() {
241
     public void onLoad() {
242
         setCachedSettings();
242
         setCachedSettings();
243
-        eventBus.register(this);
243
+        eventBus.subscribe(this);
244
     }
244
     }
245
 
245
 
246
     /**
246
     /**
247
      * Unloads this plugin.
247
      * Unloads this plugin.
248
      */
248
      */
249
     public void onUnload() {
249
     public void onUnload() {
250
-        eventBus.unregister(this);
250
+        eventBus.unsubscribe(this);
251
     }
251
     }
252
 
252
 
253
     /**
253
     /**

+ 9
- 9
src/com/dmdirc/addons/notifications/NotificationsManager.java View File

30
 import com.dmdirc.plugins.PluginInfo;
30
 import com.dmdirc.plugins.PluginInfo;
31
 import com.dmdirc.plugins.PluginManager;
31
 import com.dmdirc.plugins.PluginManager;
32
 
32
 
33
-import com.google.common.eventbus.EventBus;
34
-import com.google.common.eventbus.Subscribe;
35
-
36
 import java.util.ArrayList;
33
 import java.util.ArrayList;
37
 import java.util.List;
34
 import java.util.List;
38
 
35
 
39
 import javax.inject.Inject;
36
 import javax.inject.Inject;
40
 
37
 
38
+import net.engio.mbassy.bus.MBassador;
39
+import net.engio.mbassy.listener.Handler;
40
+
41
 public class NotificationsManager {
41
 public class NotificationsManager {
42
 
42
 
43
     /** The notification methods that we know of. */
43
     /** The notification methods that we know of. */
51
     /** Plugin manager. */
51
     /** Plugin manager. */
52
     private final PluginManager pluginManager;
52
     private final PluginManager pluginManager;
53
     /** Event bus to listen for events on. */
53
     /** Event bus to listen for events on. */
54
-    private final EventBus eventBus;
54
+    private final MBassador eventBus;
55
 
55
 
56
     @Inject
56
     @Inject
57
     public NotificationsManager(@PluginDomain(NotificationsPlugin.class) final String domain,
57
     public NotificationsManager(@PluginDomain(NotificationsPlugin.class) final String domain,
58
-            @GlobalConfig final AggregateConfigProvider globalConfig, final EventBus eventBus,
58
+            @GlobalConfig final AggregateConfigProvider globalConfig, final MBassador eventBus,
59
             final PluginManager pluginManager) {
59
             final PluginManager pluginManager) {
60
         this.domain = domain;
60
         this.domain = domain;
61
         this.globalConfig = globalConfig;
61
         this.globalConfig = globalConfig;
66
     public void onLoad() {
66
     public void onLoad() {
67
         methods.clear();
67
         methods.clear();
68
         loadSettings();
68
         loadSettings();
69
-        eventBus.register(this);
69
+        eventBus.subscribe(this);
70
         for (PluginInfo target : pluginManager.getPluginInfos()) {
70
         for (PluginInfo target : pluginManager.getPluginInfos()) {
71
             if (target.isLoaded()) {
71
             if (target.isLoaded()) {
72
                 addPlugin(target);
72
                 addPlugin(target);
76
 
76
 
77
     public void onUnload() {
77
     public void onUnload() {
78
         methods.clear();
78
         methods.clear();
79
-        eventBus.unregister(this);
79
+        eventBus.unsubscribe(this);
80
     }
80
     }
81
 
81
 
82
-    @Subscribe
82
+    @Handler
83
     public void handlePluginLoaded(final PluginLoadedEvent event) {
83
     public void handlePluginLoaded(final PluginLoadedEvent event) {
84
         addPlugin(event.getPlugin());
84
         addPlugin(event.getPlugin());
85
     }
85
     }
86
 
86
 
87
-    @Subscribe
87
+    @Handler
88
     public void handlePluginUnloaded(final PluginUnloadedEvent event) {
88
     public void handlePluginUnloaded(final PluginUnloadedEvent event) {
89
         removePlugin(event.getPlugin());
89
         removePlugin(event.getPlugin());
90
     }
90
     }

+ 9
- 9
src/com/dmdirc/addons/nowplaying/NowPlayingManager.java View File

31
 import com.dmdirc.plugins.PluginInfo;
31
 import com.dmdirc.plugins.PluginInfo;
32
 import com.dmdirc.plugins.PluginManager;
32
 import com.dmdirc.plugins.PluginManager;
33
 
33
 
34
-import com.google.common.eventbus.EventBus;
35
-import com.google.common.eventbus.Subscribe;
36
-
37
 import java.util.ArrayList;
34
 import java.util.ArrayList;
38
 import java.util.Collections;
35
 import java.util.Collections;
39
 import java.util.List;
36
 import java.util.List;
40
 
37
 
41
 import javax.inject.Inject;
38
 import javax.inject.Inject;
42
 
39
 
40
+import net.engio.mbassy.bus.MBassador;
41
+import net.engio.mbassy.listener.Handler;
42
+
43
 public class NowPlayingManager {
43
 public class NowPlayingManager {
44
 
44
 
45
     /** Plugin manager to get plugins from. */
45
     /** Plugin manager to get plugins from. */
47
     /** Global configuration to read settings from. */
47
     /** Global configuration to read settings from. */
48
     private final AggregateConfigProvider globalConfig;
48
     private final AggregateConfigProvider globalConfig;
49
     /** Event bus to subscribe to events on. */
49
     /** Event bus to subscribe to events on. */
50
-    private final EventBus eventBus;
50
+    private final MBassador eventBus;
51
     /** This plugin's settings domain. */
51
     /** This plugin's settings domain. */
52
     private final String domain;
52
     private final String domain;
53
     /** The sources that we know of. */
53
     /** The sources that we know of. */
58
     private List<String> order;
58
     private List<String> order;
59
 
59
 
60
     @Inject
60
     @Inject
61
-    public NowPlayingManager(final PluginManager pluginManager, final EventBus eventBus,
61
+    public NowPlayingManager(final PluginManager pluginManager, final MBassador eventBus,
62
             @GlobalConfig final AggregateConfigProvider globalConfig,
62
             @GlobalConfig final AggregateConfigProvider globalConfig,
63
             @PluginDomain(NowPlayingPlugin.class) final String domain) {
63
             @PluginDomain(NowPlayingPlugin.class) final String domain) {
64
         this.pluginManager = pluginManager;
64
         this.pluginManager = pluginManager;
74
         sources.clear();
74
         sources.clear();
75
         managers.clear();
75
         managers.clear();
76
         order = getSettings();
76
         order = getSettings();
77
-        eventBus.register(this);
77
+        eventBus.subscribe(this);
78
         for (PluginInfo target : pluginManager.getPluginInfos()) {
78
         for (PluginInfo target : pluginManager.getPluginInfos()) {
79
             if (target.isLoaded()) {
79
             if (target.isLoaded()) {
80
                 addPlugin(target);
80
                 addPlugin(target);
88
     public void onUnload() {
88
     public void onUnload() {
89
         sources.clear();
89
         sources.clear();
90
         managers.clear();
90
         managers.clear();
91
-        eventBus.unregister(this);
91
+        eventBus.unsubscribe(this);
92
     }
92
     }
93
 
93
 
94
-    @Subscribe
94
+    @Handler
95
     public void handlePluginLoaded(final PluginLoadedEvent event) {
95
     public void handlePluginLoaded(final PluginLoadedEvent event) {
96
         addPlugin(event.getPlugin());
96
         addPlugin(event.getPlugin());
97
     }
97
     }
98
 
98
 
99
-    @Subscribe
99
+    @Handler
100
     public void handlePluginUnloaded(final PluginUnloadedEvent event) {
100
     public void handlePluginUnloaded(final PluginUnloadedEvent event) {
101
         removePlugin(event.getPlugin());
101
         removePlugin(event.getPlugin());
102
     }
102
     }

+ 2
- 2
src/com/dmdirc/addons/parserdebug/DebugWindow.java View File

29
 import com.dmdirc.ui.core.components.WindowComponent;
29
 import com.dmdirc.ui.core.components.WindowComponent;
30
 import com.dmdirc.util.URLBuilder;
30
 import com.dmdirc.util.URLBuilder;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
32
+import net.engio.mbassy.bus.MBassador;
33
 
33
 
34
 import java.util.Arrays;
34
 import java.util.Arrays;
35
 
35
 
61
             final Parser parser,
61
             final Parser parser,
62
             final Connection connection,
62
             final Connection connection,
63
             final URLBuilder urlBuilder,
63
             final URLBuilder urlBuilder,
64
-            final EventBus eventBus) {
64
+            final MBassador eventBus) {
65
         super(connection.getWindowModel(), "raw", "Parser Debug", title,
65
         super(connection.getWindowModel(), "raw", "Parser Debug", title,
66
                 connection.getWindowModel().getConfigManager(),
66
                 connection.getWindowModel().getConfigManager(),
67
                 urlBuilder, eventBus, Arrays.asList(WindowComponent.TEXTAREA.getIdentifier()));
67
                 urlBuilder, eventBus, Arrays.asList(WindowComponent.TEXTAREA.getIdentifier()));

+ 8
- 8
src/com/dmdirc/addons/parserdebug/ParserDebugManager.java View File

30
 import com.dmdirc.ui.WindowManager;
30
 import com.dmdirc.ui.WindowManager;
31
 import com.dmdirc.util.URLBuilder;
31
 import com.dmdirc.util.URLBuilder;
32
 
32
 
33
-import com.google.common.eventbus.EventBus;
34
-import com.google.common.eventbus.Subscribe;
35
-
36
 import java.util.Date;
33
 import java.util.Date;
37
 import java.util.HashMap;
34
 import java.util.HashMap;
38
 import java.util.Map;
35
 import java.util.Map;
39
 
36
 
40
 import javax.inject.Inject;
37
 import javax.inject.Inject;
41
 
38
 
39
+import net.engio.mbassy.bus.MBassador;
40
+import net.engio.mbassy.listener.Handler;
41
+
42
 public class ParserDebugManager implements DebugInfoListener {
42
 public class ParserDebugManager implements DebugInfoListener {
43
 
43
 
44
     /** Event bus to subscribe to events on. */
44
     /** Event bus to subscribe to events on. */
45
-    private final EventBus eventBus;
45
+    private final MBassador eventBus;
46
     /** Map of parsers registered. */
46
     /** Map of parsers registered. */
47
     protected final Map<Parser, DebugWindow> registeredParsers;
47
     protected final Map<Parser, DebugWindow> registeredParsers;
48
     /** URL Builder. */
48
     /** URL Builder. */
54
     public ParserDebugManager(
54
     public ParserDebugManager(
55
             final URLBuilder urlBuilder,
55
             final URLBuilder urlBuilder,
56
             final WindowManager windowManager,
56
             final WindowManager windowManager,
57
-            final EventBus eventBus) {
57
+            final MBassador eventBus) {
58
         this.urlBuilder = urlBuilder;
58
         this.urlBuilder = urlBuilder;
59
         this.windowManager = windowManager;
59
         this.windowManager = windowManager;
60
         this.eventBus = eventBus;
60
         this.eventBus = eventBus;
65
      * Adds action listener.
65
      * Adds action listener.
66
      */
66
      */
67
     public void addActionListener() {
67
     public void addActionListener() {
68
-        eventBus.register(this);
68
+        eventBus.subscribe(this);
69
     }
69
     }
70
 
70
 
71
     /**
71
     /**
72
      * Remove action listener.
72
      * Remove action listener.
73
      */
73
      */
74
     public void removeActionListener() {
74
     public void removeActionListener() {
75
-        eventBus.unregister(this);
75
+        eventBus.unsubscribe(this);
76
     }
76
     }
77
 
77
 
78
     /**
78
     /**
146
         }
146
         }
147
     }
147
     }
148
 
148
 
149
-    @Subscribe
149
+    @Handler
150
     public void handleServerDisconnected(final ServerDisconnectedEvent event) {
150
     public void handleServerDisconnected(final ServerDisconnectedEvent event) {
151
             final Parser parser = event.getConnection().getParser();
151
             final Parser parser = event.getConnection().getParser();
152
             if (registeredParsers.containsKey(parser)) {
152
             if (registeredParsers.containsKey(parser)) {

+ 2
- 2
src/com/dmdirc/addons/redirect/FakeWriteableFrameContainer.java View File

28
 import com.dmdirc.ui.messages.Formatter;
28
 import com.dmdirc.ui.messages.Formatter;
29
 import com.dmdirc.util.URLBuilder;
29
 import com.dmdirc.util.URLBuilder;
30
 
30
 
31
-import com.google.common.eventbus.EventBus;
31
+import net.engio.mbassy.bus.MBassador;
32
 
32
 
33
 import java.util.Collections;
33
 import java.util.Collections;
34
 import java.util.Date;
34
 import java.util.Date;
52
     public FakeWriteableFrameContainer(
52
     public FakeWriteableFrameContainer(
53
             final FrameContainer target,
53
             final FrameContainer target,
54
             final MessageSinkManager messageSinkManager,
54
             final MessageSinkManager messageSinkManager,
55
-            final EventBus eventBus,
55
+            final MBassador eventBus,
56
             final URLBuilder urlBuilder) {
56
             final URLBuilder urlBuilder) {
57
         super(target, target.getIcon(), target.getName(), target.getTitle(),
57
         super(target, target.getIcon(), target.getName(), target.getTitle(),
58
                 target.getConfigManager(), urlBuilder, target.getCommandParser(),
58
                 target.getConfigManager(), urlBuilder, target.getCommandParser(),

+ 3
- 3
src/com/dmdirc/addons/redirect/RedirectCommand.java View File

36
 import com.dmdirc.ui.input.TabCompleter;
36
 import com.dmdirc.ui.input.TabCompleter;
37
 import com.dmdirc.util.URLBuilder;
37
 import com.dmdirc.util.URLBuilder;
38
 
38
 
39
-import com.google.common.eventbus.EventBus;
39
+import net.engio.mbassy.bus.MBassador;
40
 
40
 
41
 import javax.inject.Inject;
41
 import javax.inject.Inject;
42
 
42
 
56
     /** The URL builder to use when finding icons. */
56
     /** The URL builder to use when finding icons. */
57
     private final URLBuilder urlBuilder;
57
     private final URLBuilder urlBuilder;
58
     /** The bus to dispatch events on. */
58
     /** The bus to dispatch events on. */
59
-    private final EventBus eventBus;
59
+    private final MBassador eventBus;
60
 
60
 
61
     /**
61
     /**
62
      * Creates a new instance of this command.
62
      * Creates a new instance of this command.
71
             final CommandController controller,
71
             final CommandController controller,
72
             final MessageSinkManager messageSinkManager,
72
             final MessageSinkManager messageSinkManager,
73
             final URLBuilder urlBuilder,
73
             final URLBuilder urlBuilder,
74
-            final EventBus eventBus) {
74
+            final MBassador eventBus) {
75
         super(controller);
75
         super(controller);
76
         this.messageSinkManager = messageSinkManager;
76
         this.messageSinkManager = messageSinkManager;
77
         this.urlBuilder = urlBuilder;
77
         this.urlBuilder = urlBuilder;

+ 3
- 3
src/com/dmdirc/addons/scriptplugin/ScriptCommand.java View File

37
 import com.dmdirc.plugins.PluginDomain;
37
 import com.dmdirc.plugins.PluginDomain;
38
 import com.dmdirc.ui.input.AdditionalTabTargets;
38
 import com.dmdirc.ui.input.AdditionalTabTargets;
39
 
39
 
40
-import com.google.common.eventbus.EventBus;
40
+import net.engio.mbassy.bus.MBassador;
41
 
41
 
42
 import java.io.File;
42
 import java.io.File;
43
 import java.io.FileNotFoundException;
43
 import java.io.FileNotFoundException;
69
     /** Script manager to handle scripts. */
69
     /** Script manager to handle scripts. */
70
     private final ScriptManager scriptManager;
70
     private final ScriptManager scriptManager;
71
     /** The event bus to post errors to. */
71
     /** The event bus to post errors to. */
72
-    private final EventBus eventBus;
72
+    private final MBassador eventBus;
73
 
73
 
74
     /**
74
     /**
75
      * Creates a new instance of this command.
75
      * Creates a new instance of this command.
84
      */
84
      */
85
     @Inject
85
     @Inject
86
     public ScriptCommand(final ScriptManager scriptManager,
86
     public ScriptCommand(final ScriptManager scriptManager,
87
-            final EventBus eventBus,
87
+            final MBassador eventBus,
88
             @Directory(ScriptModule.SCRIPTS) final String scriptDirectory,
88
             @Directory(ScriptModule.SCRIPTS) final String scriptDirectory,
89
             @GlobalConfig final AggregateConfigProvider globalConfig,
89
             @GlobalConfig final AggregateConfigProvider globalConfig,
90
             final CommandController commandController,
90
             final CommandController commandController,

+ 6
- 5
src/com/dmdirc/addons/scriptplugin/ScriptEngineWrapper.java View File

26
 import com.dmdirc.logger.ErrorLevel;
26
 import com.dmdirc.logger.ErrorLevel;
27
 
27
 
28
 import com.google.common.base.Preconditions;
28
 import com.google.common.base.Preconditions;
29
-import com.google.common.eventbus.EventBus;
30
 
29
 
31
 import java.io.File;
30
 import java.io.File;
32
 import java.io.FileNotFoundException;
31
 import java.io.FileNotFoundException;
38
 import javax.script.ScriptEngineManager;
37
 import javax.script.ScriptEngineManager;
39
 import javax.script.ScriptException;
38
 import javax.script.ScriptException;
40
 
39
 
40
+import net.engio.mbassy.bus.MBassador;
41
+
41
 /**
42
 /**
42
  * Class to create script engines!
43
  * Class to create script engines!
43
  */
44
  */
44
 public class ScriptEngineWrapper {
45
 public class ScriptEngineWrapper {
45
 
46
 
46
     /** The event bus to post errors to. */
47
     /** The event bus to post errors to. */
47
-    private final EventBus eventBus;
48
+    private final MBassador eventBus;
48
     /** The Script Engine this wrapper wraps */
49
     /** The Script Engine this wrapper wraps */
49
     private ScriptEngine engine;
50
     private ScriptEngine engine;
50
     /** The File this script is from */
51
     /** The File this script is from */
65
      * @throws javax.script.ScriptException  If there was an error during creation
66
      * @throws javax.script.ScriptException  If there was an error during creation
66
      */
67
      */
67
     protected ScriptEngineWrapper(final ScriptEngineManager scriptEngineManager,
68
     protected ScriptEngineWrapper(final ScriptEngineManager scriptEngineManager,
68
-            final EventBus eventBus, final String filename)
69
+            final MBassador eventBus, final String filename)
69
             throws FileNotFoundException, ScriptException {
70
             throws FileNotFoundException, ScriptException {
70
         Preconditions.checkNotNull(filename, "File cannot be null");
71
         Preconditions.checkNotNull(filename, "File cannot be null");
71
         this.eventBus = eventBus;
72
         this.eventBus = eventBus;
141
             // and do nothing rather that add an error every time a method is called
142
             // and do nothing rather that add an error every time a method is called
142
             // that doesn't exist (such as the action_* methods)
143
             // that doesn't exist (such as the action_* methods)
143
         } catch (ScriptException e) {
144
         } catch (ScriptException e) {
144
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, e,
145
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, e,
145
                     "Error calling '" + functionName + "' in '" + file.getPath() + "': " +
146
                     "Error calling '" + functionName + "' in '" + file.getPath() + "': " +
146
                             e.getMessage(), ""));
147
                             e.getMessage(), ""));
147
         }
148
         }
162
             // Tell it that it has been rehashed
163
             // Tell it that it has been rehashed
163
             callFunction("onRehashSucess");
164
             callFunction("onRehashSucess");
164
         } catch (ScriptException e) {
165
         } catch (ScriptException e) {
165
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, e,
166
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, e,
166
                     "Reloading '" + file.getPath() + "' failed: " + e.getMessage(), ""));
167
                     "Reloading '" + file.getPath() + "' failed: " + e.getMessage(), ""));
167
             // Tell it that its rehash failed
168
             // Tell it that its rehash failed
168
             callFunction("onRehashFailed", e);
169
             callFunction("onRehashFailed", e);

+ 5
- 5
src/com/dmdirc/addons/scriptplugin/ScriptManager.java View File

26
 import com.dmdirc.events.UserErrorEvent;
26
 import com.dmdirc.events.UserErrorEvent;
27
 import com.dmdirc.logger.ErrorLevel;
27
 import com.dmdirc.logger.ErrorLevel;
28
 
28
 
29
-import com.google.common.eventbus.EventBus;
30
-
31
 import java.io.File;
29
 import java.io.File;
32
 import java.io.FileNotFoundException;
30
 import java.io.FileNotFoundException;
33
 import java.util.Arrays;
31
 import java.util.Arrays;
40
 import javax.script.ScriptEngineManager;
38
 import javax.script.ScriptEngineManager;
41
 import javax.script.ScriptException;
39
 import javax.script.ScriptException;
42
 
40
 
41
+import net.engio.mbassy.bus.MBassador;
42
+
43
 public class ScriptManager {
43
 public class ScriptManager {
44
 
44
 
45
     /** Script engine manager. */
45
     /** Script engine manager. */
49
     /** Store Script State Name,Engine */
49
     /** Store Script State Name,Engine */
50
     private final Map<String, ScriptEngineWrapper> scripts = new HashMap<>();
50
     private final Map<String, ScriptEngineWrapper> scripts = new HashMap<>();
51
     /** The event bus to post events to. */
51
     /** The event bus to post events to. */
52
-    private final EventBus eventBus;
52
+    private final MBassador eventBus;
53
 
53
 
54
     @Inject
54
     @Inject
55
     public ScriptManager(final ScriptEngineManager scriptEngineManager,
55
     public ScriptManager(final ScriptEngineManager scriptEngineManager,
56
             @Directory(ScriptModule.SCRIPTS) final String scriptDirectory,
56
             @Directory(ScriptModule.SCRIPTS) final String scriptDirectory,
57
-            final EventBus eventBus) {
57
+            final MBassador eventBus) {
58
         this.scriptEngineManager = scriptEngineManager;
58
         this.scriptEngineManager = scriptEngineManager;
59
         this.scriptDirectory = scriptDirectory;
59
         this.scriptDirectory = scriptDirectory;
60
         this.eventBus = eventBus;
60
         this.eventBus = eventBus;
105
                         eventBus, scriptFilename);
105
                         eventBus, scriptFilename);
106
                 scripts.put(scriptFilename, wrapper);
106
                 scripts.put(scriptFilename, wrapper);
107
             } catch (FileNotFoundException | ScriptException e) {
107
             } catch (FileNotFoundException | ScriptException e) {
108
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, e,
108
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, e,
109
                         "Error loading '" + scriptFilename + "': " + e.getMessage(), ""));
109
                         "Error loading '" + scriptFilename + "': " + e.getMessage(), ""));
110
                 return false;
110
                 return false;
111
             }
111
             }

+ 10
- 10
src/com/dmdirc/addons/scriptplugin/ScriptPluginManager.java View File

29
 import com.dmdirc.events.UserErrorEvent;
29
 import com.dmdirc.events.UserErrorEvent;
30
 import com.dmdirc.logger.ErrorLevel;
30
 import com.dmdirc.logger.ErrorLevel;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
33
-import com.google.common.eventbus.Subscribe;
34
-
35
 import java.io.File;
32
 import java.io.File;
36
 import java.io.FileInputStream;
33
 import java.io.FileInputStream;
37
 import java.io.FileOutputStream;
34
 import java.io.FileOutputStream;
43
 import javax.inject.Inject;
40
 import javax.inject.Inject;
44
 import javax.script.ScriptEngineManager;
41
 import javax.script.ScriptEngineManager;
45
 
42
 
43
+import net.engio.mbassy.bus.MBassador;
44
+import net.engio.mbassy.listener.Handler;
45
+
46
 public class ScriptPluginManager {
46
 public class ScriptPluginManager {
47
 
47
 
48
-    private final EventBus eventBus;
48
+    private final MBassador eventBus;
49
     private final String scriptDir;
49
     private final String scriptDir;
50
     private final ScriptManager scriptManager;
50
     private final ScriptManager scriptManager;
51
     private final TypedProperties globalVariables;
51
     private final TypedProperties globalVariables;
52
 
52
 
53
     @Inject
53
     @Inject
54
-    public ScriptPluginManager(final EventBus eventBus,
54
+    public ScriptPluginManager(final MBassador eventBus,
55
             @Directory(ScriptModule.SCRIPTS) final String scriptDir,
55
             @Directory(ScriptModule.SCRIPTS) final String scriptDir,
56
             final ScriptManager scriptManager,
56
             final ScriptManager scriptManager,
57
             final ScriptEngineManager scriptEngineManager) {
57
             final ScriptEngineManager scriptEngineManager) {
64
     public void onLoad() {
64
     public void onLoad() {
65
         // Register the plugin_loaded action initially, this will be called
65
         // Register the plugin_loaded action initially, this will be called
66
         // after this method finishes for us to register the rest.
66
         // after this method finishes for us to register the rest.
67
-        eventBus.register(this);
67
+        eventBus.subscribe(this);
68
 
68
 
69
         // Make sure our scripts dir exists
69
         // Make sure our scripts dir exists
70
         final File newDir = new File(scriptDir);
70
         final File newDir = new File(scriptDir);
77
             try (FileInputStream fis = new FileInputStream(savedVariables)) {
77
             try (FileInputStream fis = new FileInputStream(savedVariables)) {
78
                 globalVariables.load(fis);
78
                 globalVariables.load(fis);
79
             } catch (IOException e) {
79
             } catch (IOException e) {
80
-                eventBus.post(new UserErrorEvent(ErrorLevel.LOW, e,
80
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, e,
81
                         "Error reading savedVariables from '" + savedVariables.getPath() + "': "
81
                         "Error reading savedVariables from '" + savedVariables.getPath() + "': "
82
                                 + e.getMessage(), ""));
82
                                 + e.getMessage(), ""));
83
             }
83
             }
85
     }
85
     }
86
 
86
 
87
     public void onUnLoad() {
87
     public void onUnLoad() {
88
-        eventBus.unregister(this);
88
+        eventBus.unsubscribe(this);
89
 
89
 
90
         final File savedVariables = new File(scriptDir + "storedVariables");
90
         final File savedVariables = new File(scriptDir + "storedVariables");
91
         try (FileOutputStream fos = new FileOutputStream(savedVariables)) {
91
         try (FileOutputStream fos = new FileOutputStream(savedVariables)) {
92
             globalVariables.store(fos, "# DMDirc Script Plugin savedVariables");
92
             globalVariables.store(fos, "# DMDirc Script Plugin savedVariables");
93
         } catch (IOException e) {
93
         } catch (IOException e) {
94
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, e,"Error reading savedVariables to '"
94
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, e,"Error reading savedVariables to '"
95
                     + savedVariables.getPath() + "': " + e.getMessage(), ""));
95
                     + savedVariables.getPath() + "': " + e.getMessage(), ""));
96
         }
96
         }
97
     }
97
     }
98
 
98
 
99
-    @Subscribe
99
+    @Handler
100
     public void handlePluginLoadEvent(final DMDircEvent event) throws ReflectiveOperationException {
100
     public void handlePluginLoadEvent(final DMDircEvent event) throws ReflectiveOperationException {
101
         if (event instanceof PluginLoadedEvent || event instanceof PluginUnloadedEvent) {
101
         if (event instanceof PluginLoadedEvent || event instanceof PluginUnloadedEvent) {
102
             return;
102
             return;

+ 2
- 3
src/com/dmdirc/addons/serverlists/ServerList.java View File

33
 import com.dmdirc.interfaces.config.IdentityFactory;
33
 import com.dmdirc.interfaces.config.IdentityFactory;
34
 import com.dmdirc.plugins.PluginManager;
34
 import com.dmdirc.plugins.PluginManager;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
36
+import net.engio.mbassy.bus.MBassador;
37
 
37
 
38
-import java.io.IOException;
39
 import java.util.Collection;
38
 import java.util.Collection;
40
 import java.util.Collections;
39
 import java.util.Collections;
41
 import java.util.HashMap;
40
 import java.util.HashMap;
75
             final ServerManager serverManager,
74
             final ServerManager serverManager,
76
             final IdentityController identityController,
75
             final IdentityController identityController,
77
             final IdentityFactory identityFactory,
76
             final IdentityFactory identityFactory,
78
-            final EventBus eventBus) {
77
+            final MBassador eventBus) {
79
         this.serverManager = serverManager;
78
         this.serverManager = serverManager;
80
         this.identityController = identityController;
79
         this.identityController = identityController;
81
         this.identityFactory = identityFactory;
80
         this.identityFactory = identityFactory;

+ 3
- 3
src/com/dmdirc/addons/serverlists/service/ServerListServiceProvider.java View File

33
 import com.dmdirc.plugins.Service;
33
 import com.dmdirc.plugins.Service;
34
 import com.dmdirc.plugins.ServiceProvider;
34
 import com.dmdirc.plugins.ServiceProvider;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
36
+import net.engio.mbassy.bus.MBassador;
37
 
37
 
38
 import java.net.URI;
38
 import java.net.URI;
39
 import java.util.Arrays;
39
 import java.util.Arrays;
54
     /** Plugin Manager */
54
     /** Plugin Manager */
55
     private final PluginManager pluginManager;
55
     private final PluginManager pluginManager;
56
     /** The event bus to post errors to. */
56
     /** The event bus to post errors to. */
57
-    private final EventBus eventBus;
57
+    private final MBassador eventBus;
58
 
58
 
59
     /**
59
     /**
60
      * Creates a new server list service provider.
60
      * Creates a new server list service provider.
64
      * @param eventBus      The event bus to post errors to
64
      * @param eventBus      The event bus to post errors to
65
      */
65
      */
66
     public ServerListServiceProvider(final PluginManager pluginManager, final ServerList serverList,
66
     public ServerListServiceProvider(final PluginManager pluginManager, final ServerList serverList,
67
-            final EventBus eventBus) {
67
+            final MBassador eventBus) {
68
         this.serverList = serverList;
68
         this.serverList = serverList;
69
         this.pluginManager = pluginManager;
69
         this.pluginManager = pluginManager;
70
         this.eventBus = eventBus;
70
         this.eventBus = eventBus;

+ 8
- 8
src/com/dmdirc/addons/systray/SystrayManager.java View File

30
 import com.dmdirc.ui.IconManager;
30
 import com.dmdirc.ui.IconManager;
31
 import com.dmdirc.ui.messages.Styliser;
31
 import com.dmdirc.ui.messages.Styliser;
32
 
32
 
33
-import com.google.common.eventbus.EventBus;
34
-import com.google.common.eventbus.Subscribe;
35
-
36
 import java.awt.AWTException;
33
 import java.awt.AWTException;
37
 import java.awt.Frame;
34
 import java.awt.Frame;
38
 import java.awt.MenuItem;
35
 import java.awt.MenuItem;
46
 
43
 
47
 import javax.inject.Inject;
44
 import javax.inject.Inject;
48
 
45
 
46
+import net.engio.mbassy.bus.MBassador;
47
+import net.engio.mbassy.listener.Handler;
48
+
49
 public class SystrayManager implements ActionListener, MouseListener {
49
 public class SystrayManager implements ActionListener, MouseListener {
50
 
50
 
51
     /** Main frame instance. */
51
     /** Main frame instance. */
57
     /** Icon manager to get images from. */
57
     /** Icon manager to get images from. */
58
     private final IconManager iconManager;
58
     private final IconManager iconManager;
59
     /** The event bus to listen to events on. */
59
     /** The event bus to listen to events on. */
60
-    private final EventBus eventBus;
60
+    private final MBassador eventBus;
61
     /** The tray icon we're currently using. */
61
     /** The tray icon we're currently using. */
62
     private TrayIcon icon;
62
     private TrayIcon icon;
63
 
63
 
67
             @PluginDomain(SystrayPlugin.class) final String domain,
67
             @PluginDomain(SystrayPlugin.class) final String domain,
68
             final MainFrame mainFrame,
68
             final MainFrame mainFrame,
69
             @GlobalConfig final IconManager iconManager,
69
             @GlobalConfig final IconManager iconManager,
70
-            final EventBus eventBus) {
70
+            final MBassador eventBus) {
71
         this.globalConfig = globalConfig;
71
         this.globalConfig = globalConfig;
72
         this.domain = domain;
72
         this.domain = domain;
73
         this.mainFrame = mainFrame;
73
         this.mainFrame = mainFrame;
92
 
92
 
93
         try {
93
         try {
94
             SystemTray.getSystemTray().add(icon);
94
             SystemTray.getSystemTray().add(icon);
95
-            eventBus.register(this);
95
+            eventBus.subscribe(this);
96
         } catch (AWTException ex) {
96
         } catch (AWTException ex) {
97
             throw new IllegalStateException("Unable to load plugin", ex);
97
             throw new IllegalStateException("Unable to load plugin", ex);
98
         }
98
         }
100
 
100
 
101
     public void unload() {
101
     public void unload() {
102
         SystemTray.getSystemTray().remove(icon);
102
         SystemTray.getSystemTray().remove(icon);
103
-        eventBus.unregister(this);
103
+        eventBus.unsubscribe(this);
104
         icon = null;
104
         icon = null;
105
     }
105
     }
106
 
106
 
151
         }
151
         }
152
     }
152
     }
153
 
153
 
154
-    @Subscribe
154
+    @Handler
155
     public void handleClientMinimised(final ClientMinimisedEvent event) {
155
     public void handleClientMinimised(final ClientMinimisedEvent event) {
156
         if (globalConfig.getOptionBool(domain, "autominimise")) {
156
         if (globalConfig.getOptionBool(domain, "autominimise")) {
157
             mainFrame.setVisible(false);
157
             mainFrame.setVisible(false);

+ 3
- 3
src/com/dmdirc/addons/time/TimedCommand.java View File

27
 import com.dmdirc.commandparser.parsers.GlobalCommandParser;
27
 import com.dmdirc.commandparser.parsers.GlobalCommandParser;
28
 import com.dmdirc.interfaces.CommandController;
28
 import com.dmdirc.interfaces.CommandController;
29
 
29
 
30
-import com.google.common.eventbus.EventBus;
30
+import net.engio.mbassy.bus.MBassador;
31
 
31
 
32
 import java.util.Timer;
32
 import java.util.Timer;
33
 import java.util.TimerTask;
33
 import java.util.TimerTask;
52
     /** The command controller to use when executing global commands. */
52
     /** The command controller to use when executing global commands. */
53
     private final CommandController commandController;
53
     private final CommandController commandController;
54
     /** Event bus to post events on. */
54
     /** Event bus to post events on. */
55
-    private final EventBus eventBus;
55
+    private final MBassador eventBus;
56
 
56
 
57
     /**
57
     /**
58
      * Creates a new instance of TimedCommand.
58
      * Creates a new instance of TimedCommand.
74
             final int delay,
74
             final int delay,
75
             final String command,
75
             final String command,
76
             final FrameContainer origin,
76
             final FrameContainer origin,
77
-            final EventBus eventBus) {
77
+            final MBassador eventBus) {
78
         this.commandController = commandController;
78
         this.commandController = commandController;
79
         this.timerKey = timerKey;
79
         this.timerKey = timerKey;
80
         this.repetitions = repetitions;
80
         this.repetitions = repetitions;

+ 3
- 3
src/com/dmdirc/addons/time/TimerManager.java View File

26
 import com.dmdirc.interfaces.ActionController;
26
 import com.dmdirc.interfaces.ActionController;
27
 import com.dmdirc.interfaces.CommandController;
27
 import com.dmdirc.interfaces.CommandController;
28
 
28
 
29
-import com.google.common.eventbus.EventBus;
29
+import net.engio.mbassy.bus.MBassador;
30
 
30
 
31
 import java.util.Calendar;
31
 import java.util.Calendar;
32
 import java.util.HashMap;
32
 import java.util.HashMap;
50
     /** Action controller. */
50
     /** Action controller. */
51
     private final ActionController actionController;
51
     private final ActionController actionController;
52
     /** Event bus to post events on . */
52
     /** Event bus to post events on . */
53
-    private final EventBus eventBus;
53
+    private final MBassador eventBus;
54
     /** Have we registered our types already? */
54
     /** Have we registered our types already? */
55
     private static boolean registered;
55
     private static boolean registered;
56
     /** The timer to use for scheduling. */
56
     /** The timer to use for scheduling. */
59
     @Inject
59
     @Inject
60
     public TimerManager(final CommandController commandController,
60
     public TimerManager(final CommandController commandController,
61
             final ActionController actionController,
61
             final ActionController actionController,
62
-            final EventBus eventBus) {
62
+            final MBassador eventBus) {
63
         this.commandController = commandController;
63
         this.commandController = commandController;
64
         this.actionController = actionController;
64
         this.actionController = actionController;
65
         this.eventBus = eventBus;
65
         this.eventBus = eventBus;

+ 9
- 9
src/com/dmdirc/addons/ui_swing/Apple.java View File

32
 import com.dmdirc.util.InvalidURIException;
32
 import com.dmdirc.util.InvalidURIException;
33
 import com.dmdirc.util.URIParser;
33
 import com.dmdirc.util.URIParser;
34
 
34
 
35
-import com.google.common.eventbus.EventBus;
36
-import com.google.common.eventbus.Subscribe;
37
-
38
 import java.awt.Image;
35
 import java.awt.Image;
39
 import java.awt.PopupMenu;
36
 import java.awt.PopupMenu;
40
 import java.awt.event.ActionEvent;
37
 import java.awt.event.ActionEvent;
54
 import javax.swing.JMenuItem;
51
 import javax.swing.JMenuItem;
55
 import javax.swing.UIManager;
52
 import javax.swing.UIManager;
56
 
53
 
54
+import net.engio.mbassy.bus.MBassador;
55
+import net.engio.mbassy.listener.Handler;
56
+
57
 /**
57
 /**
58
  * Integrate DMDirc with OS X better.
58
  * Integrate DMDirc with OS X better.
59
  */
59
  */
75
     /** The server manager to use to connect to URLs. */
75
     /** The server manager to use to connect to URLs. */
76
     private final ServerManager serverManager;
76
     private final ServerManager serverManager;
77
     /** Event bus. */
77
     /** Event bus. */
78
-    private final EventBus eventBus;
78
+    private final MBassador eventBus;
79
 
79
 
80
     /**
80
     /**
81
      * Creates a new instance of {@link Apple}.
81
      * Creates a new instance of {@link Apple}.
91
     public Apple(
91
     public Apple(
92
             @GlobalConfig final AggregateConfigProvider configManager,
92
             @GlobalConfig final AggregateConfigProvider configManager,
93
             final ServerManager serverManager,
93
             final ServerManager serverManager,
94
-            final EventBus eventBus) {
94
+            final MBassador eventBus) {
95
         this.configManager = configManager;
95
         this.configManager = configManager;
96
         this.serverManager = serverManager;
96
         this.serverManager = serverManager;
97
         this.eventBus = eventBus;
97
         this.eventBus = eventBus;
102
             try {
102
             try {
103
                 System.loadLibrary("DMDirc-Apple"); // NOPMD
103
                 System.loadLibrary("DMDirc-Apple"); // NOPMD
104
                 registerOpenURLCallback();
104
                 registerOpenURLCallback();
105
-                eventBus.register(this);
105
+                eventBus.subscribe(this);
106
             } catch (UnsatisfiedLinkError ule) {
106
             } catch (UnsatisfiedLinkError ule) {
107
-                eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM,
107
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM,
108
                         ule, "Unable to load JNI library", ""));
108
                         ule, "Unable to load JNI library", ""));
109
             }
109
             }
110
         }
110
         }
136
                     : classes);
136
                     : classes);
137
             return method.invoke(obj, objects == null ? new Object[0] : objects);
137
             return method.invoke(obj, objects == null ? new Object[0] : objects);
138
         } catch (ReflectiveOperationException ex) {
138
         } catch (ReflectiveOperationException ex) {
139
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex, "Unable to find OS X classes.", ""));
139
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex, "Unable to find OS X classes.", ""));
140
         }
140
         }
141
 
141
 
142
         return null;
142
         return null;
444
      *
444
      *
445
      * @param event The event describing the client opening.
445
      * @param event The event describing the client opening.
446
      */
446
      */
447
-    @Subscribe
447
+    @Handler
448
     public void handleClientOpened(final ClientOpenedEvent event) {
448
     public void handleClientOpened(final ClientOpenedEvent event) {
449
         synchronized (addresses) {
449
         synchronized (addresses) {
450
             clientOpened = true;
450
             clientOpened = true;

+ 6
- 6
src/com/dmdirc/addons/ui_swing/DMDircEventQueue.java View File

28
 import com.dmdirc.addons.ui_swing.events.SwingWindowEvent;
28
 import com.dmdirc.addons.ui_swing.events.SwingWindowEvent;
29
 import com.dmdirc.events.ClientKeyPressedEvent;
29
 import com.dmdirc.events.ClientKeyPressedEvent;
30
 
30
 
31
-import com.google.common.eventbus.EventBus;
32
-
33
 import java.awt.AWTEvent;
31
 import java.awt.AWTEvent;
34
 import java.awt.Component;
32
 import java.awt.Component;
35
 import java.awt.EventQueue;
33
 import java.awt.EventQueue;
47
 import javax.swing.SwingUtilities;
45
 import javax.swing.SwingUtilities;
48
 import javax.swing.text.JTextComponent;
46
 import javax.swing.text.JTextComponent;
49
 
47
 
48
+import net.engio.mbassy.bus.MBassador;
49
+
50
 /**
50
 /**
51
  * Custom event queue to add common functionality to certain components.
51
  * Custom event queue to add common functionality to certain components.
52
  */
52
  */
54
 public class DMDircEventQueue extends EventQueue {
54
 public class DMDircEventQueue extends EventQueue {
55
 
55
 
56
     /** Event bus to dispatch events to. */
56
     /** Event bus to dispatch events to. */
57
-    private final EventBus eventBus;
57
+    private final MBassador eventBus;
58
     /** Clipboard to copy and paste from. */
58
     /** Clipboard to copy and paste from. */
59
     private final Clipboard clipboard;
59
     private final Clipboard clipboard;
60
 
60
 
61
     @Inject
61
     @Inject
62
-    public DMDircEventQueue(final EventBus eventBus, final Clipboard clipboard) {
62
+    public DMDircEventQueue(final MBassador eventBus, final Clipboard clipboard) {
63
         this.eventBus = eventBus;
63
         this.eventBus = eventBus;
64
         this.clipboard = clipboard;
64
         this.clipboard = clipboard;
65
     }
65
     }
74
         } else if (event instanceof KeyEvent) {
74
         } else if (event instanceof KeyEvent) {
75
             handleKeyEvent((KeyEvent) event);
75
             handleKeyEvent((KeyEvent) event);
76
         } else if (event instanceof WindowEvent) {
76
         } else if (event instanceof WindowEvent) {
77
-            eventBus.post(new SwingWindowEvent((WindowEvent) event));
77
+            eventBus.publish(new SwingWindowEvent((WindowEvent) event));
78
         }
78
         }
79
     }
79
     }
80
 
80
 
102
      * @param ke Key event
102
      * @param ke Key event
103
      */
103
      */
104
     private void handleKeyEvent(final KeyEvent ke) {
104
     private void handleKeyEvent(final KeyEvent ke) {
105
-        eventBus.post(new ClientKeyPressedEvent(
105
+        eventBus.publishAsync(new ClientKeyPressedEvent(
106
                 KeyStroke.getKeyStroke(ke.getKeyChar(), ke.getModifiers())));
106
                 KeyStroke.getKeyStroke(ke.getKeyChar(), ke.getModifiers())));
107
     }
107
     }
108
 
108
 

+ 12
- 12
src/com/dmdirc/addons/ui_swing/MainFrame.java View File

50
 import com.dmdirc.util.collections.ListenerList;
50
 import com.dmdirc.util.collections.ListenerList;
51
 import com.dmdirc.util.collections.QueuedLinkedHashSet;
51
 import com.dmdirc.util.collections.QueuedLinkedHashSet;
52
 
52
 
53
-import com.google.common.eventbus.EventBus;
54
-import com.google.common.eventbus.Subscribe;
55
-
56
 import java.awt.Dimension;
53
 import java.awt.Dimension;
57
 import java.awt.event.WindowEvent;
54
 import java.awt.event.WindowEvent;
58
 import java.awt.event.WindowFocusListener;
55
 import java.awt.event.WindowFocusListener;
68
 
65
 
69
 import net.miginfocom.swing.MigLayout;
66
 import net.miginfocom.swing.MigLayout;
70
 
67
 
68
+import net.engio.mbassy.bus.MBassador;
69
+import net.engio.mbassy.listener.Handler;
70
+
71
 import static com.dmdirc.addons.ui_swing.SwingPreconditions.checkOnEDT;
71
 import static com.dmdirc.addons.ui_swing.SwingPreconditions.checkOnEDT;
72
 
72
 
73
 /**
73
 /**
99
     /** Provider of frame managers. */
99
     /** Provider of frame managers. */
100
     private final Provider<FrameManager> frameManagerProvider;
100
     private final Provider<FrameManager> frameManagerProvider;
101
     /** The bus to despatch events on. */
101
     /** The bus to despatch events on. */
102
-    private final EventBus eventBus;
102
+    private final MBassador eventBus;
103
     /** The main application icon. */
103
     /** The main application icon. */
104
     private ImageIcon imageIcon;
104
     private ImageIcon imageIcon;
105
     /** The frame manager that's being used. */
105
     /** The frame manager that's being used. */
143
             final Provider<QuitWorker> quitWorker,
143
             final Provider<QuitWorker> quitWorker,
144
             final IconManager iconManager,
144
             final IconManager iconManager,
145
             final Provider<FrameManager> frameManagerProvider,
145
             final Provider<FrameManager> frameManagerProvider,
146
-            final EventBus eventBus) {
146
+            final MBassador eventBus) {
147
         checkOnEDT();
147
         checkOnEDT();
148
         this.apple = apple;
148
         this.apple = apple;
149
         this.lifecycleController = lifecycleController;
149
         this.lifecycleController = lifecycleController;
176
 
176
 
177
                 @Override
177
                 @Override
178
                 public void windowGainedFocus(final WindowEvent e) {
178
                 public void windowGainedFocus(final WindowEvent e) {
179
-                    eventBus.post(new ClientFocusGainedEvent());
179
+                    eventBus.publishAsync(new ClientFocusGainedEvent());
180
                 }
180
                 }
181
 
181
 
182
                 @Override
182
                 @Override
183
                 public void windowLostFocus(final WindowEvent e) {
183
                 public void windowLostFocus(final WindowEvent e) {
184
-                    eventBus.post(new ClientFocusLostEvent());
184
+                    eventBus.publishAsync(new ClientFocusLostEvent());
185
                 }
185
                 }
186
             });
186
             });
187
 
187
 
260
 
260
 
261
     @Override
261
     @Override
262
     public void windowIconified(final WindowEvent windowEvent) {
262
     public void windowIconified(final WindowEvent windowEvent) {
263
-        eventBus.post(new ClientMinimisedEvent());
263
+        eventBus.publishAsync(new ClientMinimisedEvent());
264
     }
264
     }
265
 
265
 
266
     /**
266
     /**
270
      */
270
      */
271
     @Override
271
     @Override
272
     public void windowDeiconified(final WindowEvent windowEvent) {
272
     public void windowDeiconified(final WindowEvent windowEvent) {
273
-        eventBus.post(new ClientUnminimisedEvent());
273
+        eventBus.publishAsync(new ClientUnminimisedEvent());
274
     }
274
     }
275
 
275
 
276
     /**
276
     /**
587
         listeners.remove(SelectionListener.class, listener);
587
         listeners.remove(SelectionListener.class, listener);
588
     }
588
     }
589
 
589
 
590
-    @Subscribe
590
+    @Handler
591
     public void doWindowAdded(final SwingWindowAddedEvent event) {
591
     public void doWindowAdded(final SwingWindowAddedEvent event) {
592
         final TextFrame window = event.getChildWindow();
592
         final TextFrame window = event.getChildWindow();
593
         if (activeFrame == null) {
593
         if (activeFrame == null) {
595
         }
595
         }
596
     }
596
     }
597
 
597
 
598
-    @Subscribe
598
+    @Handler
599
     public void doWindowDeleted(final SwingWindowDeletedEvent event) {
599
     public void doWindowDeleted(final SwingWindowDeletedEvent event) {
600
         final TextFrame window = event.getChildWindow();
600
         final TextFrame window = event.getChildWindow();
601
         if (window == null) {
601
         if (window == null) {
621
         }
621
         }
622
     }
622
     }
623
 
623
 
624
-    @Subscribe
624
+    @Handler
625
     public void titleChanged(final FrameTitleChangedEvent event) {
625
     public void titleChanged(final FrameTitleChangedEvent event) {
626
         if (activeFrame != null && activeFrame.getContainer().equals(event.getContainer())) {
626
         if (activeFrame != null && activeFrame.getContainer().equals(event.getContainer())) {
627
             setTitle(event.getTitle());
627
             setTitle(event.getTitle());

+ 3
- 3
src/com/dmdirc/addons/ui_swing/PrefsComponentFactory.java View File

39
 import com.dmdirc.util.validators.OptionalValidator;
39
 import com.dmdirc.util.validators.OptionalValidator;
40
 import com.dmdirc.util.validators.Validator;
40
 import com.dmdirc.util.validators.Validator;
41
 
41
 
42
-import com.google.common.eventbus.EventBus;
42
+import net.engio.mbassy.bus.MBassador;
43
 
43
 
44
 import java.awt.Dimension;
44
 import java.awt.Dimension;
45
 import java.awt.Font;
45
 import java.awt.Font;
78
     /** The colour manager to use for colour preferences. */
78
     /** The colour manager to use for colour preferences. */
79
     private final ColourManager colourManager;
79
     private final ColourManager colourManager;
80
     /** The global event bus. */
80
     /** The global event bus. */
81
-    private final EventBus eventBus;
81
+    private final MBassador eventBus;
82
 
82
 
83
     /**
83
     /**
84
      * Creates a new instance of PrefsComponentFactory.
84
      * Creates a new instance of PrefsComponentFactory.
89
      */
89
      */
90
     @Inject
90
     @Inject
91
     public PrefsComponentFactory(
91
     public PrefsComponentFactory(
92
-            final EventBus eventBus,
92
+            final MBassador eventBus,
93
             @GlobalConfig final IconManager iconManager,
93
             @GlobalConfig final IconManager iconManager,
94
             final ColourManager colourManager) {
94
             final ColourManager colourManager) {
95
         this.iconManager = iconManager;
95
         this.iconManager = iconManager;

+ 5
- 5
src/com/dmdirc/addons/ui_swing/QuitWorker.java View File

28
 import com.dmdirc.interfaces.config.ConfigProvider;
28
 import com.dmdirc.interfaces.config.ConfigProvider;
29
 import com.dmdirc.interfaces.config.IdentityController;
29
 import com.dmdirc.interfaces.config.IdentityController;
30
 
30
 
31
-import com.google.common.eventbus.EventBus;
32
-
33
 import javax.inject.Inject;
31
 import javax.inject.Inject;
34
 import javax.swing.SwingWorker;
32
 import javax.swing.SwingWorker;
35
 
33
 
34
+import net.engio.mbassy.bus.MBassador;
35
+
36
 /**
36
 /**
37
  * Worker which handles quitting the application on behalf of a {@link MainFrame}.
37
  * Worker which handles quitting the application on behalf of a {@link MainFrame}.
38
  */
38
  */
47
     /** The main frame to interact with. */
47
     /** The main frame to interact with. */
48
     private final MainFrame mainFrame;
48
     private final MainFrame mainFrame;
49
     /** Bus to dispatch events on. */
49
     /** Bus to dispatch events on. */
50
-    private final EventBus eventBus;
50
+    private final MBassador eventBus;
51
 
51
 
52
     /**
52
     /**
53
      * Creates a new {@link QuitWorker}.
53
      * Creates a new {@link QuitWorker}.
62
             final IdentityController identityController,
62
             final IdentityController identityController,
63
             final ServerManager serverManager,
63
             final ServerManager serverManager,
64
             final MainFrame mainFrame,
64
             final MainFrame mainFrame,
65
-            final EventBus eventBus) {
65
+            final MBassador eventBus) {
66
         this.globalIdentity = identityController.getUserSettings();
66
         this.globalIdentity = identityController.getUserSettings();
67
         this.globalConfig = identityController.getGlobalConfiguration();
67
         this.globalConfig = identityController.getGlobalConfiguration();
68
         this.serverManager = serverManager;
68
         this.serverManager = serverManager;
72
 
72
 
73
     @Override
73
     @Override
74
     protected Void doInBackground() {
74
     protected Void doInBackground() {
75
-        eventBus.post(new ClientClosingEvent());
75
+        eventBus.publishAsync(new ClientClosingEvent());
76
         serverManager.closeAll(globalConfig.getOption("general", "closemessage"));
76
         serverManager.closeAll(globalConfig.getOption("general", "closemessage"));
77
         globalIdentity.setOption("ui", "frameManagerSize",
77
         globalIdentity.setOption("ui", "frameManagerSize",
78
                 String.valueOf(mainFrame.getFrameManagerSize()));
78
                 String.valueOf(mainFrame.getFrameManagerSize()));

+ 4
- 4
src/com/dmdirc/addons/ui_swing/SwingLinkHandler.java View File

31
 import com.dmdirc.parser.common.ChannelJoinRequest;
31
 import com.dmdirc.parser.common.ChannelJoinRequest;
32
 import com.dmdirc.ui.core.util.URLHandler;
32
 import com.dmdirc.ui.core.util.URLHandler;
33
 
33
 
34
-import com.google.common.eventbus.Subscribe;
34
+import net.engio.mbassy.listener.Handler;
35
 
35
 
36
 import javax.inject.Inject;
36
 import javax.inject.Inject;
37
 import javax.inject.Singleton;
37
 import javax.inject.Singleton;
56
         this.windowFactory = windowFactory;
56
         this.windowFactory = windowFactory;
57
     }
57
     }
58
 
58
 
59
-    @Subscribe
59
+    @Handler
60
     public void handleChannelClick(final LinkChannelClickedEvent event) {
60
     public void handleChannelClick(final LinkChannelClickedEvent event) {
61
         final FrameContainer container = event.getWindow().getContainer();
61
         final FrameContainer container = event.getWindow().getContainer();
62
         final Connection connection = container.getConnection();
62
         final Connection connection = container.getConnection();
65
         }
65
         }
66
     }
66
     }
67
 
67
 
68
-    @Subscribe
68
+    @Handler
69
     public void handleLinkClick(final LinkUrlClickedEvent event) {
69
     public void handleLinkClick(final LinkUrlClickedEvent event) {
70
         urlHandler.launchApp(event.getTarget());
70
         urlHandler.launchApp(event.getTarget());
71
     }
71
     }
72
 
72
 
73
-    @Subscribe
73
+    @Handler
74
     public void handleNicknameClick(final LinkNicknameClickedEvent event) {
74
     public void handleNicknameClick(final LinkNicknameClickedEvent event) {
75
         final FrameContainer container = event.getWindow().getContainer();
75
         final FrameContainer container = event.getWindow().getContainer();
76
         final Connection connection = container.getConnection();
76
         final Connection connection = container.getConnection();

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

41
 import com.dmdirc.ui.WindowManager;
41
 import com.dmdirc.ui.WindowManager;
42
 import com.dmdirc.ui.core.components.StatusBarManager;
42
 import com.dmdirc.ui.core.components.StatusBarManager;
43
 
43
 
44
-import com.google.common.eventbus.EventBus;
45
-import com.google.common.eventbus.Subscribe;
46
-
47
 import java.awt.Window;
44
 import java.awt.Window;
48
 
45
 
49
 import javax.inject.Inject;
46
 import javax.inject.Inject;
51
 import javax.inject.Singleton;
48
 import javax.inject.Singleton;
52
 import javax.swing.SwingUtilities;
49
 import javax.swing.SwingUtilities;
53
 
50
 
51
+import net.engio.mbassy.bus.MBassador;
52
+import net.engio.mbassy.listener.Handler;
53
+
54
 /**
54
 /**
55
  * Manages swing components and dependencies.
55
  * Manages swing components and dependencies.
56
  */
56
  */
76
     /** Link handler for swing links. */
76
     /** Link handler for swing links. */
77
     private final SwingLinkHandler linkHandler;
77
     private final SwingLinkHandler linkHandler;
78
     /** Bus to listen on for events. */
78
     /** Bus to listen on for events. */
79
-    private final EventBus eventBus;
79
+    private final MBassador eventBus;
80
     /** The event bus for this plugin. */
80
     /** The event bus for this plugin. */
81
-    private final EventBus swingEventBus;
81
+    private final MBassador swingEventBus;
82
     /** The provider to use to create tree-based frame managers. */
82
     /** The provider to use to create tree-based frame managers. */
83
     private final TreeFrameManagerProvider treeProvider;
83
     private final TreeFrameManagerProvider treeProvider;
84
     /** The provider to use to create button-based frame managers. */
84
     /** The provider to use to create button-based frame managers. */
128
             final Provider<FeedbackNag> feedbackNagProvider,
128
             final Provider<FeedbackNag> feedbackNagProvider,
129
             final URLDialogFactory urlDialogFactory,
129
             final URLDialogFactory urlDialogFactory,
130
             final SwingLinkHandler linkHandler,
130
             final SwingLinkHandler linkHandler,
131
-            final EventBus eventBus,
132
-            @SwingEventBus final EventBus swingEventBus,
131
+            final MBassador eventBus,
132
+            @SwingEventBus final MBassador swingEventBus,
133
             final TreeFrameManagerProvider treeProvider,
133
             final TreeFrameManagerProvider treeProvider,
134
             final ButtonBarProvider buttonProvider,
134
             final ButtonBarProvider buttonProvider,
135
             final Provider<SwingWindowManager> swingWindowManager,
135
             final Provider<SwingWindowManager> swingWindowManager,
165
         this.mainFrame.setWindowManager(ctrlTabManager);
165
         this.mainFrame.setWindowManager(ctrlTabManager);
166
         this.mainFrame.setStatusBar(statusBar.get());
166
         this.mainFrame.setStatusBar(statusBar.get());
167
         this.mainFrame.initComponents();
167
         this.mainFrame.initComponents();
168
-        swingEventBus.register(mainFrame);
169
-        swingEventBus.register(ctrlTabManager);
168
+        swingEventBus.subscribe(mainFrame);
169
+        swingEventBus.subscribe(ctrlTabManager);
170
 
170
 
171
         windowManager.addListenerAndSync(windowFactory.get());
171
         windowManager.addListenerAndSync(windowFactory.get());
172
         statusBarManager.registerStatusBar(statusBar.get());
172
         statusBarManager.registerStatusBar(statusBar.get());
173
-        eventBus.register(this);
174
-        eventBus.register(mainFrame);
175
-        eventBus.register(linkHandler);
173
+        eventBus.subscribe(this);
174
+        eventBus.subscribe(mainFrame);
175
+        eventBus.subscribe(linkHandler);
176
         SwingUtilities.invokeLater(new Runnable() {
176
         SwingUtilities.invokeLater(new Runnable() {
177
 
177
 
178
             @Override
178
             @Override
198
                 errorListDialogProvider.get().dispose();
198
                 errorListDialogProvider.get().dispose();
199
             }
199
             }
200
         });
200
         });
201
-        swingEventBus.unregister(mainFrame);
202
-        swingEventBus.unregister(ctrlTabManager);
201
+        swingEventBus.unsubscribe(mainFrame);
202
+        swingEventBus.unsubscribe(ctrlTabManager);
203
         mainFrame.dispose();
203
         mainFrame.dispose();
204
         statusBarManager.unregisterStatusBar(statusBar.get());
204
         statusBarManager.unregisterStatusBar(statusBar.get());
205
-        eventBus.unregister(this);
206
-        eventBus.unregister(mainFrame);
207
-        eventBus.unregister(linkHandler);
205
+        eventBus.unsubscribe(this);
206
+        eventBus.unsubscribe(mainFrame);
207
+        eventBus.unsubscribe(linkHandler);
208
         uiInitialiser.unload();
208
         uiInitialiser.unload();
209
     }
209
     }
210
 
210
 
228
         return buttonProvider;
228
         return buttonProvider;
229
     }
229
     }
230
 
230
 
231
-    @Subscribe
231
+    @Handler
232
     public void showFirstRunWizard(final FirstRunEvent event) {
232
     public void showFirstRunWizard(final FirstRunEvent event) {
233
         if (!event.isHandled()) {
233
         if (!event.isHandled()) {
234
             firstRunExecutor.get().showWizardAndWait();
234
             firstRunExecutor.get().showWizardAndWait();
236
         }
236
         }
237
     }
237
     }
238
 
238
 
239
-    @Subscribe
239
+    @Handler
240
     public void showURLDialog(final UnknownURLEvent event) {
240
     public void showURLDialog(final UnknownURLEvent event) {
241
         if (!event.isHandled()) {
241
         if (!event.isHandled()) {
242
             event.setHandled(true);
242
             event.setHandled(true);
250
         }
250
         }
251
     }
251
     }
252
 
252
 
253
-    @Subscribe
253
+    @Handler
254
     public void showFeedbackNag(final FeedbackNagEvent event) {
254
     public void showFeedbackNag(final FeedbackNagEvent event) {
255
         UIUtilities.invokeLater(new Runnable() {
255
         UIUtilities.invokeLater(new Runnable() {
256
 
256
 

+ 5
- 5
src/com/dmdirc/addons/ui_swing/SwingUIInitialiser.java View File

30
 import com.dmdirc.interfaces.config.ConfigProvider;
30
 import com.dmdirc.interfaces.config.ConfigProvider;
31
 import com.dmdirc.logger.ErrorLevel;
31
 import com.dmdirc.logger.ErrorLevel;
32
 
32
 
33
-import com.google.common.eventbus.EventBus;
34
-
35
 import java.awt.Font;
33
 import java.awt.Font;
36
 import java.awt.KeyboardFocusManager;
34
 import java.awt.KeyboardFocusManager;
37
 import java.awt.Toolkit;
35
 import java.awt.Toolkit;
42
 
40
 
43
 import net.miginfocom.layout.PlatformDefaults;
41
 import net.miginfocom.layout.PlatformDefaults;
44
 
42
 
43
+import net.engio.mbassy.bus.MBassador;
44
+
45
 /**
45
 /**
46
  * Initialises swing and system UI settings.
46
  * Initialises swing and system UI settings.
47
  */
47
  */
52
     private final ConfigProvider addonConfig;
52
     private final ConfigProvider addonConfig;
53
     private final DialogKeyListener dialogKeyListener;
53
     private final DialogKeyListener dialogKeyListener;
54
     private final DMDircEventQueue eventQueue;
54
     private final DMDircEventQueue eventQueue;
55
-    private final EventBus eventBus;
55
+    private final MBassador eventBus;
56
 
56
 
57
     @Inject
57
     @Inject
58
-    public SwingUIInitialiser(final EventBus eventBus, final Apple apple,
58
+    public SwingUIInitialiser(final MBassador eventBus, final Apple apple,
59
             @GlobalConfig final AggregateConfigProvider globalConfig,
59
             @GlobalConfig final AggregateConfigProvider globalConfig,
60
             @AddonConfig final ConfigProvider addonConfig,
60
             @AddonConfig final ConfigProvider addonConfig,
61
             final DialogKeyListener dialogKeyListener,
61
             final DialogKeyListener dialogKeyListener,
126
                             Font.PLAIN, 12));
126
                             Font.PLAIN, 12));
127
                 } catch (UnsupportedOperationException | UnsupportedLookAndFeelException |
127
                 } catch (UnsupportedOperationException | UnsupportedLookAndFeelException |
128
                         IllegalAccessException | InstantiationException | ClassNotFoundException ex) {
128
                         IllegalAccessException | InstantiationException | ClassNotFoundException ex) {
129
-                    eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
129
+                    eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
130
                             "Unable to set UI Settings", ""));
130
                             "Unable to set UI Settings", ""));
131
                 }
131
                 }
132
 
132
 

+ 9
- 8
src/com/dmdirc/addons/ui_swing/SwingWindowFactory.java View File

37
 import com.dmdirc.logger.ErrorLevel;
37
 import com.dmdirc.logger.ErrorLevel;
38
 
38
 
39
 import com.google.common.base.Optional;
39
 import com.google.common.base.Optional;
40
-import com.google.common.eventbus.EventBus;
41
 
40
 
42
 import java.util.Collection;
41
 import java.util.Collection;
43
 import java.util.HashMap;
42
 import java.util.HashMap;
49
 import javax.inject.Provider;
48
 import javax.inject.Provider;
50
 import javax.inject.Singleton;
49
 import javax.inject.Singleton;
51
 
50
 
51
+import net.engio.mbassy.bus.MBassador;
52
+
52
 /**
53
 /**
53
  * Handles creation of windows in the Swing UI.
54
  * Handles creation of windows in the Swing UI.
54
  *
55
  *
64
     /** Active window manager. */
65
     /** Active window manager. */
65
     private final Provider<ActiveFrameManager> activeFrameManager;
66
     private final Provider<ActiveFrameManager> activeFrameManager;
66
     /** The event bus to post errors to. */
67
     /** The event bus to post errors to. */
67
-    private final EventBus eventBus;
68
+    private final MBassador eventBus;
68
     /** The swing event bus. */
69
     /** The swing event bus. */
69
-    private final EventBus swingEventBus;
70
+    private final MBassador swingEventBus;
70
 
71
 
71
     /**
72
     /**
72
      * Creates a new window factory for the specified controller.
73
      * Creates a new window factory for the specified controller.
86
             final CustomInputFrameFactory customInputFrameFactory,
87
             final CustomInputFrameFactory customInputFrameFactory,
87
             final ServerFrameFactory serverFrameFactory,
88
             final ServerFrameFactory serverFrameFactory,
88
             final ChannelFrameFactory channelFrameFactory,
89
             final ChannelFrameFactory channelFrameFactory,
89
-            final EventBus eventBus,
90
-            @SwingEventBus final EventBus swingEventBus) {
90
+            final MBassador eventBus,
91
+            @SwingEventBus final MBassador swingEventBus) {
91
         this.activeFrameManager = activeFrameManager;
92
         this.activeFrameManager = activeFrameManager;
92
         this.eventBus = eventBus;
93
         this.eventBus = eventBus;
93
         this.swingEventBus = swingEventBus;
94
         this.swingEventBus = swingEventBus;
124
      */
125
      */
125
     protected TextFrame doAddWindow(final FrameContainer window) {
126
     protected TextFrame doAddWindow(final FrameContainer window) {
126
         if (!implementations.containsKey(window.getComponents())) {
127
         if (!implementations.containsKey(window.getComponents())) {
127
-            eventBus.post(new UserErrorEvent(ErrorLevel.HIGH, null,
128
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, null,
128
                     "Unable to create window: Unknown type.", ""));
129
                     "Unable to create window: Unknown type.", ""));
129
             return null;
130
             return null;
130
         }
131
         }
166
                 if (childWindow == null) {
167
                 if (childWindow == null) {
167
                     return;
168
                     return;
168
                 }
169
                 }
169
-                swingEventBus.post(new SwingWindowAddedEvent(
170
+                swingEventBus.publish(new SwingWindowAddedEvent(
170
                         Optional.fromNullable(parentWindow), childWindow));
171
                         Optional.fromNullable(parentWindow), childWindow));
171
 
172
 
172
                 if (focus) {
173
                 if (focus) {
184
             public void run() {
185
             public void run() {
185
                 final TextFrame parentWindow = getSwingWindow(parent);
186
                 final TextFrame parentWindow = getSwingWindow(parent);
186
                 final TextFrame childWindow = getSwingWindow(window);
187
                 final TextFrame childWindow = getSwingWindow(window);
187
-                swingEventBus.post(new SwingWindowDeletedEvent(
188
+                swingEventBus.publish(new SwingWindowDeletedEvent(
188
                         Optional.fromNullable(parentWindow), childWindow));
189
                         Optional.fromNullable(parentWindow), childWindow));
189
 
190
 
190
                 windows.remove(window);
191
                 windows.remove(window);

+ 2
- 2
src/com/dmdirc/addons/ui_swing/UIUtilities.java View File

27
 import com.dmdirc.addons.ui_swing.components.DMDircUndoableEditListener;
27
 import com.dmdirc.addons.ui_swing.components.DMDircUndoableEditListener;
28
 import com.dmdirc.ui.Colour;
28
 import com.dmdirc.ui.Colour;
29
 
29
 
30
-import com.google.common.eventbus.EventBus;
30
+import net.engio.mbassy.bus.MBassador;
31
 
31
 
32
 import java.awt.Color;
32
 import java.awt.Color;
33
 import java.awt.Font;
33
 import java.awt.Font;
91
      * @param eventBus  The event bus to post errors to
91
      * @param eventBus  The event bus to post errors to
92
      * @param component The text component to add an undo manager to
92
      * @param component The text component to add an undo manager to
93
      */
93
      */
94
-    public static void addUndoManager(final EventBus eventBus, final JTextComponent component) {
94
+    public static void addUndoManager(final MBassador eventBus, final JTextComponent component) {
95
         final UndoManager undoManager = new UndoManager();
95
         final UndoManager undoManager = new UndoManager();
96
 
96
 
97
         // Listen for undo and redo events
97
         // Listen for undo and redo events

+ 5
- 5
src/com/dmdirc/addons/ui_swing/actions/RedoAction.java View File

25
 import com.dmdirc.events.UserErrorEvent;
25
 import com.dmdirc.events.UserErrorEvent;
26
 import com.dmdirc.logger.ErrorLevel;
26
 import com.dmdirc.logger.ErrorLevel;
27
 
27
 
28
-import com.google.common.eventbus.EventBus;
29
-
30
 import java.awt.event.ActionEvent;
28
 import java.awt.event.ActionEvent;
31
 
29
 
32
 import javax.swing.AbstractAction;
30
 import javax.swing.AbstractAction;
33
 import javax.swing.undo.CannotUndoException;
31
 import javax.swing.undo.CannotUndoException;
34
 import javax.swing.undo.UndoManager;
32
 import javax.swing.undo.UndoManager;
35
 
33
 
34
+import net.engio.mbassy.bus.MBassador;
35
+
36
 /**
36
 /**
37
  * Handles redo's on text components.
37
  * Handles redo's on text components.
38
  */
38
  */
43
     /** Undo manager. */
43
     /** Undo manager. */
44
     private final UndoManager undoManager;
44
     private final UndoManager undoManager;
45
     /** The event bus to post errors to. */
45
     /** The event bus to post errors to. */
46
-    private final EventBus eventBus;
46
+    private final MBassador eventBus;
47
 
47
 
48
     /**
48
     /**
49
      * Creates a new instance of RedoAction.
49
      * Creates a new instance of RedoAction.
51
      * @param eventBus    The event bus to post errors to
51
      * @param eventBus    The event bus to post errors to
52
      * @param undoManager UndoManager to use for this redo action
52
      * @param undoManager UndoManager to use for this redo action
53
      */
53
      */
54
-    public RedoAction(final EventBus eventBus, final UndoManager undoManager) {
54
+    public RedoAction(final MBassador eventBus, final UndoManager undoManager) {
55
         super("Undo");
55
         super("Undo");
56
 
56
 
57
         this.undoManager = undoManager;
57
         this.undoManager = undoManager;
65
                 undoManager.redo();
65
                 undoManager.redo();
66
             }
66
             }
67
         } catch (CannotUndoException ex) {
67
         } catch (CannotUndoException ex) {
68
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex, "Unable to redo", ""));
68
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex, "Unable to redo", ""));
69
         }
69
         }
70
     }
70
     }
71
 
71
 

+ 6
- 6
src/com/dmdirc/addons/ui_swing/actions/ReplacePasteAction.java View File

25
 import com.dmdirc.events.UserErrorEvent;
25
 import com.dmdirc.events.UserErrorEvent;
26
 import com.dmdirc.logger.ErrorLevel;
26
 import com.dmdirc.logger.ErrorLevel;
27
 
27
 
28
-import com.google.common.eventbus.EventBus;
29
-
30
 import java.awt.datatransfer.Clipboard;
28
 import java.awt.datatransfer.Clipboard;
31
 import java.awt.datatransfer.DataFlavor;
29
 import java.awt.datatransfer.DataFlavor;
32
 import java.awt.datatransfer.UnsupportedFlavorException;
30
 import java.awt.datatransfer.UnsupportedFlavorException;
36
 import javax.swing.AbstractAction;
34
 import javax.swing.AbstractAction;
37
 import javax.swing.text.JTextComponent;
35
 import javax.swing.text.JTextComponent;
38
 
36
 
37
+import net.engio.mbassy.bus.MBassador;
38
+
39
 /**
39
 /**
40
  * Paste action that replaces matching regexes.
40
  * Paste action that replaces matching regexes.
41
  */
41
  */
50
     /** Replacement string. */
50
     /** Replacement string. */
51
     private final String replacementString;
51
     private final String replacementString;
52
     /** The event bus to post errors to. */
52
     /** The event bus to post errors to. */
53
-    private final EventBus eventBus;
53
+    private final MBassador eventBus;
54
 
54
 
55
     /**
55
     /**
56
      * Creates a new instance of regex replacement paste action.
56
      * Creates a new instance of regex replacement paste action.
60
      * @param replacementRegex  Regex to match for replacement
60
      * @param replacementRegex  Regex to match for replacement
61
      * @param replacementString Replacement string
61
      * @param replacementString Replacement string
62
      */
62
      */
63
-    public ReplacePasteAction(final EventBus eventBus, final Clipboard clipboard,
63
+    public ReplacePasteAction(final MBassador eventBus, final Clipboard clipboard,
64
             final String replacementRegex, final String replacementString) {
64
             final String replacementRegex, final String replacementString) {
65
         super("NoSpacesPasteAction");
65
         super("NoSpacesPasteAction");
66
 
66
 
85
                     ((String) clipboard.getData(DataFlavor.stringFlavor))
85
                     ((String) clipboard.getData(DataFlavor.stringFlavor))
86
                             .replaceAll(replacementRegex, replacementString));
86
                             .replaceAll(replacementRegex, replacementString));
87
         } catch (IOException ex) {
87
         } catch (IOException ex) {
88
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
88
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
89
                     "Unable to get clipboard contents: " + ex.getMessage(), ""));
89
                     "Unable to get clipboard contents: " + ex.getMessage(), ""));
90
         } catch (UnsupportedFlavorException ex) {
90
         } catch (UnsupportedFlavorException ex) {
91
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
91
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
92
                     "Unable to get clipboard contents", ""));
92
                     "Unable to get clipboard contents", ""));
93
         }
93
         }
94
     }
94
     }

+ 5
- 5
src/com/dmdirc/addons/ui_swing/actions/UndoAction.java View File

25
 import com.dmdirc.events.UserErrorEvent;
25
 import com.dmdirc.events.UserErrorEvent;
26
 import com.dmdirc.logger.ErrorLevel;
26
 import com.dmdirc.logger.ErrorLevel;
27
 
27
 
28
-import com.google.common.eventbus.EventBus;
29
-
30
 import java.awt.event.ActionEvent;
28
 import java.awt.event.ActionEvent;
31
 
29
 
32
 import javax.swing.AbstractAction;
30
 import javax.swing.AbstractAction;
33
 import javax.swing.undo.CannotUndoException;
31
 import javax.swing.undo.CannotUndoException;
34
 import javax.swing.undo.UndoManager;
32
 import javax.swing.undo.UndoManager;
35
 
33
 
34
+import net.engio.mbassy.bus.MBassador;
35
+
36
 /**
36
 /**
37
  * Handles undo's on text components.
37
  * Handles undo's on text components.
38
  */
38
  */
43
     /** Undo manager. */
43
     /** Undo manager. */
44
     private final UndoManager undoManager;
44
     private final UndoManager undoManager;
45
     /** The event bus to post errors to. */
45
     /** The event bus to post errors to. */
46
-    private final EventBus eventBus;
46
+    private final MBassador eventBus;
47
 
47
 
48
     /**
48
     /**
49
      * Creates a new instance of UndoAction.
49
      * Creates a new instance of UndoAction.
51
      * @param eventBus    The event bus to post errors to
51
      * @param eventBus    The event bus to post errors to
52
      * @param undoManager UndoManager to use for this redo action
52
      * @param undoManager UndoManager to use for this redo action
53
      */
53
      */
54
-    public UndoAction(final EventBus eventBus, final UndoManager undoManager) {
54
+    public UndoAction(final MBassador eventBus, final UndoManager undoManager) {
55
         super("Undo");
55
         super("Undo");
56
 
56
 
57
         this.undoManager = undoManager;
57
         this.undoManager = undoManager;
65
                 undoManager.undo();
65
                 undoManager.undo();
66
             }
66
             }
67
         } catch (CannotUndoException ex) {
67
         } catch (CannotUndoException ex) {
68
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex, "Unable to undo", ""));
68
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex, "Unable to undo", ""));
69
         }
69
         }
70
     }
70
     }
71
 
71
 

+ 4
- 4
src/com/dmdirc/addons/ui_swing/components/FontPicker.java View File

26
 import com.dmdirc.events.UserErrorEvent;
26
 import com.dmdirc.events.UserErrorEvent;
27
 import com.dmdirc.logger.ErrorLevel;
27
 import com.dmdirc.logger.ErrorLevel;
28
 
28
 
29
-import com.google.common.eventbus.EventBus;
30
-
31
 import java.awt.Font;
29
 import java.awt.Font;
32
 import java.awt.GraphicsEnvironment;
30
 import java.awt.GraphicsEnvironment;
33
 import java.util.concurrent.ExecutionException;
31
 import java.util.concurrent.ExecutionException;
36
 import javax.swing.JComboBox;
34
 import javax.swing.JComboBox;
37
 import javax.swing.SwingUtilities;
35
 import javax.swing.SwingUtilities;
38
 
36
 
37
+import net.engio.mbassy.bus.MBassador;
38
+
39
 /**
39
 /**
40
  * System font picking component.
40
  * System font picking component.
41
  */
41
  */
52
      * @param eventBus   The event bus to post errors to
52
      * @param eventBus   The event bus to post errors to
53
      * @param fontFamily Font family
53
      * @param fontFamily Font family
54
      */
54
      */
55
-    public FontPicker(final EventBus eventBus, final String fontFamily) {
55
+    public FontPicker(final MBassador eventBus, final String fontFamily) {
56
         super(new DefaultComboBoxModel<>());
56
         super(new DefaultComboBoxModel<>());
57
         this.fontFamily = fontFamily;
57
         this.fontFamily = fontFamily;
58
 
58
 
72
                 } catch (InterruptedException ex) {
72
                 } catch (InterruptedException ex) {
73
                     //Ignore
73
                     //Ignore
74
                 } catch (ExecutionException ex) {
74
                 } catch (ExecutionException ex) {
75
-                    eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM, ex, ex.getMessage(), ""));
75
+                    eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM, ex, ex.getMessage(), ""));
76
                 }
76
                 }
77
             }
77
             }
78
         }.execute();
78
         }.execute();

+ 5
- 5
src/com/dmdirc/addons/ui_swing/components/LoggingSwingWorker.java View File

25
 import com.dmdirc.events.UserErrorEvent;
25
 import com.dmdirc.events.UserErrorEvent;
26
 import com.dmdirc.logger.ErrorLevel;
26
 import com.dmdirc.logger.ErrorLevel;
27
 
27
 
28
-import com.google.common.eventbus.EventBus;
29
-
30
 import java.util.concurrent.ExecutionException;
28
 import java.util.concurrent.ExecutionException;
31
 
29
 
32
 import javax.swing.SwingWorker;
30
 import javax.swing.SwingWorker;
33
 
31
 
32
+import net.engio.mbassy.bus.MBassador;
33
+
34
 /**
34
 /**
35
  * Logging swing worker.
35
  * Logging swing worker.
36
  *
36
  *
39
  */
39
  */
40
 public abstract class LoggingSwingWorker<T, V> extends SwingWorker<T, V> {
40
 public abstract class LoggingSwingWorker<T, V> extends SwingWorker<T, V> {
41
 
41
 
42
-    private final EventBus eventBus;
42
+    private final MBassador eventBus;
43
 
43
 
44
     /**
44
     /**
45
      * Creates a new logging swing worker.
45
      * Creates a new logging swing worker.
46
      *
46
      *
47
      * @param eventBus Event bus to post errors to.
47
      * @param eventBus Event bus to post errors to.
48
      */
48
      */
49
-    public LoggingSwingWorker(final EventBus eventBus) {
49
+    public LoggingSwingWorker(final MBassador eventBus) {
50
         this.eventBus = eventBus;
50
         this.eventBus = eventBus;
51
     }
51
     }
52
 
52
 
60
         } catch (InterruptedException ex) {
60
         } catch (InterruptedException ex) {
61
             //Ignore
61
             //Ignore
62
         } catch (ExecutionException ex) {
62
         } catch (ExecutionException ex) {
63
-            eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM, ex, ex.getMessage(), ""));
63
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM, ex, ex.getMessage(), ""));
64
         }
64
         }
65
     }
65
     }
66
 
66
 

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

35
 import com.dmdirc.plugins.PluginDomain;
35
 import com.dmdirc.plugins.PluginDomain;
36
 import com.dmdirc.ui.IconManager;
36
 import com.dmdirc.ui.IconManager;
37
 
37
 
38
-import com.google.common.eventbus.EventBus;
39
-import com.google.common.eventbus.Subscribe;
40
-
41
 import java.awt.event.ActionEvent;
38
 import java.awt.event.ActionEvent;
42
 import java.awt.event.ActionListener;
39
 import java.awt.event.ActionListener;
43
 
40
 
48
 
45
 
49
 import net.miginfocom.swing.MigLayout;
46
 import net.miginfocom.swing.MigLayout;
50
 
47
 
48
+import net.engio.mbassy.bus.MBassador;
49
+import net.engio.mbassy.listener.Handler;
50
+
51
 /**
51
 /**
52
  * Provides an MDI style bar for closing frames.
52
  * Provides an MDI style bar for closing frames.
53
  */
53
  */
84
             @GlobalConfig final IconManager iconManager,
84
             @GlobalConfig final IconManager iconManager,
85
             @PluginDomain(SwingController.class) final String domain,
85
             @PluginDomain(SwingController.class) final String domain,
86
             final ActiveFrameManager activeFrameManager,
86
             final ActiveFrameManager activeFrameManager,
87
-            @SwingEventBus final EventBus eventBus) {
87
+            @SwingEventBus final MBassador eventBus) {
88
         this.activeFrameManager = activeFrameManager;
88
         this.activeFrameManager = activeFrameManager;
89
         config = globalConfig;
89
         config = globalConfig;
90
         configDomain = domain;
90
         configDomain = domain;
96
         setLayout(new MigLayout("hmax 17, ins 1 0 0 0, fill"));
96
         setLayout(new MigLayout("hmax 17, ins 1 0 0 0, fill"));
97
         add(closeButton, "w 17!, h 17!, right");
97
         add(closeButton, "w 17!, h 17!, right");
98
 
98
 
99
-        eventBus.register(this);
99
+        eventBus.subscribe(this);
100
 
100
 
101
         activeFrameManager.addSelectionListener(this);
101
         activeFrameManager.addSelectionListener(this);
102
         closeButton.addActionListener(this);
102
         closeButton.addActionListener(this);
123
         });
123
         });
124
     }
124
     }
125
 
125
 
126
-    @Subscribe
126
+    @Handler
127
     public void windowAdded(final SwingWindowAddedEvent event) {
127
     public void windowAdded(final SwingWindowAddedEvent event) {
128
         check();
128
         check();
129
     }
129
     }
130
 
130
 
131
-    @Subscribe
131
+    @Handler
132
     public void windowDeleted(final SwingWindowDeletedEvent event) {
132
     public void windowDeleted(final SwingWindowDeletedEvent event) {
133
         check();
133
         check();
134
     }
134
     }

+ 2
- 2
src/com/dmdirc/addons/ui_swing/components/TopicBar.java View File

40
 import com.dmdirc.ui.messages.Styliser;
40
 import com.dmdirc.ui.messages.Styliser;
41
 
41
 
42
 import com.google.common.base.Optional;
42
 import com.google.common.base.Optional;
43
-import com.google.common.eventbus.EventBus;
43
+import net.engio.mbassy.bus.MBassador;
44
 
44
 
45
 import java.awt.Color;
45
 import java.awt.Color;
46
 import java.awt.Window;
46
 import java.awt.Window;
131
             final Channel channel,
131
             final Channel channel,
132
             final ChannelFrame window,
132
             final ChannelFrame window,
133
             final IconManager iconManager,
133
             final IconManager iconManager,
134
-            final EventBus eventBus) {
134
+            final MBassador eventBus) {
135
         this.channel = channel;
135
         this.channel = channel;
136
         this.domain = domain;
136
         this.domain = domain;
137
         this.colourManager = colourManager;
137
         this.colourManager = colourManager;

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/TopicBarFactory.java View File

33
 import com.dmdirc.ui.IconManager;
33
 import com.dmdirc.ui.IconManager;
34
 import com.dmdirc.ui.messages.ColourManager;
34
 import com.dmdirc.ui.messages.ColourManager;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
36
+import net.engio.mbassy.bus.MBassador;
37
 
37
 
38
 import java.awt.Window;
38
 import java.awt.Window;
39
 import java.awt.datatransfer.Clipboard;
39
 import java.awt.datatransfer.Clipboard;
57
     private final PluginManager pluginManager;
57
     private final PluginManager pluginManager;
58
     private final Clipboard clipboard;
58
     private final Clipboard clipboard;
59
     private final CommandController commandController;
59
     private final CommandController commandController;
60
-    private final EventBus eventBus;
60
+    private final MBassador eventBus;
61
 
61
 
62
     @Inject
62
     @Inject
63
     public TopicBarFactory(
63
     public TopicBarFactory(
68
             final PluginManager pluginManager,
68
             final PluginManager pluginManager,
69
             final Clipboard clipboard,
69
             final Clipboard clipboard,
70
             final CommandController commandController,
70
             final CommandController commandController,
71
-            final EventBus eventBus) {
71
+            final MBassador eventBus) {
72
         this.parentWindow = parentWindow;
72
         this.parentWindow = parentWindow;
73
         this.globalConfig = globalConfig;
73
         this.globalConfig = globalConfig;
74
         this.domain = domain;
74
         this.domain = domain;

+ 5
- 5
src/com/dmdirc/addons/ui_swing/components/addonbrowser/DataLoaderWorker.java View File

38
 import com.dmdirc.util.io.Downloader;
38
 import com.dmdirc.util.io.Downloader;
39
 import com.dmdirc.util.io.InvalidConfigFileException;
39
 import com.dmdirc.util.io.InvalidConfigFileException;
40
 
40
 
41
-import com.google.common.eventbus.EventBus;
42
-
43
 import java.io.IOException;
41
 import java.io.IOException;
44
 import java.util.ArrayList;
42
 import java.util.ArrayList;
45
 import java.util.Collection;
43
 import java.util.Collection;
56
 
54
 
57
 import net.miginfocom.swing.MigLayout;
55
 import net.miginfocom.swing.MigLayout;
58
 
56
 
57
+import net.engio.mbassy.bus.MBassador;
58
+
59
 /**
59
 /**
60
  * Loads the addon data feed into the addon browser.
60
  * Loads the addon data feed into the addon browser.
61
  */
61
  */
86
     /** Downloader to download files. */
86
     /** Downloader to download files. */
87
     private final Downloader downloader;
87
     private final Downloader downloader;
88
     /** The event bus to post errors to. */
88
     /** The event bus to post errors to. */
89
-    private final EventBus eventBus;
89
+    private final MBassador eventBus;
90
 
90
 
91
     /**
91
     /**
92
      * Creates a new data loader worker.
92
      * Creates a new data loader worker.
110
             final InstallWorkerFactory workerFactory,
110
             final InstallWorkerFactory workerFactory,
111
             final UpdateManager updateManager,
111
             final UpdateManager updateManager,
112
             @Directory(DirectoryType.TEMPORARY) final String tempDirectory,
112
             @Directory(DirectoryType.TEMPORARY) final String tempDirectory,
113
-            final EventBus eventBus,
113
+            final MBassador eventBus,
114
             final AddonTable table,
114
             final AddonTable table,
115
             final boolean download,
115
             final boolean download,
116
             final BrowserWindow browserWindow,
116
             final BrowserWindow browserWindow,
180
         } catch (final InterruptedException ex) {
180
         } catch (final InterruptedException ex) {
181
             data = Collections.<AddonInfo>emptyList();
181
             data = Collections.<AddonInfo>emptyList();
182
         } catch (final ExecutionException ex) {
182
         } catch (final ExecutionException ex) {
183
-            eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM, ex, ex.getMessage(), ""));
183
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM, ex, ex.getMessage(), ""));
184
             data = Collections.<AddonInfo>emptyList();
184
             data = Collections.<AddonInfo>emptyList();
185
         }
185
         }
186
         final int selectedRow;
186
         final int selectedRow;

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/addonbrowser/DataLoaderWorkerFactory.java View File

29
 import com.dmdirc.util.URLBuilder;
29
 import com.dmdirc.util.URLBuilder;
30
 import com.dmdirc.util.io.Downloader;
30
 import com.dmdirc.util.io.Downloader;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
32
+import net.engio.mbassy.bus.MBassador;
33
 
33
 
34
 import javax.inject.Inject;
34
 import javax.inject.Inject;
35
 import javax.swing.JScrollPane;
35
 import javax.swing.JScrollPane;
45
     private final InstallWorkerFactory workerFactory;
45
     private final InstallWorkerFactory workerFactory;
46
     private final UpdateManager updateManager;
46
     private final UpdateManager updateManager;
47
     private final String tempDirectory;
47
     private final String tempDirectory;
48
-    private final EventBus eventBus;
48
+    private final MBassador eventBus;
49
 
49
 
50
     @Inject
50
     @Inject
51
     public DataLoaderWorkerFactory(final Downloader downloader,
51
     public DataLoaderWorkerFactory(final Downloader downloader,
53
             final URLBuilder urlBuilder,
53
             final URLBuilder urlBuilder,
54
             final InstallWorkerFactory workerFactory,
54
             final InstallWorkerFactory workerFactory,
55
             final UpdateManager updateManager,
55
             final UpdateManager updateManager,
56
-            final EventBus eventBus,
56
+            final MBassador eventBus,
57
             @CommandLineOptionsModule.Directory(CommandLineOptionsModule.DirectoryType.TEMPORARY) final String tempDirectory) {
57
             @CommandLineOptionsModule.Directory(CommandLineOptionsModule.DirectoryType.TEMPORARY) final String tempDirectory) {
58
         this.downloader = downloader;
58
         this.downloader = downloader;
59
         this.globalConfig = globalConfig;
59
         this.globalConfig = globalConfig;

+ 2
- 2
src/com/dmdirc/addons/ui_swing/components/addonbrowser/InstallWorker.java View File

29
 import com.dmdirc.plugins.PluginManager;
29
 import com.dmdirc.plugins.PluginManager;
30
 import com.dmdirc.util.io.Downloader;
30
 import com.dmdirc.util.io.Downloader;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
32
+import net.engio.mbassy.bus.MBassador;
33
 
33
 
34
 import java.io.File;
34
 import java.io.File;
35
 import java.io.IOException;
35
 import java.io.IOException;
61
             @Directory(DirectoryType.PLUGINS) final String pluginDirectory,
61
             @Directory(DirectoryType.PLUGINS) final String pluginDirectory,
62
             @Directory(DirectoryType.THEMES) final String themeDirectory,
62
             @Directory(DirectoryType.THEMES) final String themeDirectory,
63
             final PluginManager pluginManager,
63
             final PluginManager pluginManager,
64
-            final EventBus eventBus,
64
+            final MBassador eventBus,
65
             final AddonInfo info,
65
             final AddonInfo info,
66
             final InstallerWindow window) {
66
             final InstallerWindow window) {
67
         super(eventBus);
67
         super(eventBus);

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/addonbrowser/InstallWorkerFactory.java View File

26
 import com.dmdirc.plugins.PluginManager;
26
 import com.dmdirc.plugins.PluginManager;
27
 import com.dmdirc.util.io.Downloader;
27
 import com.dmdirc.util.io.Downloader;
28
 
28
 
29
-import com.google.common.eventbus.EventBus;
29
+import net.engio.mbassy.bus.MBassador;
30
 
30
 
31
 import javax.inject.Inject;
31
 import javax.inject.Inject;
32
 
32
 
40
     private final String pluginDirectory;
40
     private final String pluginDirectory;
41
     private final String themeDirectory;
41
     private final String themeDirectory;
42
     private final PluginManager pluginManager;
42
     private final PluginManager pluginManager;
43
-    private final EventBus eventBus;
43
+    private final MBassador eventBus;
44
 
44
 
45
     @Inject
45
     @Inject
46
     public InstallWorkerFactory(final Downloader downloader,
46
     public InstallWorkerFactory(final Downloader downloader,
47
             @CommandLineOptionsModule.Directory(CommandLineOptionsModule.DirectoryType.TEMPORARY) final String tempDirectory,
47
             @CommandLineOptionsModule.Directory(CommandLineOptionsModule.DirectoryType.TEMPORARY) final String tempDirectory,
48
             @CommandLineOptionsModule.Directory(CommandLineOptionsModule.DirectoryType.PLUGINS) final String pluginDirectory,
48
             @CommandLineOptionsModule.Directory(CommandLineOptionsModule.DirectoryType.PLUGINS) final String pluginDirectory,
49
             @CommandLineOptionsModule.Directory(CommandLineOptionsModule.DirectoryType.THEMES) final String themeDirectory,
49
             @CommandLineOptionsModule.Directory(CommandLineOptionsModule.DirectoryType.THEMES) final String themeDirectory,
50
-            final PluginManager pluginManager, final EventBus eventBus) {
50
+            final PluginManager pluginManager, final MBassador eventBus) {
51
         this.downloader = downloader;
51
         this.downloader = downloader;
52
         this.tempDirectory = tempDirectory;
52
         this.tempDirectory = tempDirectory;
53
         this.pluginDirectory = pluginDirectory;
53
         this.pluginDirectory = pluginDirectory;

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/addonpanel/AddonPanel.java View File

30
 import com.dmdirc.addons.ui_swing.components.text.TextLabel;
30
 import com.dmdirc.addons.ui_swing.components.text.TextLabel;
31
 import com.dmdirc.config.prefs.PreferencesInterface;
31
 import com.dmdirc.config.prefs.PreferencesInterface;
32
 
32
 
33
-import com.google.common.eventbus.EventBus;
33
+import net.engio.mbassy.bus.MBassador;
34
 
34
 
35
 import java.awt.Window;
35
 import java.awt.Window;
36
 
36
 
63
     /** The factory to use to produce data loader workers. */
63
     /** The factory to use to produce data loader workers. */
64
     private final DataLoaderWorkerFactory workerFactory;
64
     private final DataLoaderWorkerFactory workerFactory;
65
     /** The event bus to post errors to. */
65
     /** The event bus to post errors to. */
66
-    private final EventBus eventBus;
66
+    private final MBassador eventBus;
67
     /** Addon list scroll pane. */
67
     /** Addon list scroll pane. */
68
     private JScrollPane scrollPane;
68
     private JScrollPane scrollPane;
69
     /** Blurb label. */
69
     /** Blurb label. */
83
      * @param eventBus      The event bus to post errors to.
83
      * @param eventBus      The event bus to post errors to.
84
      */
84
      */
85
     public AddonPanel(final Window parentWindow, final DataLoaderWorkerFactory workerFactory,
85
     public AddonPanel(final Window parentWindow, final DataLoaderWorkerFactory workerFactory,
86
-            final EventBus eventBus) {
86
+            final MBassador eventBus) {
87
         this.parentWindow = parentWindow;
87
         this.parentWindow = parentWindow;
88
         this.workerFactory = workerFactory;
88
         this.workerFactory = workerFactory;
89
         this.eventBus = eventBus;
89
         this.eventBus = eventBus;

+ 6
- 6
src/com/dmdirc/addons/ui_swing/components/addonpanel/PluginPanel.java View File

34
 import com.dmdirc.ui.IconManager;
34
 import com.dmdirc.ui.IconManager;
35
 import com.dmdirc.updater.manager.CachingUpdateManager;
35
 import com.dmdirc.updater.manager.CachingUpdateManager;
36
 
36
 
37
-import com.google.common.eventbus.EventBus;
38
-import com.google.common.eventbus.Subscribe;
39
-
40
 import java.awt.Window;
37
 import java.awt.Window;
41
 import java.util.ArrayList;
38
 import java.util.ArrayList;
42
 import java.util.Collections;
39
 import java.util.Collections;
46
 import javax.swing.JTable;
43
 import javax.swing.JTable;
47
 import javax.swing.table.DefaultTableModel;
44
 import javax.swing.table.DefaultTableModel;
48
 
45
 
46
+import net.engio.mbassy.bus.MBassador;
47
+import net.engio.mbassy.listener.Handler;
48
+
49
 /**
49
 /**
50
  * Lists known plugins, enabling the end user to enable/disable these as well as download new ones.
50
  * Lists known plugins, enabling the end user to enable/disable these as well as download new ones.
51
  */
51
  */
75
      */
75
      */
76
     @Inject
76
     @Inject
77
     public PluginPanel(
77
     public PluginPanel(
78
-            final EventBus eventBus,
78
+            final MBassador eventBus,
79
             @MainWindow final Window parentWindow,
79
             @MainWindow final Window parentWindow,
80
             final PluginManager pluginManager,
80
             final PluginManager pluginManager,
81
             final DataLoaderWorkerFactory workerFactory,
81
             final DataLoaderWorkerFactory workerFactory,
87
         this.iconManager = iconManager;
87
         this.iconManager = iconManager;
88
         this.updateManager = updateManager;
88
         this.updateManager = updateManager;
89
         this.userConfig = userConfig;
89
         this.userConfig = userConfig;
90
-        eventBus.register(this);
90
+        eventBus.subscribe(this);
91
         pluginManager.refreshPlugins();
91
         pluginManager.refreshPlugins();
92
         load();
92
         load();
93
     }
93
     }
133
         return table;
133
         return table;
134
     }
134
     }
135
 
135
 
136
-    @Subscribe
136
+    @Handler
137
     public void handlePluginRefresh(final PluginRefreshEvent event) {
137
     public void handlePluginRefresh(final PluginRefreshEvent event) {
138
         populateList(addonList);
138
         populateList(addonList);
139
     }
139
     }

+ 2
- 2
src/com/dmdirc/addons/ui_swing/components/addonpanel/ThemePanel.java View File

33
 import com.dmdirc.ui.themes.ThemeManager;
33
 import com.dmdirc.ui.themes.ThemeManager;
34
 import com.dmdirc.updater.manager.CachingUpdateManager;
34
 import com.dmdirc.updater.manager.CachingUpdateManager;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
36
+import net.engio.mbassy.bus.MBassador;
37
 
37
 
38
 import java.awt.Window;
38
 import java.awt.Window;
39
 import java.util.ArrayList;
39
 import java.util.ArrayList;
79
             @GlobalConfig final IconManager iconManager,
79
             @GlobalConfig final IconManager iconManager,
80
             final CachingUpdateManager updateManager,
80
             final CachingUpdateManager updateManager,
81
             @UserConfig final ConfigProvider userConfig,
81
             @UserConfig final ConfigProvider userConfig,
82
-            final EventBus eventBus) {
82
+            final MBassador eventBus) {
83
         super(parentWindow, workerFactory, eventBus);
83
         super(parentWindow, workerFactory, eventBus);
84
         this.themeManager = themeManager;
84
         this.themeManager = themeManager;
85
         this.iconManager = iconManager;
85
         this.iconManager = iconManager;

+ 7
- 7
src/com/dmdirc/addons/ui_swing/components/frames/ChannelFrame.java View File

39
 import com.dmdirc.interfaces.config.ConfigProvider;
39
 import com.dmdirc.interfaces.config.ConfigProvider;
40
 import com.dmdirc.interfaces.config.IdentityFactory;
40
 import com.dmdirc.interfaces.config.IdentityFactory;
41
 
41
 
42
-import com.google.common.eventbus.EventBus;
43
-import com.google.common.eventbus.Subscribe;
44
-
45
 import java.awt.Dimension;
42
 import java.awt.Dimension;
46
 import java.awt.event.ActionEvent;
43
 import java.awt.event.ActionEvent;
47
 import java.awt.event.ActionListener;
44
 import java.awt.event.ActionListener;
53
 
50
 
54
 import net.miginfocom.swing.MigLayout;
51
 import net.miginfocom.swing.MigLayout;
55
 
52
 
53
+import net.engio.mbassy.bus.MBassador;
54
+import net.engio.mbassy.listener.Handler;
55
+
56
 /**
56
 /**
57
  * The channel frame is the GUI component that represents a channel to the user.
57
  * The channel frame is the GUI component that represents a channel to the user.
58
  */
58
  */
71
     /** Topic bar. */
71
     /** Topic bar. */
72
     private TopicBar topicBar;
72
     private TopicBar topicBar;
73
     /** Event bus to dispatch events on. */
73
     /** Event bus to dispatch events on. */
74
-    private final EventBus eventBus;
74
+    private final MBassador eventBus;
75
     /** Config to read settings from. */
75
     /** Config to read settings from. */
76
     private final AggregateConfigProvider globalConfig;
76
     private final AggregateConfigProvider globalConfig;
77
     /** The domain to read settings from. */
77
     /** The domain to read settings from. */
113
 
113
 
114
         globalConfig.addChangeListener("ui", "channelSplitPanePosition", this);
114
         globalConfig.addChangeListener("ui", "channelSplitPanePosition", this);
115
         globalConfig.addChangeListener(domain, "shownicklist", this);
115
         globalConfig.addChangeListener(domain, "shownicklist", this);
116
-        eventBus.register(this);
116
+        eventBus.subscribe(this);
117
 
117
 
118
         identity = identityFactory.createChannelConfig(owner.getConnection().getNetwork(),
118
         identity = identityFactory.createChannelConfig(owner.getConnection().getNetwork(),
119
                 owner.getChannelInfo().getName());
119
                 owner.getChannelInfo().getName());
217
         }
217
         }
218
     }
218
     }
219
 
219
 
220
-    @Subscribe
220
+    @Handler
221
     public void handleClientClosing(final ClientClosingEvent event) {
221
     public void handleClientClosing(final ClientClosingEvent event) {
222
         saveSplitPanePosition();
222
         saveSplitPanePosition();
223
     }
223
     }
284
 
284
 
285
     @Override
285
     @Override
286
     public void dispose() {
286
     public void dispose() {
287
-        eventBus.unregister(this);
287
+        eventBus.unsubscribe(this);
288
         globalConfig.removeListener(this);
288
         globalConfig.removeListener(this);
289
         super.dispose();
289
         super.dispose();
290
     }
290
     }

+ 4
- 4
src/com/dmdirc/addons/ui_swing/components/frames/ComponentCreator.java View File

32
 import com.dmdirc.util.SimpleInjector;
32
 import com.dmdirc.util.SimpleInjector;
33
 import com.dmdirc.util.URLBuilder;
33
 import com.dmdirc.util.URLBuilder;
34
 
34
 
35
-import com.google.common.eventbus.EventBus;
36
-
37
 import java.util.HashSet;
35
 import java.util.HashSet;
38
 import java.util.Set;
36
 import java.util.Set;
39
 
37
 
40
 import javax.swing.JComponent;
38
 import javax.swing.JComponent;
41
 
39
 
40
+import net.engio.mbassy.bus.MBassador;
41
+
42
 /**
42
 /**
43
  * Utility class to create frame components.
43
  * Utility class to create frame components.
44
  *
44
  *
64
     public Set<JComponent> initFrameComponents(
64
     public Set<JComponent> initFrameComponents(
65
             final Object frame,
65
             final Object frame,
66
             final SwingController controller,
66
             final SwingController controller,
67
-            final EventBus eventBus,
67
+            final MBassador eventBus,
68
             final URLBuilder urlBuilder,
68
             final URLBuilder urlBuilder,
69
             final FrameContainer owner) {
69
             final FrameContainer owner) {
70
         final SimpleInjector injector = new SimpleInjector();
70
         final SimpleInjector injector = new SimpleInjector();
93
                 object = injector.createInstance(clazz);
93
                 object = injector.createInstance(clazz);
94
             } catch (ClassNotFoundException | IllegalArgumentException ex) {
94
             } catch (ClassNotFoundException | IllegalArgumentException ex) {
95
                 object = null;
95
                 object = null;
96
-                eventBus.post(new UserErrorEvent(ErrorLevel.HIGH, ex,
96
+                eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, ex,
97
                         "Unable to create component: " + ex.getMessage(), ""));
97
                         "Unable to create component: " + ex.getMessage(), ""));
98
             }
98
             }
99
             if (object instanceof JComponent) {
99
             if (object instanceof JComponent) {

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/frames/ComponentFrame.java View File

28
 import com.dmdirc.commandparser.parsers.CommandParser;
28
 import com.dmdirc.commandparser.parsers.CommandParser;
29
 import com.dmdirc.util.URLBuilder;
29
 import com.dmdirc.util.URLBuilder;
30
 
30
 
31
-import com.google.common.eventbus.EventBus;
31
+import net.engio.mbassy.bus.MBassador;
32
 
32
 
33
 import javax.swing.JComponent;
33
 import javax.swing.JComponent;
34
 import javax.swing.JPopupMenu;
34
 import javax.swing.JPopupMenu;
49
     /** Parent controller. */
49
     /** Parent controller. */
50
     private final SwingController controller;
50
     private final SwingController controller;
51
     /** The global event bus. */
51
     /** The global event bus. */
52
-    private final EventBus eventBus;
52
+    private final MBassador eventBus;
53
 
53
 
54
     /**
54
     /**
55
      * Creates a new instance of CustomFrame.
55
      * Creates a new instance of CustomFrame.
61
      * @param commandParser The parser to use to process commands.
61
      * @param commandParser The parser to use to process commands.
62
      */
62
      */
63
     public ComponentFrame(
63
     public ComponentFrame(
64
-            final EventBus eventBus,
64
+            final MBassador eventBus,
65
             final TextFrameDependencies deps,
65
             final TextFrameDependencies deps,
66
             final URLBuilder urlBuilder,
66
             final URLBuilder urlBuilder,
67
             final FrameContainer owner,
67
             final FrameContainer owner,

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/frames/ComponentFrameFactory.java View File

26
 import com.dmdirc.commandparser.parsers.CommandParser;
26
 import com.dmdirc.commandparser.parsers.CommandParser;
27
 import com.dmdirc.util.URLBuilder;
27
 import com.dmdirc.util.URLBuilder;
28
 
28
 
29
-import com.google.common.eventbus.EventBus;
29
+import net.engio.mbassy.bus.MBassador;
30
 
30
 
31
 import javax.inject.Inject;
31
 import javax.inject.Inject;
32
 import javax.inject.Singleton;
32
 import javax.inject.Singleton;
39
 @Singleton
39
 @Singleton
40
 public class ComponentFrameFactory {
40
 public class ComponentFrameFactory {
41
 
41
 
42
-    private final EventBus eventBus;
42
+    private final MBassador eventBus;
43
     private final TextFrameDependencies dependencies;
43
     private final TextFrameDependencies dependencies;
44
     private final URLBuilder urlBuilder;
44
     private final URLBuilder urlBuilder;
45
 
45
 
46
     @Inject
46
     @Inject
47
     public ComponentFrameFactory(
47
     public ComponentFrameFactory(
48
-            final EventBus eventBus,
48
+            final MBassador eventBus,
49
             final TextFrameDependencies dependencies,
49
             final TextFrameDependencies dependencies,
50
             final URLBuilder urlBuilder) {
50
             final URLBuilder urlBuilder) {
51
         this.eventBus = eventBus;
51
         this.eventBus = eventBus;

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/frames/ComponentInputFrame.java View File

28
 import com.dmdirc.commandparser.PopupType;
28
 import com.dmdirc.commandparser.PopupType;
29
 import com.dmdirc.util.URLBuilder;
29
 import com.dmdirc.util.URLBuilder;
30
 
30
 
31
-import com.google.common.eventbus.EventBus;
31
+import net.engio.mbassy.bus.MBassador;
32
 
32
 
33
 import javax.inject.Provider;
33
 import javax.inject.Provider;
34
 import javax.swing.JComponent;
34
 import javax.swing.JComponent;
50
     /** Parent controller. */
50
     /** Parent controller. */
51
     private final SwingController controller;
51
     private final SwingController controller;
52
     /** The global event bus. */
52
     /** The global event bus. */
53
-    private final EventBus eventBus;
53
+    private final MBassador eventBus;
54
 
54
 
55
     /**
55
     /**
56
      * Creates a new instance of CustomInputFrame.
56
      * Creates a new instance of CustomInputFrame.
62
      * @param owner              The frame container that owns this frame
62
      * @param owner              The frame container that owns this frame
63
      */
63
      */
64
     public ComponentInputFrame(
64
     public ComponentInputFrame(
65
-            final EventBus eventBus,
65
+            final MBassador eventBus,
66
             final TextFrameDependencies deps,
66
             final TextFrameDependencies deps,
67
             final Provider<SwingInputField> inputFieldProvider,
67
             final Provider<SwingInputField> inputFieldProvider,
68
             final URLBuilder urlBuilder,
68
             final URLBuilder urlBuilder,

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/frames/DesktopWindowFrame.java View File

28
 import com.dmdirc.events.FrameTitleChangedEvent;
28
 import com.dmdirc.events.FrameTitleChangedEvent;
29
 import com.dmdirc.interfaces.FrameCloseListener;
29
 import com.dmdirc.interfaces.FrameCloseListener;
30
 
30
 
31
-import com.google.common.eventbus.Subscribe;
31
+import net.engio.mbassy.listener.Handler;
32
 
32
 
33
 import java.awt.Point;
33
 import java.awt.Point;
34
 import java.awt.event.WindowAdapter;
34
 import java.awt.event.WindowAdapter;
96
         });
96
         });
97
     }
97
     }
98
 
98
 
99
-    @Subscribe
99
+    @Handler
100
     public void iconChanged(final FrameIconChangedEvent event) {
100
     public void iconChanged(final FrameIconChangedEvent event) {
101
         UIUtilities.invokeLater(new Runnable() {
101
         UIUtilities.invokeLater(new Runnable() {
102
 
102
 
109
         });
109
         });
110
     }
110
     }
111
 
111
 
112
-    @Subscribe
112
+    @Handler
113
     public void titleChanged(final FrameTitleChangedEvent event) {
113
     public void titleChanged(final FrameTitleChangedEvent event) {
114
         UIUtilities.invokeLater(new Runnable() {
114
         UIUtilities.invokeLater(new Runnable() {
115
 
115
 

+ 6
- 6
src/com/dmdirc/addons/ui_swing/components/frames/InputTextFrame.java View File

42
 import com.dmdirc.ui.input.InputHandler;
42
 import com.dmdirc.ui.input.InputHandler;
43
 import com.dmdirc.ui.messages.ColourManager;
43
 import com.dmdirc.ui.messages.ColourManager;
44
 
44
 
45
-import com.google.common.eventbus.EventBus;
46
-
47
 import java.awt.BorderLayout;
45
 import java.awt.BorderLayout;
48
 import java.awt.Point;
46
 import java.awt.Point;
49
 import java.awt.Toolkit;
47
 import java.awt.Toolkit;
63
 
61
 
64
 import net.miginfocom.layout.PlatformDefaults;
62
 import net.miginfocom.layout.PlatformDefaults;
65
 
63
 
64
+import net.engio.mbassy.bus.MBassador;
65
+
66
 /**
66
 /**
67
  * Frame with an input field.
67
  * Frame with an input field.
68
  */
68
  */
100
     /** The controller to use to retrieve command information. */
100
     /** The controller to use to retrieve command information. */
101
     private final CommandController commandController;
101
     private final CommandController commandController;
102
     /** The bus to dispatch input events on. */
102
     /** The bus to dispatch input events on. */
103
-    private final EventBus eventBus;
103
+    private final MBassador eventBus;
104
 
104
 
105
     /**
105
     /**
106
      * Creates a new instance of InputFrame.
106
      * Creates a new instance of InputFrame.
282
                 return;
282
                 return;
283
             }
283
             }
284
         } catch (final IllegalStateException ex) {
284
         } catch (final IllegalStateException ex) {
285
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
285
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
286
                     "Unable to past from clipboard.", ""));
286
                     "Unable to past from clipboard.", ""));
287
             return;
287
             return;
288
         }
288
         }
293
             doPaste((String) Toolkit.getDefaultToolkit()
293
             doPaste((String) Toolkit.getDefaultToolkit()
294
                     .getSystemClipboard().getData(DataFlavor.stringFlavor));
294
                     .getSystemClipboard().getData(DataFlavor.stringFlavor));
295
         } catch (final IOException ex) {
295
         } catch (final IOException ex) {
296
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
296
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
297
                     "Unable to get clipboard contents: " + ex.getMessage(), ""));
297
                     "Unable to get clipboard contents: " + ex.getMessage(), ""));
298
         } catch (final UnsupportedFlavorException ex) {
298
         } catch (final UnsupportedFlavorException ex) {
299
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex,
299
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex,
300
                     "Unsupported clipboard type", ""));
300
                     "Unsupported clipboard type", ""));
301
         }
301
         }
302
     }
302
     }

+ 10
- 10
src/com/dmdirc/addons/ui_swing/components/frames/TextFrame.java View File

63
 import com.dmdirc.ui.IconManager;
63
 import com.dmdirc.ui.IconManager;
64
 import com.dmdirc.ui.messages.ColourManager;
64
 import com.dmdirc.ui.messages.ColourManager;
65
 
65
 
66
-import com.google.common.eventbus.EventBus;
67
-
68
 import java.awt.Point;
66
 import java.awt.Point;
69
 import java.awt.Window;
67
 import java.awt.Window;
70
 import java.awt.datatransfer.Clipboard;
68
 import java.awt.datatransfer.Clipboard;
84
 
82
 
85
 import net.miginfocom.swing.MigLayout;
83
 import net.miginfocom.swing.MigLayout;
86
 
84
 
85
+import net.engio.mbassy.bus.MBassador;
86
+
87
 /**
87
 /**
88
  * Implements a generic (internal) frame.
88
  * Implements a generic (internal) frame.
89
  */
89
  */
105
     /** Manager to use for building popups. */
105
     /** Manager to use for building popups. */
106
     private final PopupManager popupManager;
106
     private final PopupManager popupManager;
107
     /** Bus to despatch events on. */
107
     /** Bus to despatch events on. */
108
-    private final EventBus eventBus;
108
+    private final MBassador eventBus;
109
     /** Clipboard to copy and paste from. */
109
     /** Clipboard to copy and paste from. */
110
     private final Clipboard clipboard;
110
     private final Clipboard clipboard;
111
     /** Boolean to determine if this frame should be popped out of main client. */
111
     /** Boolean to determine if this frame should be popped out of main client. */
167
         if (popout) {
167
         if (popout) {
168
             popoutPlaceholder = new DesktopPlaceHolderFrame();
168
             popoutPlaceholder = new DesktopPlaceHolderFrame();
169
             popoutFrame = new DesktopWindowFrame(this);
169
             popoutFrame = new DesktopWindowFrame(this);
170
-            eventBus.register(popoutFrame);
170
+            eventBus.subscribe(popoutFrame);
171
             popoutFrame.display();
171
             popoutFrame.display();
172
         } else if (popoutFrame != null) {
172
         } else if (popoutFrame != null) {
173
             popoutPlaceholder = null;
173
             popoutPlaceholder = null;
174
             popoutFrame.dispose();
174
             popoutFrame.dispose();
175
-            eventBus.unregister(popoutFrame);
175
+            eventBus.unsubscribe(popoutFrame);
176
             popoutFrame = null;
176
             popoutFrame = null;
177
         }
177
         }
178
         // Call setActiveFrame again so the contents of the frame manager are updated.
178
         // Call setActiveFrame again so the contents of the frame manager are updated.
308
         if (eventType == MouseEventType.CLICK && event.getButton() == MouseEvent.BUTTON1) {
308
         if (eventType == MouseEventType.CLICK && event.getButton() == MouseEvent.BUTTON1) {
309
             switch (clicktype.getType()) {
309
             switch (clicktype.getType()) {
310
                 case CHANNEL:
310
                 case CHANNEL:
311
-                    eventBus.post(new LinkChannelClickedEvent(this, clicktype.getValue()));
311
+                    eventBus.publishAsync(new LinkChannelClickedEvent(this, clicktype.getValue()));
312
                     break;
312
                     break;
313
                 case NICKNAME:
313
                 case NICKNAME:
314
-                    eventBus.post(new LinkNicknameClickedEvent(this, clicktype.getValue()));
314
+                    eventBus.publishAsync(new LinkNicknameClickedEvent(this, clicktype.getValue()));
315
                     break;
315
                     break;
316
                 case HYPERLINK:
316
                 case HYPERLINK:
317
-                    eventBus.post(new LinkUrlClickedEvent(this, clicktype.getValue()));
317
+                    eventBus.publishAsync(new LinkUrlClickedEvent(this, clicktype.getValue()));
318
                     break;
318
                     break;
319
             }
319
             }
320
         }
320
         }
546
         final SwingController controller;
546
         final SwingController controller;
547
         final Provider<Window> mainWindow;
547
         final Provider<Window> mainWindow;
548
         final PopupManager popupManager;
548
         final PopupManager popupManager;
549
-        final EventBus eventBus;
549
+        final MBassador eventBus;
550
         final AggregateConfigProvider globalConfig;
550
         final AggregateConfigProvider globalConfig;
551
         final PasteDialogFactory pasteDialog;
551
         final PasteDialogFactory pasteDialog;
552
         final PluginManager pluginManager;
552
         final PluginManager pluginManager;
561
                 final SwingController controller,
561
                 final SwingController controller,
562
                 @MainWindow final Provider<Window> mainWindow,
562
                 @MainWindow final Provider<Window> mainWindow,
563
                 final PopupManager popupManager,
563
                 final PopupManager popupManager,
564
-                final EventBus eventBus,
564
+                final MBassador eventBus,
565
                 final PasteDialogFactory pasteDialog,
565
                 final PasteDialogFactory pasteDialog,
566
                 final PluginManager pluginManager,
566
                 final PluginManager pluginManager,
567
                 @GlobalConfig final IconManager iconManager,
567
                 @GlobalConfig final IconManager iconManager,

+ 3
- 3
src/com/dmdirc/addons/ui_swing/components/inputfields/SwingInputHandler.java View File

32
 import com.dmdirc.plugins.ServiceManager;
32
 import com.dmdirc.plugins.ServiceManager;
33
 import com.dmdirc.ui.input.InputHandler;
33
 import com.dmdirc.ui.input.InputHandler;
34
 
34
 
35
-import com.google.common.eventbus.EventBus;
35
+import net.engio.mbassy.bus.MBassador;
36
 
36
 
37
 import java.awt.event.ActionEvent;
37
 import java.awt.event.ActionEvent;
38
 import java.awt.event.KeyEvent;
38
 import java.awt.event.KeyEvent;
49
  */
49
  */
50
 public class SwingInputHandler extends InputHandler implements KeyListener {
50
 public class SwingInputHandler extends InputHandler implements KeyListener {
51
 
51
 
52
-    private final EventBus eventBus;
52
+    private final MBassador eventBus;
53
 
53
 
54
     /**
54
     /**
55
      * Creates a new instance of InputHandler. Adds listeners to the target that we need to operate.
55
      * Creates a new instance of InputHandler. Adds listeners to the target that we need to operate.
67
             final CommandController commandController,
67
             final CommandController commandController,
68
             final CommandParser commandParser,
68
             final CommandParser commandParser,
69
             final FrameContainer parentWindow,
69
             final FrameContainer parentWindow,
70
-            final EventBus eventBus) {
70
+            final MBassador eventBus) {
71
         super(serviceManager, target, commandController, commandParser, parentWindow, eventBus);
71
         super(serviceManager, target, commandController, commandParser, parentWindow, eventBus);
72
         this.eventBus = eventBus;
72
         this.eventBus = eventBus;
73
     }
73
     }

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

37
 import com.dmdirc.interfaces.ui.StatusBarComponent;
37
 import com.dmdirc.interfaces.ui.StatusBarComponent;
38
 import com.dmdirc.ui.IconManager;
38
 import com.dmdirc.ui.IconManager;
39
 
39
 
40
-import com.google.common.eventbus.EventBus;
41
-import com.google.common.eventbus.Subscribe;
40
+import net.engio.mbassy.bus.MBassador;
41
+import net.engio.mbassy.listener.Handler;
42
 
42
 
43
 import java.awt.Window;
43
 import java.awt.Window;
44
 import java.awt.event.ActionEvent;
44
 import java.awt.event.ActionEvent;
82
      */
82
      */
83
     @Inject
83
     @Inject
84
     public InviteLabel(
84
     public InviteLabel(
85
-            final EventBus eventBus,
85
+            final MBassador eventBus,
86
             @GlobalConfig final IconManager iconManager,
86
             @GlobalConfig final IconManager iconManager,
87
             final ServerManager serverManager,
87
             final ServerManager serverManager,
88
             final MainFrame mainFrame) {
88
             final MainFrame mainFrame) {
106
         }
106
         }
107
 
107
 
108
         mainFrame.addSelectionListener(this);
108
         mainFrame.addSelectionListener(this);
109
-        eventBus.register(this);
109
+        eventBus.subscribe(this);
110
 
110
 
111
         update();
111
         update();
112
     }
112
     }
160
         update();
160
         update();
161
     }
161
     }
162
 
162
 
163
-    @Subscribe
163
+    @Handler
164
     public void handleServerConnected(final ServerConnectedEvent event) {
164
     public void handleServerConnected(final ServerConnectedEvent event) {
165
         event.getConnection().addInviteListener(this);
165
         event.getConnection().addInviteListener(this);
166
     }
166
     }
167
 
167
 
168
-    @Subscribe
168
+    @Handler
169
     public void handleServerDisconnected(final ServerDisconnectedEvent event) {
169
     public void handleServerDisconnected(final ServerDisconnectedEvent event) {
170
         handleServerRemoved(event.getConnection());
170
         handleServerRemoved(event.getConnection());
171
     }
171
     }
172
 
172
 
173
-    @Subscribe
173
+    @Handler
174
     public void handleServerConnectError(final ServerConnectErrorEvent event) {
174
     public void handleServerConnectError(final ServerConnectErrorEvent event) {
175
         handleServerRemoved(event.getConnection());
175
         handleServerRemoved(event.getConnection());
176
     }
176
     }

+ 7
- 7
src/com/dmdirc/addons/ui_swing/components/text/WrapEditorKit.java View File

13
 import com.dmdirc.interfaces.ui.Window;
13
 import com.dmdirc.interfaces.ui.Window;
14
 import com.dmdirc.ui.messages.IRCTextAttribute;
14
 import com.dmdirc.ui.messages.IRCTextAttribute;
15
 
15
 
16
-import com.google.common.eventbus.EventBus;
17
-
18
 import java.awt.Cursor;
16
 import java.awt.Cursor;
19
 import java.awt.event.MouseEvent;
17
 import java.awt.event.MouseEvent;
20
 import java.awt.event.MouseListener;
18
 import java.awt.event.MouseListener;
27
 import javax.swing.text.StyledEditorKit;
25
 import javax.swing.text.StyledEditorKit;
28
 import javax.swing.text.ViewFactory;
26
 import javax.swing.text.ViewFactory;
29
 
27
 
28
+import net.engio.mbassy.bus.MBassador;
29
+
30
 /**
30
 /**
31
  * @author Stanislav Lapitsky
31
  * @author Stanislav Lapitsky
32
  * @version 1.0
32
  * @version 1.0
46
     /** Associated Component. */
46
     /** Associated Component. */
47
     private JEditorPane editorPane;
47
     private JEditorPane editorPane;
48
     /** Event bus to fire link click events on. */
48
     /** Event bus to fire link click events on. */
49
-    private final EventBus eventBus;
49
+    private final MBassador eventBus;
50
     /** The window this editor kit is used in. */
50
     /** The window this editor kit is used in. */
51
     private final Window window;
51
     private final Window window;
52
 
52
 
57
      * @param eventBus Event bus to raise hyperlink events on
57
      * @param eventBus Event bus to raise hyperlink events on
58
      * @param window   Window as source for hyperlink events
58
      * @param window   Window as source for hyperlink events
59
      */
59
      */
60
-    public WrapEditorKit(final boolean wrapping, final EventBus eventBus, final Window window) {
60
+    public WrapEditorKit(final boolean wrapping, final MBassador eventBus, final Window window) {
61
         this.window = window;
61
         this.window = window;
62
         this.eventBus = eventBus;
62
         this.eventBus = eventBus;
63
         wrap = wrapping;
63
         wrap = wrapping;
124
             Object target = characterElementAt(e).getAttributes().getAttribute(
124
             Object target = characterElementAt(e).getAttributes().getAttribute(
125
                     IRCTextAttribute.HYPERLINK);
125
                     IRCTextAttribute.HYPERLINK);
126
             if (target != null) {
126
             if (target != null) {
127
-                eventBus.post(new LinkUrlClickedEvent(window, (String) target));
127
+                eventBus.publishAsync(new LinkUrlClickedEvent(window, (String) target));
128
             }
128
             }
129
             target = characterElementAt(e).getAttributes().getAttribute(IRCTextAttribute.CHANNEL);
129
             target = characterElementAt(e).getAttributes().getAttribute(IRCTextAttribute.CHANNEL);
130
             if (target != null) {
130
             if (target != null) {
131
-                eventBus.post(new LinkChannelClickedEvent(window, (String) target));
131
+                eventBus.publishAsync(new LinkChannelClickedEvent(window, (String) target));
132
             }
132
             }
133
             target = characterElementAt(e).getAttributes().getAttribute(IRCTextAttribute.NICKNAME);
133
             target = characterElementAt(e).getAttributes().getAttribute(IRCTextAttribute.NICKNAME);
134
             if (target != null) {
134
             if (target != null) {
135
-                eventBus.post(new LinkNicknameClickedEvent(window, (String) target));
135
+                eventBus.publishAsync(new LinkNicknameClickedEvent(window, (String) target));
136
             }
136
             }
137
         }
137
         }
138
     }
138
     }

+ 2
- 2
src/com/dmdirc/addons/ui_swing/dialogs/about/LicenceLoader.java View File

27
 import com.dmdirc.plugins.PluginInfo;
27
 import com.dmdirc.plugins.PluginInfo;
28
 import com.dmdirc.util.resourcemanager.ResourceManager;
28
 import com.dmdirc.util.resourcemanager.ResourceManager;
29
 
29
 
30
-import com.google.common.eventbus.EventBus;
30
+import net.engio.mbassy.bus.MBassador;
31
 
31
 
32
 import java.io.BufferedReader;
32
 import java.io.BufferedReader;
33
 import java.io.IOException;
33
 import java.io.IOException;
67
      * @param eventBus The event bus to post errors to
67
      * @param eventBus The event bus to post errors to
68
      */
68
      */
69
     public LicenceLoader(final Collection<PluginInfo> plugins, final JTree tree,
69
     public LicenceLoader(final Collection<PluginInfo> plugins, final JTree tree,
70
-            final DefaultTreeModel model, final EventBus eventBus) {
70
+            final DefaultTreeModel model, final MBassador eventBus) {
71
         super(eventBus);
71
         super(eventBus);
72
         this.plugins = plugins;
72
         this.plugins = plugins;
73
         this.tree = tree;
73
         this.tree = tree;

+ 2
- 2
src/com/dmdirc/addons/ui_swing/dialogs/about/LicencesPanel.java View File

29
 import com.dmdirc.plugins.PluginInfo;
29
 import com.dmdirc.plugins.PluginInfo;
30
 import com.dmdirc.plugins.PluginManager;
30
 import com.dmdirc.plugins.PluginManager;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
32
+import net.engio.mbassy.bus.MBassador;
33
 
33
 
34
 import java.awt.Font;
34
 import java.awt.Font;
35
 import java.awt.Rectangle;
35
 import java.awt.Rectangle;
80
     @Inject
80
     @Inject
81
     public LicencesPanel(
81
     public LicencesPanel(
82
             @GlobalConfig final AggregateConfigProvider globalConfig,
82
             @GlobalConfig final AggregateConfigProvider globalConfig,
83
-            final PluginManager pluginManager, final EventBus eventBus) {
83
+            final PluginManager pluginManager, final MBassador eventBus) {
84
         config = globalConfig;
84
         config = globalConfig;
85
         initComponents();
85
         initComponents();
86
         new LicenceLoader(pluginManager.getPluginInfos(), list, listModel, eventBus).execute();
86
         new LicenceLoader(pluginManager.getPluginInfos(), list, listModel, eventBus).execute();

+ 9
- 9
src/com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog.java View File

46
 import com.dmdirc.util.validators.FileNameValidator;
46
 import com.dmdirc.util.validators.FileNameValidator;
47
 import com.dmdirc.util.validators.ValidatorChain;
47
 import com.dmdirc.util.validators.ValidatorChain;
48
 
48
 
49
-import com.google.common.eventbus.EventBus;
50
-import com.google.common.eventbus.Subscribe;
51
-
52
 import java.awt.event.ActionEvent;
49
 import java.awt.event.ActionEvent;
53
 import java.awt.event.ActionListener;
50
 import java.awt.event.ActionListener;
54
 import java.util.HashMap;
51
 import java.util.HashMap;
69
 
66
 
70
 import net.miginfocom.swing.MigLayout;
67
 import net.miginfocom.swing.MigLayout;
71
 
68
 
69
+import net.engio.mbassy.bus.MBassador;
70
+import net.engio.mbassy.listener.Handler;
71
+
72
 /**
72
 /**
73
  * Allows the user to manage actions.
73
  * Allows the user to manage actions.
74
  */
74
  */
86
     /** Duplicate action group validator. */
86
     /** Duplicate action group validator. */
87
     private final ValidatorChain<String> validator;
87
     private final ValidatorChain<String> validator;
88
     /** Event bus to post events to and subscribe to events on. */
88
     /** Event bus to post events to and subscribe to events on. */
89
-    private final EventBus eventbus;
89
+    private final MBassador eventbus;
90
     /** Info label. */
90
     /** Info label. */
91
     private TextLabel infoLabel;
91
     private TextLabel infoLabel;
92
     /** Group list. */
92
     /** Group list. */
125
      */
125
      */
126
     @Inject
126
     @Inject
127
     public ActionsManagerDialog(
127
     public ActionsManagerDialog(
128
-            final EventBus eventBus,
128
+            final MBassador eventBus,
129
             final Apple apple,
129
             final Apple apple,
130
             final MainFrame parentWindow,
130
             final MainFrame parentWindow,
131
             @UserConfig final ConfigProvider config,
131
             @UserConfig final ConfigProvider config,
206
         edit.addActionListener(this);
206
         edit.addActionListener(this);
207
         delete.addActionListener(this);
207
         delete.addActionListener(this);
208
         groups.getSelectionModel().addListSelectionListener(this);
208
         groups.getSelectionModel().addListSelectionListener(this);
209
-        eventbus.register(this);
209
+        eventbus.subscribe(this);
210
     }
210
     }
211
 
211
 
212
     /**
212
     /**
433
         }
433
         }
434
     }
434
     }
435
 
435
 
436
-    @Subscribe
436
+    @Handler
437
     public void handleActionCreated(final ActionCreatedEvent event) {
437
     public void handleActionCreated(final ActionCreatedEvent event) {
438
         handleActionCreatedOrUpdated(event.getAction());
438
         handleActionCreatedOrUpdated(event.getAction());
439
     }
439
     }
440
 
440
 
441
-    @Subscribe
441
+    @Handler
442
     public void handleActionUpdated(final ActionUpdatedEvent event) {
442
     public void handleActionUpdated(final ActionUpdatedEvent event) {
443
         handleActionCreatedOrUpdated(event.getAction());
443
         handleActionCreatedOrUpdated(event.getAction());
444
     }
444
     }
449
         }
449
         }
450
     }
450
     }
451
 
451
 
452
-    @Subscribe
452
+    @Handler
453
     public void handleActionDeleted(final ActionDeletedEvent event) {
453
     public void handleActionDeleted(final ActionDeletedEvent event) {
454
         if (event.getGroup().getName().equals(groups.getSelectedValue().getName())) {
454
         if (event.getGroup().getName().equals(groups.getSelectedValue().getName())) {
455
             actions.actionDeleted(event.getName());
455
             actions.actionDeleted(event.getName());

+ 2
- 2
src/com/dmdirc/addons/ui_swing/dialogs/aliases/AliasManagerDialog.java View File

33
 import com.dmdirc.ui.IconManager;
33
 import com.dmdirc.ui.IconManager;
34
 import com.dmdirc.util.validators.NotEmptyValidator;
34
 import com.dmdirc.util.validators.NotEmptyValidator;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
36
+import net.engio.mbassy.bus.MBassador;
37
 
37
 
38
 import java.awt.Dimension;
38
 import java.awt.Dimension;
39
 import java.awt.Window;
39
 import java.awt.Window;
58
 
58
 
59
     @Inject
59
     @Inject
60
     public AliasManagerDialog(@MainWindow final Window mainFrame, final AliasDialogModel model,
60
     public AliasManagerDialog(@MainWindow final Window mainFrame, final AliasDialogModel model,
61
-            @GlobalConfig final IconManager iconManager, final EventBus eventBus) {
61
+            @GlobalConfig final IconManager iconManager, final MBassador eventBus) {
62
         super(mainFrame, ModalityType.DOCUMENT_MODAL);
62
         super(mainFrame, ModalityType.DOCUMENT_MODAL);
63
         final AliasManagerLinker linker = new AliasManagerLinker(model, this, iconManager);
63
         final AliasManagerLinker linker = new AliasManagerLinker(model, this, iconManager);
64
         setTitle("Alias Manager");
64
         setTitle("Alias Manager");

+ 3
- 3
src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/ChannelSettingsDialog.java View File

36
 import com.dmdirc.interfaces.ui.InputWindow;
36
 import com.dmdirc.interfaces.ui.InputWindow;
37
 import com.dmdirc.plugins.ServiceManager;
37
 import com.dmdirc.plugins.ServiceManager;
38
 
38
 
39
-import com.google.common.eventbus.EventBus;
39
+import net.engio.mbassy.bus.MBassador;
40
 
40
 
41
 import java.awt.Window;
41
 import java.awt.Window;
42
 import java.awt.datatransfer.Clipboard;
42
 import java.awt.datatransfer.Clipboard;
88
     /** The controller to use to retrieve command information. */
88
     /** The controller to use to retrieve command information. */
89
     private final CommandController commandController;
89
     private final CommandController commandController;
90
     /** The event bus to post errors to. */
90
     /** The event bus to post errors to. */
91
-    private final EventBus eventBus;
91
+    private final MBassador eventBus;
92
 
92
 
93
     /**
93
     /**
94
      * Creates a new instance of ChannelSettingsDialog.
94
      * Creates a new instance of ChannelSettingsDialog.
116
             final Window parentWindow,
116
             final Window parentWindow,
117
             final Clipboard clipboard,
117
             final Clipboard clipboard,
118
             final CommandController commandController,
118
             final CommandController commandController,
119
-            final EventBus eventBus) {
119
+            final MBassador eventBus) {
120
         super(parentWindow, ModalityType.MODELESS);
120
         super(parentWindow, ModalityType.MODELESS);
121
 
121
 
122
         this.userConfig = checkNotNull(userConfig);
122
         this.userConfig = checkNotNull(userConfig);

+ 3
- 3
src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicDisplayPane.java View File

37
 import com.dmdirc.ui.IconManager;
37
 import com.dmdirc.ui.IconManager;
38
 
38
 
39
 import com.google.common.base.Optional;
39
 import com.google.common.base.Optional;
40
-import com.google.common.eventbus.EventBus;
40
+import net.engio.mbassy.bus.MBassador;
41
 
41
 
42
 import java.awt.Color;
42
 import java.awt.Color;
43
 import java.awt.datatransfer.Clipboard;
43
 import java.awt.datatransfer.Clipboard;
71
     /** Clipboard to copy and paste from. */
71
     /** Clipboard to copy and paste from. */
72
     private final Clipboard clipboard;
72
     private final Clipboard clipboard;
73
     /** The event bus to post errors to. */
73
     /** The event bus to post errors to. */
74
-    private final EventBus eventBus;
74
+    private final MBassador eventBus;
75
     /** label showing the number of characters left in a topic. */
75
     /** label showing the number of characters left in a topic. */
76
     private JLabel topicLengthLabel;
76
     private JLabel topicLengthLabel;
77
     /** Topic text entry text area. */
77
     /** Topic text entry text area. */
95
     public TopicDisplayPane(final Channel channel, final IconManager iconManager,
95
     public TopicDisplayPane(final Channel channel, final IconManager iconManager,
96
             final ServiceManager serviceManager, final ChannelSettingsDialog parent,
96
             final ServiceManager serviceManager, final ChannelSettingsDialog parent,
97
             final InputWindow channelWindow, final Clipboard clipboard,
97
             final InputWindow channelWindow, final Clipboard clipboard,
98
-            final CommandController commandController, final EventBus eventBus) {
98
+            final CommandController commandController, final MBassador eventBus) {
99
         this.clipboard = clipboard;
99
         this.clipboard = clipboard;
100
         this.channel = channel;
100
         this.channel = channel;
101
         this.parent = parent;
101
         this.parent = parent;

+ 3
- 3
src/com/dmdirc/addons/ui_swing/dialogs/channelsetting/TopicPane.java View File

30
 import com.dmdirc.ui.IconManager;
30
 import com.dmdirc.ui.IconManager;
31
 
31
 
32
 import com.google.common.base.Optional;
32
 import com.google.common.base.Optional;
33
-import com.google.common.eventbus.EventBus;
33
+import net.engio.mbassy.bus.MBassador;
34
 
34
 
35
 import java.awt.datatransfer.Clipboard;
35
 import java.awt.datatransfer.Clipboard;
36
 import java.awt.event.ActionEvent;
36
 import java.awt.event.ActionEvent;
74
             final CommandController commandController,
74
             final CommandController commandController,
75
             final ServiceManager serviceManager, final ChannelSettingsDialog parent,
75
             final ServiceManager serviceManager, final ChannelSettingsDialog parent,
76
             final InputWindow channelWindow, final Clipboard clipboard,
76
             final InputWindow channelWindow, final Clipboard clipboard,
77
-            final EventBus eventBus) {
77
+            final MBassador eventBus) {
78
         setOpaque(UIUtilities.getTabbedPaneOpaque());
78
         setOpaque(UIUtilities.getTabbedPaneOpaque());
79
         this.channel = channel;
79
         this.channel = channel;
80
         this.parent = parent;
80
         this.parent = parent;
96
             final IconManager iconManager,
96
             final IconManager iconManager,
97
             final ServiceManager serviceManager,
97
             final ServiceManager serviceManager,
98
             final CommandController commandController,
98
             final CommandController commandController,
99
-            final EventBus eventBus) {
99
+            final MBassador eventBus) {
100
         topicDisplayPane = new TopicDisplayPane(channel, iconManager, serviceManager, parent,
100
         topicDisplayPane = new TopicDisplayPane(channel, iconManager, serviceManager, parent,
101
                 channelWindow, clipboard, commandController, eventBus);
101
                 channelWindow, clipboard, commandController, eventBus);
102
         topicHistoryPane = new TopicHistoryPane(channel);
102
         topicHistoryPane = new TopicHistoryPane(channel);

+ 3
- 3
src/com/dmdirc/addons/ui_swing/dialogs/paste/PasteDialog.java View File

33
 import com.dmdirc.plugins.PluginManager;
33
 import com.dmdirc.plugins.PluginManager;
34
 import com.dmdirc.ui.IconManager;
34
 import com.dmdirc.ui.IconManager;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
36
+import net.engio.mbassy.bus.MBassador;
37
 
37
 
38
 import java.awt.Window;
38
 import java.awt.Window;
39
 import java.awt.event.ActionEvent;
39
 import java.awt.event.ActionEvent;
97
             final AggregateConfigProvider config,
97
             final AggregateConfigProvider config,
98
             final PluginManager pluginManager,
98
             final PluginManager pluginManager,
99
             final CommandController commandController,
99
             final CommandController commandController,
100
-            final EventBus eventBus,
100
+            final MBassador eventBus,
101
             final InputTextFrame newParent,
101
             final InputTextFrame newParent,
102
             final String text,
102
             final String text,
103
             final Window parentWindow) {
103
             final Window parentWindow) {
126
      *
126
      *
127
      * @param text text to show in the dialog
127
      * @param text text to show in the dialog
128
      */
128
      */
129
-    private void initComponents(final EventBus eventBus, final String text) {
129
+    private void initComponents(final MBassador eventBus, final String text) {
130
         scrollPane = new JScrollPane();
130
         scrollPane = new JScrollPane();
131
         textField = new TextAreaInputField(iconManager, config, text);
131
         textField = new TextAreaInputField(iconManager, config, text);
132
         editButton = new JButton("Edit");
132
         editButton = new JButton("Edit");

+ 3
- 3
src/com/dmdirc/addons/ui_swing/dialogs/paste/PasteDialogFactory.java View File

29
 import com.dmdirc.plugins.PluginManager;
29
 import com.dmdirc.plugins.PluginManager;
30
 import com.dmdirc.ui.IconManager;
30
 import com.dmdirc.ui.IconManager;
31
 
31
 
32
-import com.google.common.eventbus.EventBus;
32
+import net.engio.mbassy.bus.MBassador;
33
 
33
 
34
 import java.awt.Window;
34
 import java.awt.Window;
35
 
35
 
46
     private final AggregateConfigProvider config;
46
     private final AggregateConfigProvider config;
47
     private final PluginManager pluginManager;
47
     private final PluginManager pluginManager;
48
     private final CommandController commandController;
48
     private final CommandController commandController;
49
-    private final EventBus eventBus;
49
+    private final MBassador eventBus;
50
 
50
 
51
     @Inject
51
     @Inject
52
     public PasteDialogFactory(
52
     public PasteDialogFactory(
54
             @ClientModule.GlobalConfig final AggregateConfigProvider config,
54
             @ClientModule.GlobalConfig final AggregateConfigProvider config,
55
             final PluginManager pluginManager,
55
             final PluginManager pluginManager,
56
             final CommandController commandController,
56
             final CommandController commandController,
57
-            final EventBus eventBus) {
57
+            final MBassador eventBus) {
58
         this.iconManager = iconManager;
58
         this.iconManager = iconManager;
59
         this.config = config;
59
         this.config = config;
60
         this.pluginManager = pluginManager;
60
         this.pluginManager = pluginManager;

+ 2
- 2
src/com/dmdirc/addons/ui_swing/dialogs/prefs/CategoryLabel.java View File

25
 import com.dmdirc.config.prefs.PreferencesCategory;
25
 import com.dmdirc.config.prefs.PreferencesCategory;
26
 import com.dmdirc.ui.IconManager;
26
 import com.dmdirc.ui.IconManager;
27
 
27
 
28
-import com.google.common.eventbus.EventBus;
28
+import net.engio.mbassy.bus.MBassador;
29
 
29
 
30
 import java.awt.Dimension;
30
 import java.awt.Dimension;
31
 
31
 
60
      * @param index       Index of this label
60
      * @param index       Index of this label
61
      */
61
      */
62
     public CategoryLabel(final IconManager iconManager,
62
     public CategoryLabel(final IconManager iconManager,
63
-            final EventBus eventBus,
63
+            final MBassador eventBus,
64
             @Nullable final JList<? extends PreferencesCategory> parentList,
64
             @Nullable final JList<? extends PreferencesCategory> parentList,
65
             final PreferencesCategory category, final int numCats,
65
             final PreferencesCategory category, final int numCats,
66
             final int index) {
66
             final int index) {

+ 4
- 4
src/com/dmdirc/addons/ui_swing/dialogs/prefs/CategoryPanel.java View File

32
 import com.dmdirc.config.prefs.PreferencesCategory;
32
 import com.dmdirc.config.prefs.PreferencesCategory;
33
 import com.dmdirc.ui.IconManager;
33
 import com.dmdirc.ui.IconManager;
34
 
34
 
35
-import com.google.common.eventbus.EventBus;
35
+import net.engio.mbassy.bus.MBassador;
36
 
36
 
37
 import java.awt.Component;
37
 import java.awt.Component;
38
 import java.util.Collections;
38
 import java.util.Collections;
76
     /** Prefs component factory. */
76
     /** Prefs component factory. */
77
     private final PrefsComponentFactory factory;
77
     private final PrefsComponentFactory factory;
78
     /** The event bus to post errors to. */
78
     /** The event bus to post errors to. */
79
-    private final EventBus eventBus;
79
+    private final MBassador eventBus;
80
 
80
 
81
     /**
81
     /**
82
      * Instantiates a new category panel.
82
      * Instantiates a new category panel.
87
      */
87
      */
88
     @Inject
88
     @Inject
89
     public CategoryPanel(
89
     public CategoryPanel(
90
-            final EventBus eventBus,
90
+            final MBassador eventBus,
91
             final PrefsComponentFactory factory,
91
             final PrefsComponentFactory factory,
92
             @GlobalConfig final IconManager iconManager) {
92
             @GlobalConfig final IconManager iconManager) {
93
         this(eventBus, factory, iconManager, null);
93
         this(eventBus, factory, iconManager, null);
102
      * @param category    Initial category
102
      * @param category    Initial category
103
      */
103
      */
104
     public CategoryPanel(
104
     public CategoryPanel(
105
-            final EventBus eventBus, final PrefsComponentFactory factory,
105
+            final MBassador eventBus, final PrefsComponentFactory factory,
106
             final IconManager iconManager,
106
             final IconManager iconManager,
107
             final PreferencesCategory category) {
107
             final PreferencesCategory category) {
108
         super(new MigLayout("fillx, wrap, ins 0"));
108
         super(new MigLayout("fillx, wrap, ins 0"));

+ 5
- 5
src/com/dmdirc/addons/ui_swing/dialogs/prefs/IconLoader.java View File

27
 import com.dmdirc.logger.ErrorLevel;
27
 import com.dmdirc.logger.ErrorLevel;
28
 import com.dmdirc.ui.IconManager;
28
 import com.dmdirc.ui.IconManager;
29
 
29
 
30
-import com.google.common.eventbus.EventBus;
31
-
32
 import java.util.concurrent.ExecutionException;
30
 import java.util.concurrent.ExecutionException;
33
 
31
 
34
 import javax.swing.Icon;
32
 import javax.swing.Icon;
35
 
33
 
34
+import net.engio.mbassy.bus.MBassador;
35
+
36
 /**
36
 /**
37
  * Loads an icon in the background and uses it for a category label once it has been loaded.
37
  * Loads an icon in the background and uses it for a category label once it has been loaded.
38
  */
38
  */
41
     /** Category this icon will be used for. */
41
     /** Category this icon will be used for. */
42
     private final CategoryLabel label;
42
     private final CategoryLabel label;
43
     /** The event bus to post errors to. */
43
     /** The event bus to post errors to. */
44
-    private final EventBus eventBus;
44
+    private final MBassador eventBus;
45
     /** Icon to load. */
45
     /** Icon to load. */
46
     private final String icon;
46
     private final String icon;
47
     /** Icon manager. */
47
     /** Icon manager. */
56
      * @param label       Label to load category for
56
      * @param label       Label to load category for
57
      * @param icon        Icon to load
57
      * @param icon        Icon to load
58
      */
58
      */
59
-    public IconLoader(final IconManager iconManager, final EventBus eventBus,
59
+    public IconLoader(final IconManager iconManager, final MBassador eventBus,
60
             final CategoryLabel label, final String icon) {
60
             final CategoryLabel label, final String icon) {
61
         super(eventBus);
61
         super(eventBus);
62
         this.iconManager = iconManager;
62
         this.iconManager = iconManager;
77
         } catch (InterruptedException ex) {
77
         } catch (InterruptedException ex) {
78
             //Ignore
78
             //Ignore
79
         } catch (ExecutionException ex) {
79
         } catch (ExecutionException ex) {
80
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, ex, ex.getMessage(), ""));
80
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, ex, ex.getMessage(), ""));
81
         }
81
         }
82
 
82
 
83
     }
83
     }

+ 3
- 3
src/com/dmdirc/addons/ui_swing/dialogs/prefs/PreferencesListCellRenderer.java View File

25
 import com.dmdirc.config.prefs.PreferencesCategory;
25
 import com.dmdirc.config.prefs.PreferencesCategory;
26
 import com.dmdirc.ui.IconManager;
26
 import com.dmdirc.ui.IconManager;
27
 
27
 
28
-import com.google.common.eventbus.EventBus;
28
+import net.engio.mbassy.bus.MBassador;
29
 
29
 
30
 import java.awt.Component;
30
 import java.awt.Component;
31
 import java.awt.Font;
31
 import java.awt.Font;
51
     /** Label map. */
51
     /** Label map. */
52
     private final Map<PreferencesCategory, JLabel> labelMap;
52
     private final Map<PreferencesCategory, JLabel> labelMap;
53
     /** The event bus to post errors to. */
53
     /** The event bus to post errors to. */
54
-    private final EventBus eventBus;
54
+    private final MBassador eventBus;
55
 
55
 
56
     /**
56
     /**
57
      * Instantiates a new prefs list cell renderer.
57
      * Instantiates a new prefs list cell renderer.
60
      * @param eventBus    The event bus to post errors to
60
      * @param eventBus    The event bus to post errors to
61
      * @param numCats     Number of categories in the list
61
      * @param numCats     Number of categories in the list
62
      */
62
      */
63
-    public PreferencesListCellRenderer(final IconManager iconManager, final EventBus eventBus,
63
+    public PreferencesListCellRenderer(final IconManager iconManager, final MBassador eventBus,
64
             final int numCats) {
64
             final int numCats) {
65
         labelMap = new HashMap<>();
65
         labelMap = new HashMap<>();
66
         this.numCats = numCats;
66
         this.numCats = numCats;

+ 5
- 5
src/com/dmdirc/addons/ui_swing/dialogs/prefs/PrefsCategoryLoader.java View File

33
 import com.dmdirc.events.UserErrorEvent;
33
 import com.dmdirc.events.UserErrorEvent;
34
 import com.dmdirc.logger.ErrorLevel;
34
 import com.dmdirc.logger.ErrorLevel;
35
 
35
 
36
-import com.google.common.eventbus.EventBus;
37
-
38
 import java.util.concurrent.Callable;
36
 import java.util.concurrent.Callable;
39
 import java.util.concurrent.ExecutionException;
37
 import java.util.concurrent.ExecutionException;
40
 
38
 
47
 import net.miginfocom.layout.PlatformDefaults;
45
 import net.miginfocom.layout.PlatformDefaults;
48
 import net.miginfocom.swing.MigLayout;
46
 import net.miginfocom.swing.MigLayout;
49
 
47
 
48
+import net.engio.mbassy.bus.MBassador;
49
+
50
 /**
50
 /**
51
  * Loads a preferences panel for a specified preferences category in the background.
51
  * Loads a preferences panel for a specified preferences category in the background.
52
  */
52
  */
70
     /** Prefs component factory instance. */
70
     /** Prefs component factory instance. */
71
     private final PrefsComponentFactory factory;
71
     private final PrefsComponentFactory factory;
72
     /** The event bus to post the errors to. */
72
     /** The event bus to post the errors to. */
73
-    private final EventBus eventBus;
73
+    private final MBassador eventBus;
74
 
74
 
75
     /**
75
     /**
76
      * Instantiates a new preferences category loader.
76
      * Instantiates a new preferences category loader.
81
      * @param category      Preferences Category to load
81
      * @param category      Preferences Category to load
82
      */
82
      */
83
     public PrefsCategoryLoader(final PrefsComponentFactory factory,
83
     public PrefsCategoryLoader(final PrefsComponentFactory factory,
84
-            final EventBus eventBus,
84
+            final MBassador eventBus,
85
             final CategoryPanel categoryPanel,
85
             final CategoryPanel categoryPanel,
86
             final PreferencesCategory category) {
86
             final PreferencesCategory category) {
87
         super(eventBus);
87
         super(eventBus);
125
         } catch (InterruptedException ex) {
125
         } catch (InterruptedException ex) {
126
             panel = errorCategory;
126
             panel = errorCategory;
127
         } catch (ExecutionException ex) {
127
         } catch (ExecutionException ex) {
128
-            eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM, ex,
128
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM, ex,
129
                     "Error loading prefs panel", ""));
129
                     "Error loading prefs panel", ""));
130
             panel = errorCategory;
130
             panel = errorCategory;
131
         }
131
         }

+ 6
- 6
src/com/dmdirc/addons/ui_swing/dialogs/prefs/SwingPreferencesDialog.java View File

37
 import com.dmdirc.logger.ErrorLevel;
37
 import com.dmdirc.logger.ErrorLevel;
38
 import com.dmdirc.ui.IconManager;
38
 import com.dmdirc.ui.IconManager;
39
 
39
 
40
-import com.google.common.eventbus.EventBus;
41
-
42
 import java.awt.Window;
40
 import java.awt.Window;
43
 import java.awt.event.ActionEvent;
41
 import java.awt.event.ActionEvent;
44
 import java.awt.event.ActionListener;
42
 import java.awt.event.ActionListener;
60
 
58
 
61
 import net.miginfocom.swing.MigLayout;
59
 import net.miginfocom.swing.MigLayout;
62
 
60
 
61
+import net.engio.mbassy.bus.MBassador;
62
+
63
 /**
63
 /**
64
  * Allows the user to modify global client preferences.
64
  * Allows the user to modify global client preferences.
65
  */
65
  */
85
     /** Icon manager to retrieve icons from. */
85
     /** Icon manager to retrieve icons from. */
86
     private final IconManager iconManager;
86
     private final IconManager iconManager;
87
     /** The event bus to post errors to. */
87
     /** The event bus to post errors to. */
88
-    private final EventBus eventBus;
88
+    private final MBassador eventBus;
89
 
89
 
90
     /**
90
     /**
91
      * Creates a new instance of SwingPreferencesDialog.
91
      * Creates a new instance of SwingPreferencesDialog.
104
             @ForSettings final DialogProvider<SwingRestartDialog> restartDialogProvider,
104
             @ForSettings final DialogProvider<SwingRestartDialog> restartDialogProvider,
105
             final Provider<PreferencesDialogModel> dialogModelProvider,
105
             final Provider<PreferencesDialogModel> dialogModelProvider,
106
             final Provider<CategoryPanel> categoryPanelProvider,
106
             final Provider<CategoryPanel> categoryPanelProvider,
107
-            final EventBus eventBus) {
107
+            final MBassador eventBus) {
108
         super(parentWindow, ModalityType.MODELESS);
108
         super(parentWindow, ModalityType.MODELESS);
109
 
109
 
110
         this.iconManager = iconManager;
110
         this.iconManager = iconManager;
124
                     prefsManager = dialogModelProvider.get();
124
                     prefsManager = dialogModelProvider.get();
125
                 } catch (IllegalArgumentException ex) {
125
                 } catch (IllegalArgumentException ex) {
126
                     mainPanel.setError(ex.getMessage());
126
                     mainPanel.setError(ex.getMessage());
127
-                    eventBus.post(new UserErrorEvent(ErrorLevel.HIGH, ex,
127
+                    eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, ex,
128
                             "Unable to load the preferences dialog", ""));
128
                             "Unable to load the preferences dialog", ""));
129
                 }
129
                 }
130
                 return prefsManager;
130
                 return prefsManager;
141
                     } catch (InterruptedException ex) {
141
                     } catch (InterruptedException ex) {
142
                         //Ignore
142
                         //Ignore
143
                     } catch (ExecutionException ex) {
143
                     } catch (ExecutionException ex) {
144
-                        eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM, ex, ex.getMessage(), ""));
144
+                        eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM, ex, ex.getMessage(), ""));
145
                     }
145
                     }
146
                 }
146
                 }
147
             }
147
             }

+ 5
- 5
src/com/dmdirc/addons/ui_swing/dialogs/prefs/UpdateConfigPanel.java View File

36
 import com.dmdirc.updater.UpdateChecker;
36
 import com.dmdirc.updater.UpdateChecker;
37
 import com.dmdirc.updater.manager.CachingUpdateManager;
37
 import com.dmdirc.updater.manager.CachingUpdateManager;
38
 
38
 
39
-import com.google.common.eventbus.EventBus;
40
-
41
 import java.awt.event.ActionEvent;
39
 import java.awt.event.ActionEvent;
42
 import java.awt.event.ActionListener;
40
 import java.awt.event.ActionListener;
43
 
41
 
52
 
50
 
53
 import net.miginfocom.swing.MigLayout;
51
 import net.miginfocom.swing.MigLayout;
54
 
52
 
53
+import net.engio.mbassy.bus.MBassador;
54
+
55
 /**
55
 /**
56
  * Updates configuration UI.
56
  * Updates configuration UI.
57
  */
57
  */
79
     /** Controller to pass to the update checker. */
79
     /** Controller to pass to the update checker. */
80
     private final IdentityController identityController;
80
     private final IdentityController identityController;
81
     /** The event bus to post errors to. */
81
     /** The event bus to post errors to. */
82
-    private final EventBus eventBus;
82
+    private final MBassador eventBus;
83
 
83
 
84
     /**
84
     /**
85
      * Instantiates a new update config panel.
85
      * Instantiates a new update config panel.
96
             @GlobalConfig final AggregateConfigProvider globalConfig,
96
             @GlobalConfig final AggregateConfigProvider globalConfig,
97
             final CachingUpdateManager updateManager,
97
             final CachingUpdateManager updateManager,
98
             final IdentityController identityController,
98
             final IdentityController identityController,
99
-            final EventBus eventBus) {
99
+            final MBassador eventBus) {
100
         this.userConfig = userConfig;
100
         this.userConfig = userConfig;
101
         this.globalConfig = globalConfig;
101
         this.globalConfig = globalConfig;
102
         this.updateManager = updateManager;
102
         this.updateManager = updateManager;
141
         try {
141
         try {
142
             channel = UpdateChannel.valueOf(globalConfig.getOption("updater", "channel"));
142
             channel = UpdateChannel.valueOf(globalConfig.getOption("updater", "channel"));
143
         } catch (IllegalArgumentException e) {
143
         } catch (IllegalArgumentException e) {
144
-            eventBus.post(new UserErrorEvent(ErrorLevel.LOW, e,
144
+            eventBus.publishAsync(new UserErrorEvent(ErrorLevel.LOW, e,
145
                     "Invalid setting for update channel, defaulting to none.", ""));
145
                     "Invalid setting for update channel, defaulting to none.", ""));
146
         }
146
         }
147
         updateChannel.setSelectedItem(channel);
147
         updateChannel.setSelectedItem(channel);

+ 3
- 3
src/com/dmdirc/addons/ui_swing/dialogs/updater/SwingUpdaterDialog.java View File

39
 import com.dmdirc.updater.manager.UpdateManagerStatus;
39
 import com.dmdirc.updater.manager.UpdateManagerStatus;
40
 import com.dmdirc.updater.manager.UpdateStatus;
40
 import com.dmdirc.updater.manager.UpdateStatus;
41
 
41
 
42
-import com.google.common.eventbus.EventBus;
42
+import net.engio.mbassy.bus.MBassador;
43
 
43
 
44
 import java.awt.Dimension;
44
 import java.awt.Dimension;
45
 import java.awt.Window;
45
 import java.awt.Window;
82
     /** Provider of restart dialogs. */
82
     /** Provider of restart dialogs. */
83
     private final DialogProvider<SwingRestartDialog> restartDialogProvider;
83
     private final DialogProvider<SwingRestartDialog> restartDialogProvider;
84
     /** The event bus to post errors to. */
84
     /** The event bus to post errors to. */
85
-    private final EventBus eventBus;
85
+    private final MBassador eventBus;
86
 
86
 
87
     /**
87
     /**
88
      * Creates a new instance of the updater dialog.
88
      * Creates a new instance of the updater dialog.
97
             final CachingUpdateManager updateManager,
97
             final CachingUpdateManager updateManager,
98
             @MainWindow final Window parentWindow,
98
             @MainWindow final Window parentWindow,
99
             @ForUpdates final DialogProvider<SwingRestartDialog> restartDialogProvider,
99
             @ForUpdates final DialogProvider<SwingRestartDialog> restartDialogProvider,
100
-            final EventBus eventBus) {
100
+            final MBassador eventBus) {
101
         super(parentWindow, ModalityType.MODELESS);
101
         super(parentWindow, ModalityType.MODELESS);
102
 
102
 
103
         this.updateManager = updateManager;
103
         this.updateManager = updateManager;

+ 9
- 8
src/com/dmdirc/addons/ui_swing/framemanager/buttonbar/ButtonBar.java View File

44
 import com.dmdirc.ui.WindowManager;
44
 import com.dmdirc.ui.WindowManager;
45
 
45
 
46
 import com.google.common.base.Optional;
46
 import com.google.common.base.Optional;
47
-import com.google.common.eventbus.EventBus;
48
-import com.google.common.eventbus.Subscribe;
49
 
47
 
50
 import java.awt.Dimension;
48
 import java.awt.Dimension;
51
 import java.awt.Insets;
49
 import java.awt.Insets;
74
 import net.miginfocom.layout.PlatformDefaults;
72
 import net.miginfocom.layout.PlatformDefaults;
75
 import net.miginfocom.swing.MigLayout;
73
 import net.miginfocom.swing.MigLayout;
76
 
74
 
75
+import net.engio.mbassy.bus.MBassador;
76
+import net.engio.mbassy.listener.Handler;
77
+
77
 /**
78
 /**
78
  * The button bar manager is a grid of buttons that presents a manager similar to that used by mIRC.
79
  * The button bar manager is a grid of buttons that presents a manager similar to that used by mIRC.
79
  */
80
  */
130
             @GlobalConfig final AggregateConfigProvider globalConfig,
131
             @GlobalConfig final AggregateConfigProvider globalConfig,
131
             final WindowManager windowManager,
132
             final WindowManager windowManager,
132
             final ActiveFrameManager activeFrameManager,
133
             final ActiveFrameManager activeFrameManager,
133
-            final EventBus eventBus) {
134
+            final MBassador eventBus) {
134
         this.windowFactory = windowFactory;
135
         this.windowFactory = windowFactory;
135
         this.globalConfig = globalConfig;
136
         this.globalConfig = globalConfig;
136
         this.windowManager = windowManager;
137
         this.windowManager = windowManager;
137
         this.activeFrameManager = activeFrameManager;
138
         this.activeFrameManager = activeFrameManager;
138
 
139
 
139
-        eventBus.register(this);
140
+        eventBus.subscribe(this);
140
 
141
 
141
         scrollPane = new JScrollPane();
142
         scrollPane = new JScrollPane();
142
         scrollPane.setBorder(null);
143
         scrollPane.setBorder(null);
332
         return true;
333
         return true;
333
     }
334
     }
334
 
335
 
335
-    @Subscribe
336
+    @Handler
336
     public void windowAdded(final SwingWindowAddedEvent event) {
337
     public void windowAdded(final SwingWindowAddedEvent event) {
337
         final TextFrame window = event.getChildWindow();
338
         final TextFrame window = event.getChildWindow();
338
         UIUtilities.invokeLater(new Runnable() {
339
         UIUtilities.invokeLater(new Runnable() {
346
         });
347
         });
347
     }
348
     }
348
 
349
 
349
-    @Subscribe
350
+    @Handler
350
     public void windowDeleted(final SwingWindowDeletedEvent event) {
351
     public void windowDeleted(final SwingWindowDeletedEvent event) {
351
         final TextFrame window = event.getChildWindow();
352
         final TextFrame window = event.getChildWindow();
352
         UIUtilities.invokeLater(new Runnable() {
353
         UIUtilities.invokeLater(new Runnable() {
447
         });
448
         });
448
     }
449
     }
449
 
450
 
450
-    @Subscribe
451
+    @Handler
451
     public void iconChanged(final FrameIconChangedEvent event) {
452
     public void iconChanged(final FrameIconChangedEvent event) {
452
         UIUtilities.invokeLater(new Runnable() {
453
         UIUtilities.invokeLater(new Runnable() {
453
 
454
 
461
         });
462
         });
462
     }
463
     }
463
 
464
 
464
-    @Subscribe
465
+    @Handler
465
     public void nameChanged(final FrameNameChangedEvent event) {
466
     public void nameChanged(final FrameNameChangedEvent event) {
466
         UIUtilities.invokeLater(new Runnable() {
467
         UIUtilities.invokeLater(new Runnable() {
467
 
468
 

+ 8
- 8
src/com/dmdirc/addons/ui_swing/framemanager/ctrltab/CtrlTabWindowManager.java View File

41
 import com.dmdirc.interfaces.ui.Window;
41
 import com.dmdirc.interfaces.ui.Window;
42
 import com.dmdirc.logger.ErrorLevel;
42
 import com.dmdirc.logger.ErrorLevel;
43
 
43
 
44
-import com.google.common.eventbus.EventBus;
45
-import com.google.common.eventbus.Subscribe;
46
-
47
 import java.awt.event.KeyEvent;
44
 import java.awt.event.KeyEvent;
48
 import java.util.HashMap;
45
 import java.util.HashMap;
49
 import java.util.Map;
46
 import java.util.Map;
57
 import javax.swing.tree.TreePath;
54
 import javax.swing.tree.TreePath;
58
 import javax.swing.tree.TreeSelectionModel;
55
 import javax.swing.tree.TreeSelectionModel;
59
 
56
 
57
+import net.engio.mbassy.bus.MBassador;
58
+import net.engio.mbassy.listener.Handler;
59
+
60
 /**
60
 /**
61
  * A Window manager to handle ctrl[+shift]+tab switching between windows.
61
  * A Window manager to handle ctrl[+shift]+tab switching between windows.
62
  */
62
  */
72
     /** Selection model for the tree scroller. */
72
     /** Selection model for the tree scroller. */
73
     private final TreeSelectionModel selectionModel;
73
     private final TreeSelectionModel selectionModel;
74
     /** The event bus to post errors to. */
74
     /** The event bus to post errors to. */
75
-    private final EventBus eventBus;
75
+    private final MBassador eventBus;
76
 
76
 
77
     /**
77
     /**
78
      * Creates a new ctrl tab window manager.
78
      * Creates a new ctrl tab window manager.
89
             final SwingWindowFactory windowFactory,
89
             final SwingWindowFactory windowFactory,
90
             final ActiveFrameManager activeFrameManager,
90
             final ActiveFrameManager activeFrameManager,
91
             final MainFrame mainFrame,
91
             final MainFrame mainFrame,
92
-            final EventBus eventBus) {
92
+            final MBassador eventBus) {
93
         this.eventBus = eventBus;
93
         this.eventBus = eventBus;
94
         nodes = new HashMap<>();
94
         nodes = new HashMap<>();
95
         model = new TreeViewModel(globalConfig, new TreeViewNode(null, null));
95
         model = new TreeViewModel(globalConfig, new TreeViewNode(null, null));
119
                                 KeyEvent.CTRL_DOWN_MASK), "nextFrameAction");
119
                                 KeyEvent.CTRL_DOWN_MASK), "nextFrameAction");
120
     }
120
     }
121
 
121
 
122
-    @Subscribe
122
+    @Handler
123
     public void windowAdded(final SwingWindowAddedEvent event) {
123
     public void windowAdded(final SwingWindowAddedEvent event) {
124
         final TextFrame parent = event.getParentWindow().orNull();
124
         final TextFrame parent = event.getParentWindow().orNull();
125
         final TextFrame window = event.getChildWindow();
125
         final TextFrame window = event.getChildWindow();
144
         });
144
         });
145
     }
145
     }
146
 
146
 
147
-    @Subscribe
147
+    @Handler
148
     public void windowDeleted(final SwingWindowDeletedEvent event) {
148
     public void windowDeleted(final SwingWindowDeletedEvent event) {
149
         final TextFrame parent = event.getParentWindow().orNull();
149
         final TextFrame parent = event.getParentWindow().orNull();
150
         final TextFrame window = event.getChildWindow();
150
         final TextFrame window = event.getChildWindow();
157
                 }
157
                 }
158
                 final TreeViewNode node = nodes.get(window);
158
                 final TreeViewNode node = nodes.get(window);
159
                 if (node.getLevel() == 0) {
159
                 if (node.getLevel() == 0) {
160
-                    eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM,
160
+                    eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM,
161
                             new IllegalArgumentException(),
161
                             new IllegalArgumentException(),
162
                             "delServer triggered for root node" + node.toString(), ""));
162
                             "delServer triggered for root node" + node.toString(), ""));
163
                 } else {
163
                 } else {

+ 3
- 3
src/com/dmdirc/addons/ui_swing/framemanager/tree/NodeLabel.java View File

33
 import com.dmdirc.ui.Colour;
33
 import com.dmdirc.ui.Colour;
34
 import com.dmdirc.ui.messages.Styliser;
34
 import com.dmdirc.ui.messages.Styliser;
35
 
35
 
36
-import com.google.common.eventbus.Subscribe;
36
+import net.engio.mbassy.listener.Handler;
37
 
37
 
38
 import java.awt.Color;
38
 import java.awt.Color;
39
 import java.awt.Font;
39
 import java.awt.Font;
124
         }
124
         }
125
     }
125
     }
126
 
126
 
127
-    @Subscribe
127
+    @Handler
128
     public void iconChanged(final FrameIconChangedEvent event) {
128
     public void iconChanged(final FrameIconChangedEvent event) {
129
         if (equals(window)) {
129
         if (equals(window)) {
130
             icon.setIcon(window.getIconManager().getIcon(event.getIcon()));
130
             icon.setIcon(window.getIconManager().getIcon(event.getIcon()));
131
         }
131
         }
132
     }
132
     }
133
 
133
 
134
-    @Subscribe
134
+    @Handler
135
     public void nameChanged(final FrameNameChangedEvent event) {
135
     public void nameChanged(final FrameNameChangedEvent event) {
136
         if (equals(window)) {
136
         if (equals(window)) {
137
             text.setText(event.getName());
137
             text.setText(event.getName());

+ 13
- 13
src/com/dmdirc/addons/ui_swing/framemanager/tree/TreeFrameManager.java View File

45
 import com.dmdirc.ui.WindowManager;
45
 import com.dmdirc.ui.WindowManager;
46
 import com.dmdirc.ui.messages.ColourManager;
46
 import com.dmdirc.ui.messages.ColourManager;
47
 
47
 
48
-import com.google.common.eventbus.EventBus;
49
-import com.google.common.eventbus.Subscribe;
50
-
51
 import java.awt.Rectangle;
48
 import java.awt.Rectangle;
52
 import java.awt.event.MouseEvent;
49
 import java.awt.event.MouseEvent;
53
 import java.io.Serializable;
50
 import java.io.Serializable;
68
 
65
 
69
 import net.miginfocom.swing.MigLayout;
66
 import net.miginfocom.swing.MigLayout;
70
 
67
 
68
+import net.engio.mbassy.bus.MBassador;
69
+import net.engio.mbassy.listener.Handler;
70
+
71
 /**
71
 /**
72
  * Manages open windows in the application in a tree style view.
72
  * Manages open windows in the application in a tree style view.
73
  */
73
  */
95
     /** Active frame manager. */
95
     /** Active frame manager. */
96
     private final ActiveFrameManager activeFrameManager;
96
     private final ActiveFrameManager activeFrameManager;
97
     /** The event bus to post errors to. */
97
     /** The event bus to post errors to. */
98
-    private final EventBus eventBus;
98
+    private final MBassador eventBus;
99
     /** Swing event bus. */
99
     /** Swing event bus. */
100
-    private final EventBus swingEventBus;
100
+    private final MBassador swingEventBus;
101
 
101
 
102
     /**
102
     /**
103
      * Creates a new instance of the TreeFrameManager.
103
      * Creates a new instance of the TreeFrameManager.
119
             final ActiveFrameManager activeFrameManager,
119
             final ActiveFrameManager activeFrameManager,
120
             final SwingWindowFactory windowFactory,
120
             final SwingWindowFactory windowFactory,
121
             @PluginDomain(SwingController.class) final String domain,
121
             @PluginDomain(SwingController.class) final String domain,
122
-            final EventBus eventBus,
123
-            @SwingEventBus final EventBus swingEventBus) {
122
+            final MBassador eventBus,
123
+            @SwingEventBus final MBassador swingEventBus) {
124
         this.windowFactory = windowFactory;
124
         this.windowFactory = windowFactory;
125
         this.windowManager = windowManager;
125
         this.windowManager = windowManager;
126
         this.nodes = new HashMap<>();
126
         this.nodes = new HashMap<>();
178
 
178
 
179
                 setColours();
179
                 setColours();
180
 
180
 
181
-                swingEventBus.register(TreeFrameManager.this);
181
+                swingEventBus.subscribe(TreeFrameManager.this);
182
                 redoTreeView();
182
                 redoTreeView();
183
             }
183
             }
184
         });
184
         });
185
     }
185
     }
186
 
186
 
187
-    @Subscribe
187
+    @Handler
188
     public void doAddWindow(final SwingWindowAddedEvent event) {
188
     public void doAddWindow(final SwingWindowAddedEvent event) {
189
         final TextFrame parent = event.getParentWindow().orNull();
189
         final TextFrame parent = event.getParentWindow().orNull();
190
         final TextFrame window = event.getChildWindow();
190
         final TextFrame window = event.getChildWindow();
198
         }
198
         }
199
     }
199
     }
200
 
200
 
201
-    @Subscribe
201
+    @Handler
202
     public void doDeleteWindow(final SwingWindowDeletedEvent event) {
202
     public void doDeleteWindow(final SwingWindowDeletedEvent event) {
203
         final TextFrame window = event.getChildWindow();
203
         final TextFrame window = event.getChildWindow();
204
         UIUtilities.invokeAndWait(new Runnable() {
204
         UIUtilities.invokeAndWait(new Runnable() {
210
                 }
210
                 }
211
                 final DefaultMutableTreeNode node = nodes.get(window.getContainer());
211
                 final DefaultMutableTreeNode node = nodes.get(window.getContainer());
212
                 if (node.getLevel() == 0) {
212
                 if (node.getLevel() == 0) {
213
-                    eventBus.post(new UserErrorEvent(ErrorLevel.MEDIUM,
213
+                    eventBus.publishAsync(new UserErrorEvent(ErrorLevel.MEDIUM,
214
                             new IllegalArgumentException(),
214
                             new IllegalArgumentException(),
215
                             "delServer triggered for root node" + node.toString(), ""));
215
                             "delServer triggered for root node" + node.toString(), ""));
216
                 } else {
216
                 } else {
217
                     model.removeNodeFromParent(nodes.get(window.getContainer()));
217
                     model.removeNodeFromParent(nodes.get(window.getContainer()));
218
                 }
218
                 }
219
                 synchronized (nodes) {
219
                 synchronized (nodes) {
220
-                    eventBus.unregister(nodes.get(window.getContainer()).getLabel());
220
+                    eventBus.unsubscribe(nodes.get(window.getContainer()).getLabel());
221
                     nodes.remove(window.getContainer());
221
                     nodes.remove(window.getContainer());
222
                 }
222
                 }
223
                 window.getContainer().removeNotificationListener(
223
                 window.getContainer().removeNotificationListener(
239
             @Override
239
             @Override
240
             public void run() {
240
             public void run() {
241
                 final NodeLabel label = new NodeLabel(window);
241
                 final NodeLabel label = new NodeLabel(window);
242
-                eventBus.register(label);
242
+                eventBus.subscribe(label);
243
                 final TreeViewNode node = new TreeViewNode(label, window);
243
                 final TreeViewNode node = new TreeViewNode(label, window);
244
                 synchronized (nodes) {
244
                 synchronized (nodes) {
245
                     nodes.put(window, node);
245
                     nodes.put(window, node);

+ 7
- 6
src/com/dmdirc/addons/ui_swing/framemanager/windowmenu/WindowMenuFrameManager.java View File

38
 import com.dmdirc.ui.IconManager;
38
 import com.dmdirc.ui.IconManager;
39
 
39
 
40
 import com.google.common.base.Optional;
40
 import com.google.common.base.Optional;
41
-import com.google.common.eventbus.EventBus;
42
-import com.google.common.eventbus.Subscribe;
43
 
41
 
44
 import java.awt.Component;
42
 import java.awt.Component;
45
 import java.awt.event.ActionEvent;
43
 import java.awt.event.ActionEvent;
60
 import javax.swing.JPopupMenu;
58
 import javax.swing.JPopupMenu;
61
 import javax.swing.JSeparator;
59
 import javax.swing.JSeparator;
62
 
60
 
61
+import net.engio.mbassy.bus.MBassador;
62
+import net.engio.mbassy.listener.Handler;
63
+
63
 /**
64
 /**
64
  * Manages the window menu window list.
65
  * Manages the window menu window list.
65
  */
66
  */
102
             @GlobalConfig final AggregateConfigProvider globalConfig,
103
             @GlobalConfig final AggregateConfigProvider globalConfig,
103
             @PluginDomain(SwingController.class) final String domain,
104
             @PluginDomain(SwingController.class) final String domain,
104
             final ActiveFrameManager activeFrameManager,
105
             final ActiveFrameManager activeFrameManager,
105
-            @SwingEventBus final EventBus swingEventBus) {
106
+            @SwingEventBus final MBassador swingEventBus) {
106
         this.globalConfig = globalConfig;
107
         this.globalConfig = globalConfig;
107
         this.domain = domain;
108
         this.domain = domain;
108
         this.activeFrameManager = activeFrameManager;
109
         this.activeFrameManager = activeFrameManager;
109
-        swingEventBus.register(this);
110
+        swingEventBus.subscribe(this);
110
 
111
 
111
         menus = Collections.synchronizedMap(
112
         menus = Collections.synchronizedMap(
112
                 new HashMap<FrameContainer, FrameContainerMenu>());
113
                 new HashMap<FrameContainer, FrameContainerMenu>());
145
         closeMenuItem.setEnabled(enabledMenuItems.get());
146
         closeMenuItem.setEnabled(enabledMenuItems.get());
146
     }
147
     }
147
 
148
 
148
-    @Subscribe
149
+    @Handler
149
     public void windowAdded(final SwingWindowAddedEvent event) {
150
     public void windowAdded(final SwingWindowAddedEvent event) {
150
         final TextFrame parent = event.getParentWindow().orNull();
151
         final TextFrame parent = event.getParentWindow().orNull();
151
         final TextFrame window = event.getChildWindow();
152
         final TextFrame window = event.getChildWindow();
218
         checkMenuItems();
219
         checkMenuItems();
219
     }
220
     }
220
 
221
 
221
-    @Subscribe
222
+    @Handler
222
     public void windowDeleted(final SwingWindowDeletedEvent event) {
223
     public void windowDeleted(final SwingWindowDeletedEvent event) {
223
         final TextFrame parent = event.getParentWindow().orNull();
224
         final TextFrame parent = event.getParentWindow().orNull();
224
         final TextFrame window = event.getChildWindow();
225
         final TextFrame window = event.getChildWindow();

+ 0
- 0
src/com/dmdirc/addons/ui_swing/injection/DialogModule.java View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save