浏览代码

Switch events to User.

pull/247/head
Greg Holmes 9 年前
父节点
当前提交
9af0c8c996

+ 14
- 4
src/com/dmdirc/Client.java 查看文件

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc;
24 24
 
25
+import com.dmdirc.interfaces.Connection;
25 26
 import com.dmdirc.interfaces.GroupChat;
26 27
 import com.dmdirc.interfaces.User;
27 28
 
@@ -36,19 +37,23 @@ import java.util.Optional;
36 37
 public class Client implements User {
37 38
 
38 39
     private final Collection<GroupChat> groupChats;
40
+    private final Connection connection;
39 41
     private String nickname;
40 42
     private Optional<String> username;
41 43
     private Optional<String> hostname;
42 44
     private Optional<String> realname;
43 45
     private Optional<String> awayMessage;
44 46
 
45
-    public Client(final String nickname) {
46
-        this(nickname, Optional.empty(), Optional.empty(), Optional.empty());
47
+    public Client(final String nickname, final Connection connection) {
48
+        this(nickname, connection, Optional.empty(), Optional.empty(), Optional.empty());
47 49
     }
48 50
 
49
-    public Client(final String nickname, final Optional<String> username,
50
-            final Optional<String> hostname, final Optional<String> realname) {
51
+    public Client(final String nickname, final Connection connection,
52
+            final Optional<String> username,
53
+            final Optional<String> hostname,
54
+            final Optional<String> realname) {
51 55
         this.nickname = nickname;
56
+        this.connection = connection;
52 57
         this.username = username;
53 58
         this.hostname = hostname;
54 59
         this.realname = realname;
@@ -120,4 +125,9 @@ public class Client implements User {
120 125
     public void setAwayMessage(final Optional<String> awayMessage) {
121 126
         this.awayMessage = awayMessage;
122 127
     }
128
+
129
+    @Override
130
+    public Connection getConnection() {
131
+        return connection;
132
+    }
123 133
 }

+ 32
- 5
src/com/dmdirc/Query.java 查看文件

@@ -68,6 +68,8 @@ public class Query extends MessageTarget implements PrivateActionListener,
68 68
         PrivateMessageListener, NickChangeListener, QuitListener,
69 69
         CompositionStateChangeListener, PrivateChat {
70 70
 
71
+    /** User factory. */
72
+    private final UserFactory userFactory;
71 73
     /** The Server this Query is on. */
72 74
     private final Server server;
73 75
     /** The full host of the client associated with this query. */
@@ -92,7 +94,8 @@ public class Query extends MessageTarget implements PrivateActionListener,
92 94
             final CommandController commandController,
93 95
             final MessageSinkManager messageSinkManager,
94 96
             final URLBuilder urlBuilder,
95
-            final BackBufferFactory backBufferFactory) {
97
+            final BackBufferFactory backBufferFactory,
98
+            final UserFactory userFactory) {
96 99
         super(newServer, "query", newServer.parseHostmask(newHost)[0],
97 100
                 newServer.parseHostmask(newHost)[0],
98 101
                 newServer.getConfigManager(),
@@ -108,6 +111,7 @@ public class Query extends MessageTarget implements PrivateActionListener,
108 111
                         WindowComponent.TEXTAREA.getIdentifier(),
109 112
                         WindowComponent.INPUTFIELD.getIdentifier()));
110 113
 
114
+        this.userFactory = userFactory;
111 115
         this.server = newServer;
112 116
         this.host = newHost;
113 117
         this.nickname = server.parseHostmask(host)[0];
@@ -129,8 +133,17 @@ public class Query extends MessageTarget implements PrivateActionListener,
129 133
         splitLine(line).stream().filter(part -> !part.isEmpty()).forEach(part -> {
130 134
             server.getParser().get().sendMessage(target, part);
131 135
 
136
+            final ClientInfo me = server.getParser().get().getLocalClient();
137
+            userFactory.getUser(me.getNickname(), getConnection().get(),
138
+                    Optional.ofNullable(me.getUsername()),
139
+                    Optional.ofNullable(me.getHostname()),
140
+                    Optional.ofNullable(me.getRealname()));
132 141
             final String format = EventUtils.postDisplayable(getEventBus(),
133
-                    new QuerySelfMessageEvent(this, server.getParser().get().getLocalClient(),
142
+                    new QuerySelfMessageEvent(this,
143
+                            userFactory.getUser(me.getNickname(), getConnection().get(),
144
+                            Optional.ofNullable(me.getUsername()),
145
+                            Optional.ofNullable(me.getHostname()),
146
+                            Optional.ofNullable(me.getRealname())),
134 147
                             part),
135 148
                     "querySelfMessage");
136 149
             doNotification(format, server.getParser().get().getLocalClient(), part);
@@ -170,7 +183,11 @@ public class Query extends MessageTarget implements PrivateActionListener,
170 183
             server.getParser().get().sendAction(getNickname(), action);
171 184
 
172 185
             final String format = EventUtils.postDisplayable(getEventBus(),
173
-                    new QuerySelfActionEvent(this, client, action),
186
+                    new QuerySelfActionEvent(this,
187
+                            userFactory.getUser(client.getNickname(), getConnection().get(),
188
+                            Optional.ofNullable(client.getUsername()),
189
+                            Optional.ofNullable(client.getHostname()),
190
+                            Optional.ofNullable(client.getRealname())), action),
174 191
                     "querySelfAction");
175 192
             doNotification(format, client, action);
176 193
         } else {
@@ -183,8 +200,13 @@ public class Query extends MessageTarget implements PrivateActionListener,
183 200
             final String message, final String host) {
184 201
         final String[] parts = server.parseHostmask(host);
185 202
 
203
+        final ClientInfo client = parser.getClient(host);
186 204
         final String format = EventUtils.postDisplayable(getEventBus(),
187
-                new QueryMessageEvent(this, parser.getClient(host), message), "queryMessage");
205
+                new QueryMessageEvent(this,
206
+                        userFactory.getUser(client.getNickname(), getConnection().get(),
207
+                        Optional.ofNullable(client.getUsername()),
208
+                        Optional.ofNullable(client.getHostname()),
209
+                        Optional.ofNullable(client.getRealname())), message), "queryMessage");
188 210
         addLine(format, parts[0], parts[1], parts[2], message);
189 211
     }
190 212
 
@@ -193,8 +215,13 @@ public class Query extends MessageTarget implements PrivateActionListener,
193 215
             final String message, final String host) {
194 216
         final String[] parts = server.parseHostmask(host);
195 217
 
218
+        final ClientInfo client = parser.getClient(host);
196 219
         final String format = EventUtils.postDisplayable(getEventBus(),
197
-                new QueryActionEvent(this, parser.getClient(host), message),
220
+                new QueryActionEvent(this,
221
+                        userFactory.getUser(client.getNickname(), getConnection().get(),
222
+                        Optional.ofNullable(client.getUsername()),
223
+                        Optional.ofNullable(client.getHostname()),
224
+                        Optional.ofNullable(client.getRealname())), message),
198 225
                 "queryAction");
199 226
         addLine(format, parts[0], parts[1], parts[2], message);
200 227
     }

+ 5
- 2
src/com/dmdirc/QueryFactory.java 查看文件

@@ -42,21 +42,24 @@ public class QueryFactory {
42 42
     private final MessageSinkManager messageSinkManager;
43 43
     private final URLBuilder urlBuilder;
44 44
     private final BackBufferFactory backBufferFactory;
45
+    private final UserFactory userFactory;
45 46
 
46 47
     @Inject
47 48
     public QueryFactory(final TabCompleterFactory tabCompleterFactory,
48 49
             final CommandController commandController, final MessageSinkManager messageSinkManager,
49
-            final URLBuilder urlBuilder, final BackBufferFactory backBufferFactory) {
50
+            final URLBuilder urlBuilder, final BackBufferFactory backBufferFactory,
51
+            final UserFactory userFactory) {
50 52
         this.tabCompleterFactory = tabCompleterFactory;
51 53
         this.commandController = commandController;
52 54
         this.messageSinkManager = messageSinkManager;
53 55
         this.urlBuilder = urlBuilder;
54 56
         this.backBufferFactory = backBufferFactory;
57
+        this.userFactory = userFactory;
55 58
     }
56 59
 
57 60
     public Query getQuery(final Server server, final String host) {
58 61
         return new Query(server, host, tabCompleterFactory, commandController,
59
-                messageSinkManager, urlBuilder, backBufferFactory);
62
+                messageSinkManager, urlBuilder, backBufferFactory, userFactory);
60 63
     }
61 64
 
62 65
 }

+ 3
- 2
src/com/dmdirc/Server.java 查看文件

@@ -216,7 +216,8 @@ public class Server extends FrameContainer implements Connection {
216 216
             final ScheduledExecutorService executorService,
217 217
             @Nonnull final URI uri,
218 218
             @Nonnull final Profile profile,
219
-            final BackBufferFactory backBufferFactory) {
219
+            final BackBufferFactory backBufferFactory,
220
+            final UserFactory userFactory) {
220 221
         super(null, "server-disconnected",
221 222
                 getHost(uri),
222 223
                 getHost(uri),
@@ -246,7 +247,7 @@ public class Server extends FrameContainer implements Connection {
246 247
         this.messageEncoderFactory = messageEncoderFactory;
247 248
 
248 249
         awayMessage = Optional.empty();
249
-        eventHandler = new ServerEventHandler(this, eventBus);
250
+        eventHandler = new ServerEventHandler(this, eventBus, userFactory);
250 251
 
251 252
         this.address = uri;
252 253
         this.profile = profile;

+ 15
- 3
src/com/dmdirc/ServerEventHandler.java 查看文件

@@ -117,6 +117,8 @@ public class ServerEventHandler extends EventHandler implements
117 117
     private final Server owner;
118 118
     /** Event bus to post events to. */
119 119
     private final DMDircMBassador eventBus;
120
+    /** User factory to create Users. */
121
+    private final UserFactory userFactory;
120 122
 
121 123
     /**
122 124
      * Creates a new instance of ServerEventHandler.
@@ -124,10 +126,12 @@ public class ServerEventHandler extends EventHandler implements
124 126
      * @param owner    The Server instance that we're handling events for
125 127
      * @param eventBus The event bus to post events to
126 128
      */
127
-    public ServerEventHandler(final Server owner, final DMDircMBassador eventBus) {
129
+    public ServerEventHandler(final Server owner, final DMDircMBassador eventBus,
130
+            final UserFactory userFactory) {
128 131
         super(eventBus);
129 132
         this.owner = owner;
130 133
         this.eventBus = eventBus;
134
+        this.userFactory = userFactory;
131 135
     }
132 136
 
133 137
     @Override
@@ -374,8 +378,12 @@ public class ServerEventHandler extends EventHandler implements
374 378
 
375 379
         if (parser.getLocalClient().equals(parser.getClient(host))) {
376 380
             // Local client
381
+            final ClientInfo me = parser.getLocalClient();
377 382
             final QuerySelfMessageEvent event = new QuerySelfMessageEvent(owner.getQuery(target),
378
-                    parser.getLocalClient(), message);
383
+                    userFactory.getUser(me.getNickname(), owner.getConnection().get(),
384
+                            Optional.ofNullable(me.getUsername()),
385
+                            Optional.ofNullable(me.getHostname()),
386
+                            Optional.ofNullable(me.getRealname())), message);
379 387
             final String format = EventUtils.postDisplayable(eventBus, event,
380 388
                     "querySelfExternalMessage");
381 389
             owner.getQuery(target).doNotification(format, parser.getLocalClient(), message);
@@ -394,8 +402,12 @@ public class ServerEventHandler extends EventHandler implements
394 402
 
395 403
         if (parser.getLocalClient().equals(parser.getClient(host))) {
396 404
             // Local client
405
+            final ClientInfo me = parser.getLocalClient();
397 406
             final QuerySelfActionEvent event = new QuerySelfActionEvent(owner.getQuery(target),
398
-                    parser.getLocalClient(), message);
407
+                    userFactory.getUser(me.getNickname(), owner.getConnection().get(),
408
+                            Optional.ofNullable(me.getUsername()),
409
+                            Optional.ofNullable(me.getHostname()),
410
+                            Optional.ofNullable(me.getRealname())), message);
399 411
             final String format = EventUtils.postDisplayable(eventBus, event,
400 412
                     "querySelfExternalAction");
401 413
             owner.getQuery(target).doNotification(format, parser.getLocalClient(), message);

+ 5
- 2
src/com/dmdirc/ServerFactoryImpl.java 查看文件

@@ -60,6 +60,7 @@ public class ServerFactoryImpl {
60 60
     private final MessageEncoderFactory messageEncoderFactory;
61 61
     private final ConfigProvider userSettings;
62 62
     private final BackBufferFactory backBufferFactory;
63
+    private final UserFactory userFactory;
63 64
 
64 65
     @Inject
65 66
     public ServerFactoryImpl(
@@ -76,7 +77,8 @@ public class ServerFactoryImpl {
76 77
             final DMDircMBassador eventBus,
77 78
             final MessageEncoderFactory messageEncoderFactory,
78 79
             @ClientModule.UserConfig final ConfigProvider userSettings,
79
-            final BackBufferFactory backBufferFactory) {
80
+            final BackBufferFactory backBufferFactory,
81
+            final UserFactory userFactory) {
80 82
         this.manager = manager;
81 83
         this.parserFactory = parserFactory;
82 84
         this.tabCompleterFactory = tabCompleterFactory;
@@ -91,6 +93,7 @@ public class ServerFactoryImpl {
91 93
         this.messageEncoderFactory = messageEncoderFactory;
92 94
         this.userSettings = userSettings;
93 95
         this.backBufferFactory = backBufferFactory;
96
+        this.userFactory = userFactory;
94 97
     }
95 98
 
96 99
     public Server getServer(
@@ -103,6 +106,6 @@ public class ServerFactoryImpl {
103 106
                 tabCompleterFactory, identityFactory, messageSinkManager, windowManager,
104 107
                 channelFactory.get(), queryFactory.get(), rawFactory.get(),urlBuilder, eventBus,
105 108
                 messageEncoderFactory, userSettings, executorService, uri, profile,
106
-                backBufferFactory);
109
+                backBufferFactory, userFactory);
107 110
     }
108 111
 }

+ 7
- 5
src/com/dmdirc/UserFactory.java 查看文件

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc;
24 24
 
25
+import com.dmdirc.interfaces.Connection;
25 26
 import com.dmdirc.interfaces.User;
26 27
 
27 28
 import java.util.Optional;
@@ -37,12 +38,13 @@ public class UserFactory {
37 38
     public UserFactory() {
38 39
     }
39 40
 
40
-    public User getUser(final String nickname) {
41
-        return new Client(nickname);
41
+    public User getUser(final String nickname, final Connection connection) {
42
+        return new Client(nickname, connection);
42 43
     }
43 44
 
44
-    public User getUser(final String nickname, final Optional<String> username,
45
-            final Optional<String> hostname, final Optional<String> realname) {
46
-        return new Client(nickname, username, hostname, realname);
45
+    public User getUser(final String nickname, final Connection connection,
46
+            final Optional<String> username, final Optional<String> hostname,
47
+            final Optional<String> realname) {
48
+        return new Client(nickname, connection, username, hostname, realname);
47 49
     }
48 50
 }

+ 5
- 5
src/com/dmdirc/events/BaseQueryActionEvent.java 查看文件

@@ -23,20 +23,20 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Query;
26
-import com.dmdirc.parser.interfaces.ClientInfo;
26
+import com.dmdirc.interfaces.User;
27 27
 
28 28
 /**
29 29
  * Base class for query action events.
30 30
  */
31 31
 public abstract class BaseQueryActionEvent extends BaseQueryTextEvent {
32 32
 
33
-    public BaseQueryActionEvent(final long timestamp, final Query query, final ClientInfo client,
33
+    public BaseQueryActionEvent(final long timestamp, final Query query, final User user,
34 34
             final String message) {
35
-        super(timestamp, query, client, message);
35
+        super(timestamp, query, user, message);
36 36
     }
37 37
 
38
-    public BaseQueryActionEvent(final Query query, final ClientInfo client, final String message) {
39
-        super(query, client, message);
38
+    public BaseQueryActionEvent(final Query query, final User user, final String message) {
39
+        super(query, user, message);
40 40
     }
41 41
 
42 42
 }

+ 5
- 5
src/com/dmdirc/events/BaseQueryMessageEvent.java 查看文件

@@ -23,20 +23,20 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Query;
26
-import com.dmdirc.parser.interfaces.ClientInfo;
26
+import com.dmdirc.interfaces.User;
27 27
 
28 28
 /**
29 29
  * Base class for query message events.
30 30
  */
31 31
 public abstract class BaseQueryMessageEvent extends BaseQueryTextEvent {
32 32
 
33
-    public BaseQueryMessageEvent(final long timestamp, final Query query, final ClientInfo client,
33
+    public BaseQueryMessageEvent(final long timestamp, final Query query, final User user,
34 34
             final String message) {
35
-        super(timestamp, query, client, message);
35
+        super(timestamp, query, user, message);
36 36
     }
37 37
 
38
-    public BaseQueryMessageEvent(final Query query, final ClientInfo client, final String message) {
39
-        super(query, client, message);
38
+    public BaseQueryMessageEvent(final Query query, final User user, final String message) {
39
+        super(query, user, message);
40 40
     }
41 41
 
42 42
 }

+ 8
- 8
src/com/dmdirc/events/BaseQueryTextEvent.java 查看文件

@@ -23,31 +23,31 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Query;
26
-import com.dmdirc.parser.interfaces.ClientInfo;
26
+import com.dmdirc.interfaces.User;
27 27
 
28 28
 /**
29 29
  * Base class for query message and action events.
30 30
  */
31 31
 public abstract class BaseQueryTextEvent extends QueryDisplayableEvent {
32 32
 
33
-    private final ClientInfo client;
33
+    private final User user;
34 34
     private final String message;
35 35
 
36
-    public BaseQueryTextEvent(final long timestamp, final Query query, final ClientInfo client,
36
+    public BaseQueryTextEvent(final long timestamp, final Query query, final User user,
37 37
             final String message) {
38 38
         super(timestamp, query);
39
-        this.client = client;
39
+        this.user = user;
40 40
         this.message = message;
41 41
     }
42 42
 
43
-    public BaseQueryTextEvent(final Query query, final ClientInfo client, final String message) {
43
+    public BaseQueryTextEvent(final Query query, final User user, final String message) {
44 44
         super(query);
45
-        this.client = client;
45
+        this.user = user;
46 46
         this.message = message;
47 47
     }
48 48
 
49
-    public ClientInfo getClient() {
50
-        return client;
49
+    public User getUser() {
50
+        return user;
51 51
     }
52 52
 
53 53
     public String getMessage() {

+ 5
- 5
src/com/dmdirc/events/QueryActionEvent.java 查看文件

@@ -23,20 +23,20 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Query;
26
-import com.dmdirc.parser.interfaces.ClientInfo;
26
+import com.dmdirc.interfaces.User;
27 27
 
28 28
 /**
29 29
  * Fired when an action occurs in a query.
30 30
  */
31 31
 public class QueryActionEvent extends BaseQueryActionEvent {
32 32
 
33
-    public QueryActionEvent(final long timestamp, final Query query, final ClientInfo client,
33
+    public QueryActionEvent(final long timestamp, final Query query, final User user,
34 34
             final String message) {
35
-        super(timestamp, query, client, message);
35
+        super(timestamp, query, user, message);
36 36
     }
37 37
 
38
-    public QueryActionEvent(final Query query, final ClientInfo client, final String message) {
39
-        super(query, client, message);
38
+    public QueryActionEvent(final Query query, final User user, final String message) {
39
+        super(query, user, message);
40 40
     }
41 41
 
42 42
 }

+ 5
- 5
src/com/dmdirc/events/QueryMessageEvent.java 查看文件

@@ -23,20 +23,20 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Query;
26
-import com.dmdirc.parser.interfaces.ClientInfo;
26
+import com.dmdirc.interfaces.User;
27 27
 
28 28
 /**
29 29
  * Fired when a message occurs in a query.
30 30
  */
31 31
 public class QueryMessageEvent extends BaseQueryMessageEvent {
32 32
 
33
-    public QueryMessageEvent(final long timestamp, final Query query, final ClientInfo client,
33
+    public QueryMessageEvent(final long timestamp, final Query query, final User user,
34 34
             final String message) {
35
-        super(timestamp, query, client, message);
35
+        super(timestamp, query, user, message);
36 36
     }
37 37
 
38
-    public QueryMessageEvent(final Query query, final ClientInfo client, final String message) {
39
-        super(query, client, message);
38
+    public QueryMessageEvent(final Query query, final User user, final String message) {
39
+        super(query, user, message);
40 40
     }
41 41
 
42 42
 }

+ 5
- 5
src/com/dmdirc/events/QuerySelfActionEvent.java 查看文件

@@ -23,20 +23,20 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Query;
26
-import com.dmdirc.parser.interfaces.ClientInfo;
26
+import com.dmdirc.interfaces.User;
27 27
 
28 28
 /**
29 29
  * Fired when a self action is sent in query.
30 30
  */
31 31
 public class QuerySelfActionEvent extends BaseQueryActionEvent {
32 32
 
33
-    public QuerySelfActionEvent(final long timestamp, final Query query, final ClientInfo client,
33
+    public QuerySelfActionEvent(final long timestamp, final Query query, final User user,
34 34
             final String message) {
35
-        super(timestamp, query, client, message);
35
+        super(timestamp, query, user, message);
36 36
     }
37 37
 
38
-    public QuerySelfActionEvent(final Query query, final ClientInfo client, final String message) {
39
-        super(query, client, message);
38
+    public QuerySelfActionEvent(final Query query, final User user, final String message) {
39
+        super(query, user, message);
40 40
     }
41 41
 
42 42
 }

+ 5
- 5
src/com/dmdirc/events/QuerySelfMessageEvent.java 查看文件

@@ -23,19 +23,19 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Query;
26
-import com.dmdirc.parser.interfaces.ClientInfo;
26
+import com.dmdirc.interfaces.User;
27 27
 
28 28
 /**
29 29
  * Fired when a self message happens in a query.
30 30
  */
31 31
 public class QuerySelfMessageEvent extends BaseQueryMessageEvent {
32 32
 
33
-    public QuerySelfMessageEvent(final long timestamp, final Query query, final ClientInfo client,
33
+    public QuerySelfMessageEvent(final long timestamp, final Query query, final User user,
34 34
             final String message) {
35
-        super(timestamp, query, client, message);
35
+        super(timestamp, query, user, message);
36 36
     }
37 37
 
38
-    public QuerySelfMessageEvent(final Query query, final ClientInfo client, final String message) {
39
-        super(query, client, message);
38
+    public QuerySelfMessageEvent(final Query query, final User user, final String message) {
39
+        super(query, user, message);
40 40
     }
41 41
 }

+ 7
- 0
src/com/dmdirc/interfaces/User.java 查看文件

@@ -120,4 +120,11 @@ public interface User {
120 120
      * @param awayMessage Optional.empty if the user is not away, wrapped away reason if they are
121 121
      */
122 122
     void setAwayMessage(final Optional<String> awayMessage);
123
+
124
+    /**
125
+     * Gets the {@link Connection} for this client.
126
+     *
127
+     * @return Non-Null connection for this connection
128
+     */
129
+    Connection getConnection();
123 130
 }

+ 2
- 1
test/com/dmdirc/ServerEventHandlerTest.java 查看文件

@@ -66,6 +66,7 @@ public class ServerEventHandlerTest {
66 66
     @Mock private CallbackManager callbackManager;
67 67
     @Mock private DMDircMBassador eventBus;
68 68
     @Mock private ChannelInfo channelInfo;
69
+    @Mock private UserFactory userFactory;
69 70
     @Mock private ClientInfo clientInfo;
70 71
     @Mock private Query query;
71 72
     @Mock private Date date;
@@ -76,7 +77,7 @@ public class ServerEventHandlerTest {
76 77
         when(server.getState()).thenReturn(ServerState.CONNECTED);
77 78
         when(parser.getCallbackManager()).thenReturn(callbackManager);
78 79
 
79
-        final ServerEventHandler handler = new ServerEventHandler(server, eventBus);
80
+        final ServerEventHandler handler = new ServerEventHandler(server, eventBus, userFactory);
80 81
         handler.registerCallbacks();
81 82
     }
82 83
 

+ 3
- 1
test/com/dmdirc/ServerTest.java 查看文件

@@ -72,6 +72,7 @@ public class ServerTest {
72 72
     @Mock private ScheduledExecutorService executorService;
73 73
     @Mock private MessageEncoderFactory messageEncoderFactory;
74 74
     @Mock private BackBufferFactory backBufferFactory;
75
+    @Mock private UserFactory userFactory;
75 76
 
76 77
     private Server server;
77 78
 
@@ -102,7 +103,8 @@ public class ServerTest {
102 103
                 executorService,
103 104
                 new URI("irc-test://255.255.255.255"),
104 105
                 profile,
105
-                backBufferFactory);
106
+                backBufferFactory,
107
+                userFactory);
106 108
     }
107 109
 
108 110
     @Test

正在加载...
取消
保存