Pārlūkot izejas kodu

Merge branch 'master' of https://github.com/DMDirc/DMDirc

pull/507/head
Greg Holmes 9 gadus atpakaļ
vecāks
revīzija
09e11f2e22
62 mainītis faili ar 398 papildinājumiem un 196 dzēšanām
  1. 4
    8
      src/com/dmdirc/Channel.java
  2. 1
    1
      src/com/dmdirc/GroupChatManagerImpl.java
  3. 4
    4
      src/com/dmdirc/commandparser/commands/channel/Ban.java
  4. 1
    1
      src/com/dmdirc/commandparser/commands/channel/Cycle.java
  5. 1
    1
      src/com/dmdirc/commandparser/commands/channel/Invite.java
  6. 1
    1
      src/com/dmdirc/commandparser/commands/channel/KickReason.java
  7. 4
    6
      src/com/dmdirc/commandparser/commands/channel/Mode.java
  8. 1
    1
      src/com/dmdirc/commandparser/commands/channel/Names.java
  9. 1
    1
      src/com/dmdirc/commandparser/commands/channel/Part.java
  10. 2
    2
      src/com/dmdirc/commandparser/commands/channel/SetNickColour.java
  11. 1
    1
      src/com/dmdirc/commandparser/commands/channel/ShowTopic.java
  12. 12
    12
      src/com/dmdirc/commandparser/commands/context/ChannelCommandContext.java
  13. 1
    1
      src/com/dmdirc/commandparser/commands/global/SetCommand.java
  14. 13
    5
      src/com/dmdirc/commandparser/commands/server/JoinChannelCommand.java
  15. 9
    9
      src/com/dmdirc/commandparser/parsers/ChannelCommandParser.java
  16. 3
    3
      src/com/dmdirc/events/BaseChannelActionEvent.java
  17. 3
    3
      src/com/dmdirc/events/BaseChannelMessageEvent.java
  18. 3
    3
      src/com/dmdirc/events/BaseChannelTextEvent.java
  19. 3
    3
      src/com/dmdirc/events/ChannelActionEvent.java
  20. 2
    2
      src/com/dmdirc/events/ChannelClosedEvent.java
  21. 3
    3
      src/com/dmdirc/events/ChannelCtcpEvent.java
  22. 4
    4
      src/com/dmdirc/events/ChannelDisplayableEvent.java
  23. 3
    3
      src/com/dmdirc/events/ChannelDisplayableUserEvent.java
  24. 9
    9
      src/com/dmdirc/events/ChannelEvent.java
  25. 3
    3
      src/com/dmdirc/events/ChannelGotNamesEvent.java
  26. 3
    3
      src/com/dmdirc/events/ChannelGotTopicEvent.java
  27. 3
    3
      src/com/dmdirc/events/ChannelJoinEvent.java
  28. 3
    3
      src/com/dmdirc/events/ChannelKickEvent.java
  29. 3
    3
      src/com/dmdirc/events/ChannelListModesRetrievedEvent.java
  30. 3
    3
      src/com/dmdirc/events/ChannelMessageEvent.java
  31. 3
    3
      src/com/dmdirc/events/ChannelModeChangeEvent.java
  32. 3
    3
      src/com/dmdirc/events/ChannelModeNoticeEvent.java
  33. 3
    3
      src/com/dmdirc/events/ChannelModesDiscoveredEvent.java
  34. 3
    3
      src/com/dmdirc/events/ChannelNickChangeEvent.java
  35. 3
    3
      src/com/dmdirc/events/ChannelNoTopicEvent.java
  36. 3
    3
      src/com/dmdirc/events/ChannelNoticeEvent.java
  37. 2
    2
      src/com/dmdirc/events/ChannelOpenedEvent.java
  38. 3
    3
      src/com/dmdirc/events/ChannelPartEvent.java
  39. 3
    3
      src/com/dmdirc/events/ChannelQuitEvent.java
  40. 3
    3
      src/com/dmdirc/events/ChannelSelfActionEvent.java
  41. 3
    3
      src/com/dmdirc/events/ChannelSelfJoinEvent.java
  42. 3
    3
      src/com/dmdirc/events/ChannelSelfMessageEvent.java
  43. 3
    3
      src/com/dmdirc/events/ChannelSelfModeChangeEvent.java
  44. 3
    3
      src/com/dmdirc/events/ChannelSelfNickChangeEvent.java
  45. 3
    3
      src/com/dmdirc/events/ChannelSelfPartEvent.java
  46. 3
    3
      src/com/dmdirc/events/ChannelTopicChangeEvent.java
  47. 3
    3
      src/com/dmdirc/events/ChannelTopicUnsetEvent.java
  48. 3
    3
      src/com/dmdirc/events/ChannelUserAwayEvent.java
  49. 3
    3
      src/com/dmdirc/events/ChannelUserBackEvent.java
  50. 3
    3
      src/com/dmdirc/events/ChannelUserEvent.java
  51. 3
    3
      src/com/dmdirc/events/ChannelUserModeChangeEvent.java
  52. 2
    1
      src/com/dmdirc/events/ClientInfoRequestEvent.java
  53. 3
    3
      src/com/dmdirc/events/NickListClientAddedEvent.java
  54. 3
    3
      src/com/dmdirc/events/NickListClientRemovedEvent.java
  55. 3
    3
      src/com/dmdirc/events/NickListClientsChangedEvent.java
  56. 2
    3
      src/com/dmdirc/events/NickListEvent.java
  57. 3
    3
      src/com/dmdirc/events/NickListUpdatedEvent.java
  58. 7
    0
      src/com/dmdirc/interfaces/GroupChat.java
  59. 98
    0
      test/com/dmdirc/commandparser/aliases/AliasLoaderTest.java
  60. 101
    0
      test/com/dmdirc/commandparser/aliases/DefaultAliasInstallerTest.java
  61. 4
    7
      test/com/dmdirc/commandparser/commands/channel/BanTest.java
  62. 3
    6
      test/com/dmdirc/commandparser/commands/channel/ModeTest.java

+ 4
- 8
src/com/dmdirc/Channel.java Parādīt failu

@@ -275,8 +275,8 @@ public class Channel extends FrameContainer implements GroupChat {
275 275
 
276 276
         // Needs to be published synchronously so that nicklists are cleared before the parser
277 277
         // is disconnected (which happens synchronously after this method returns).
278
-        getEventBus().publish(new NickListClientsChangedEvent(this,
279
-                Collections.<GroupChatUser>emptyList()));
278
+        getEventBus().publish(
279
+                new NickListClientsChangedEvent(this, Collections.<GroupChatUser>emptyList()));
280 280
     }
281 281
 
282 282
     @Override
@@ -327,8 +327,7 @@ public class Channel extends FrameContainer implements GroupChat {
327 327
     public void removeClient(final GroupChatUser client) {
328 328
         getEventBus().publishAsync(new NickListClientRemovedEvent(this, client));
329 329
 
330
-        getTabCompleter().removeEntry(TabCompletionType.CHANNEL_NICK,
331
-                client.getNickname());
330
+        getTabCompleter().removeEntry(TabCompletionType.CHANNEL_NICK, client.getNickname());
332 331
 
333 332
         if (client.getUser().equals(connection.getLocalUser().orElse(null))) {
334 333
             resetWindow();
@@ -361,10 +360,7 @@ public class Channel extends FrameContainer implements GroupChat {
361 360
         refreshClients();
362 361
     }
363 362
 
364
-    /**
365
-     * Refreshes the list of clients stored by this channel. Should be called when (visible) user
366
-     * modes or nicknames change.
367
-     */
363
+    @Override
368 364
     public void refreshClients() {
369 365
         if (!isOnChannel) {
370 366
             return;

+ 1
- 1
src/com/dmdirc/GroupChatManagerImpl.java Parādīt failu

@@ -218,7 +218,7 @@ public class GroupChatManagerImpl implements GroupChatManager {
218 218
 
219 219
     @Handler
220 220
     void handleChannelClosing(final ChannelClosedEvent event) {
221
-        final Channel channel = event.getChannel();
221
+        final GroupChat channel = event.getChannel();
222 222
         connection.getWindowModel().getTabCompleter()
223 223
                 .removeEntry(TabCompletionType.CHANNEL, channel.getName());
224 224
         channels.remove(channel.getName());

+ 4
- 4
src/com/dmdirc/commandparser/commands/channel/Ban.java Parādīt failu

@@ -22,7 +22,6 @@
22 22
 
23 23
 package com.dmdirc.commandparser.commands.channel;
24 24
 
25
-import com.dmdirc.Channel;
26 25
 import com.dmdirc.FrameContainer;
27 26
 import com.dmdirc.commandparser.BaseCommandInfo;
28 27
 import com.dmdirc.commandparser.CommandArguments;
@@ -33,6 +32,7 @@ import com.dmdirc.commandparser.commands.IntelligentCommand;
33 32
 import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
34 33
 import com.dmdirc.commandparser.commands.context.CommandContext;
35 34
 import com.dmdirc.interfaces.CommandController;
35
+import com.dmdirc.interfaces.GroupChat;
36 36
 import com.dmdirc.interfaces.GroupChatUser;
37 37
 import com.dmdirc.ui.input.AdditionalTabTargets;
38 38
 import com.dmdirc.ui.input.TabCompletionType;
@@ -63,7 +63,7 @@ public class Ban extends Command implements IntelligentCommand {
63 63
     @Override
64 64
     public void execute(@Nonnull final FrameContainer origin,
65 65
             final CommandArguments args, final CommandContext context) {
66
-        final Channel channel = ((ChannelCommandContext) context).getChannel();
66
+        final GroupChat channel = ((ChannelCommandContext) context).getGroupChat();
67 67
 
68 68
         if (args.getArguments().length == 0) {
69 69
             showUsage(origin, args.isSilent(), INFO.getName(), INFO.getHelp());
@@ -79,8 +79,8 @@ public class Ban extends Command implements IntelligentCommand {
79 79
             host = "*!*@" + hostname;
80 80
         }
81 81
 
82
-        channel.getChannelInfo().alterMode(true, 'b', host);
83
-        channel.getChannelInfo().flushModes();
82
+        channel.setMode('b', host);
83
+        channel.flushModes();
84 84
     }
85 85
 
86 86
     @Override

+ 1
- 1
src/com/dmdirc/commandparser/commands/channel/Cycle.java Parādīt failu

@@ -61,7 +61,7 @@ public class Cycle extends Command {
61 61
     @Override
62 62
     public void execute(@Nonnull final FrameContainer origin,
63 63
             final CommandArguments args, final CommandContext context) {
64
-        final GroupChat channel = ((ChannelCommandContext) context).getChannel();
64
+        final GroupChat channel = ((ChannelCommandContext) context).getGroupChat();
65 65
         channel.part(args.getArguments().length > 0 ? args.getArgumentsAsString()
66 66
                 : origin.getConfigManager().getOption("general", "cyclemessage"));
67 67
         channel.join();

+ 1
- 1
src/com/dmdirc/commandparser/commands/channel/Invite.java Parādīt failu

@@ -69,7 +69,7 @@ public class Invite extends Command implements ExternalCommand {
69 69
             sendLine(origin, args.isSilent(), FORMAT_ERROR,
70 70
                     "Insufficient arguments: must specify user");
71 71
         } else {
72
-            final GroupChat groupChat = ((ChannelCommandContext) context).getChannel();
72
+            final GroupChat groupChat = ((ChannelCommandContext) context).getGroupChat();
73 73
             groupChat.getConnection().flatMap(Connection::getParser)
74 74
                     .ifPresent(p -> p.sendInvite(groupChat.getName(), args.getArgumentsAsString()));
75 75
         }

+ 1
- 1
src/com/dmdirc/commandparser/commands/channel/KickReason.java Parādīt failu

@@ -68,7 +68,7 @@ public class KickReason extends Command implements IntelligentCommand {
68 68
     @Override
69 69
     public void execute(@Nonnull final FrameContainer origin,
70 70
             final CommandArguments args, final CommandContext context) {
71
-        final GroupChat groupChat = ((ChannelCommandContext) context).getChannel();
71
+        final GroupChat groupChat = ((ChannelCommandContext) context).getGroupChat();
72 72
         if (args.getArguments().length == 0) {
73 73
             showUsage(origin, args.isSilent(), "kick", "<user> [reason]");
74 74
             return;

+ 4
- 6
src/com/dmdirc/commandparser/commands/channel/Mode.java Parādīt failu

@@ -22,7 +22,6 @@
22 22
 
23 23
 package com.dmdirc.commandparser.commands.channel;
24 24
 
25
-import com.dmdirc.Channel;
26 25
 import com.dmdirc.FrameContainer;
27 26
 import com.dmdirc.commandparser.BaseCommandInfo;
28 27
 import com.dmdirc.commandparser.CommandArguments;
@@ -36,7 +35,7 @@ import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
36 35
 import com.dmdirc.commandparser.commands.context.CommandContext;
37 36
 import com.dmdirc.interfaces.CommandController;
38 37
 import com.dmdirc.interfaces.Connection;
39
-import com.dmdirc.parser.interfaces.ChannelInfo;
38
+import com.dmdirc.interfaces.GroupChat;
40 39
 import com.dmdirc.ui.input.AdditionalTabTargets;
41 40
 import com.dmdirc.ui.input.TabCompletionType;
42 41
 
@@ -68,14 +67,13 @@ public class Mode extends Command implements IntelligentCommand,
68 67
     @Override
69 68
     public void execute(@Nonnull final FrameContainer origin,
70 69
             final CommandArguments args, final CommandContext context) {
71
-        final Channel channel = ((ChannelCommandContext) context).getChannel();
72
-        final ChannelInfo cChannel = channel.getChannelInfo();
70
+        final GroupChat channel = ((ChannelCommandContext) context).getGroupChat();
73 71
 
74 72
         if (args.getArguments().length == 0) {
75
-            sendLine(origin, args.isSilent(), "channelModeDiscovered", cChannel.getModes(), cChannel);
73
+            sendLine(origin, args.isSilent(), "channelModeDiscovered", channel.getModes(), channel);
76 74
         } else {
77 75
             channel.getConnection().get().getParser().get().sendRawMessage("MODE "
78
-                    + cChannel + " " + args.getArgumentsAsString());
76
+                    + channel.getName() + ' ' + args.getArgumentsAsString());
79 77
         }
80 78
     }
81 79
 

+ 1
- 1
src/com/dmdirc/commandparser/commands/channel/Names.java Parādīt failu

@@ -66,7 +66,7 @@ public class Names extends Command implements IntelligentCommand,
66 66
     @Override
67 67
     public void execute(@Nonnull final FrameContainer origin,
68 68
             final CommandArguments args, final CommandContext context) {
69
-        final GroupChat channel = ((ChannelCommandContext) context).getChannel();
69
+        final GroupChat channel = ((ChannelCommandContext) context).getGroupChat();
70 70
         channel.getConnection().get().getParser().get().sendRawMessage("NAMES "
71 71
                 + channel.getName());
72 72
     }

+ 1
- 1
src/com/dmdirc/commandparser/commands/channel/Part.java Parādīt failu

@@ -61,7 +61,7 @@ public class Part extends Command {
61 61
     @Override
62 62
     public void execute(@Nonnull final FrameContainer origin,
63 63
             final CommandArguments args, final CommandContext context) {
64
-        final GroupChat channel = ((ChannelCommandContext) context).getChannel();
64
+        final GroupChat channel = ((ChannelCommandContext) context).getGroupChat();
65 65
         channel.part(args.getArguments().length > 0 ? args.getArgumentsAsString()
66 66
                 : origin.getConfigManager().getOption("general", "partmessage"));
67 67
         channel.getWindowModel().close();

+ 2
- 2
src/com/dmdirc/commandparser/commands/channel/SetNickColour.java Parādīt failu

@@ -22,7 +22,6 @@
22 22
 
23 23
 package com.dmdirc.commandparser.commands.channel;
24 24
 
25
-import com.dmdirc.Channel;
26 25
 import com.dmdirc.FrameContainer;
27 26
 import com.dmdirc.commandparser.BaseCommandInfo;
28 27
 import com.dmdirc.commandparser.CommandArguments;
@@ -34,6 +33,7 @@ import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
34 33
 import com.dmdirc.commandparser.commands.context.CommandContext;
35 34
 import com.dmdirc.events.DisplayProperty;
36 35
 import com.dmdirc.interfaces.CommandController;
36
+import com.dmdirc.interfaces.GroupChat;
37 37
 import com.dmdirc.interfaces.GroupChatUser;
38 38
 import com.dmdirc.ui.input.AdditionalTabTargets;
39 39
 import com.dmdirc.ui.input.TabCompletionType;
@@ -73,7 +73,7 @@ public class SetNickColour extends Command implements IntelligentCommand {
73 73
     @Override
74 74
     public void execute(@Nonnull final FrameContainer origin,
75 75
             final CommandArguments args, final CommandContext context) {
76
-        final Channel channel = ((ChannelCommandContext) context).getChannel();
76
+        final GroupChat channel = ((ChannelCommandContext) context).getGroupChat();
77 77
 
78 78
         if (args.getArguments().length == 0) {
79 79
             showUsage(origin, args.isSilent(), INFO.getName(), INFO.getHelp());

+ 1
- 1
src/com/dmdirc/commandparser/commands/channel/ShowTopic.java Parādīt failu

@@ -67,7 +67,7 @@ public class ShowTopic extends Command implements ExternalCommand {
67 67
     @Override
68 68
     public void execute(@Nonnull final FrameContainer origin,
69 69
             final CommandArguments args, final CommandContext context) {
70
-        final GroupChat channel = ((ChannelCommandContext) context).getChannel();
70
+        final GroupChat channel = ((ChannelCommandContext) context).getGroupChat();
71 71
         if (args.getArguments().length == 0) {
72 72
             final Optional<Topic> topic = channel.getCurrentTopic();
73 73
             if (topic.isPresent()) {

+ 12
- 12
src/com/dmdirc/commandparser/commands/context/ChannelCommandContext.java Parādīt failu

@@ -22,9 +22,9 @@
22 22
 
23 23
 package com.dmdirc.commandparser.commands.context;
24 24
 
25
-import com.dmdirc.Channel;
26 25
 import com.dmdirc.FrameContainer;
27 26
 import com.dmdirc.commandparser.CommandInfo;
27
+import com.dmdirc.interfaces.GroupChat;
28 28
 
29 29
 /**
30 30
  * A specialised {@link CommandContext} for commands executed in channels.
@@ -33,29 +33,29 @@ import com.dmdirc.commandparser.CommandInfo;
33 33
  */
34 34
 public class ChannelCommandContext extends ChatCommandContext {
35 35
 
36
-    /** The channel associated with the command. */
37
-    private final Channel channel;
36
+    /** The group chat associated with the command. */
37
+    private final GroupChat groupChat;
38 38
 
39 39
     /**
40
-     * Creates a new channel command context.
40
+     * Creates a new group chat command context.
41 41
      *
42 42
      * @param source      The source of the command
43 43
      * @param commandInfo The command info object which associated the command with the input
44
-     * @param channel     The channel associated with the command
44
+     * @param groupChat  The group chat associated with the command
45 45
      */
46 46
     public ChannelCommandContext(final FrameContainer source,
47
-            final CommandInfo commandInfo, final Channel channel) {
48
-        super(source, commandInfo, channel);
49
-        this.channel = channel;
47
+            final CommandInfo commandInfo, final GroupChat groupChat) {
48
+        super(source, commandInfo, groupChat);
49
+        this.groupChat = groupChat;
50 50
     }
51 51
 
52 52
     /**
53
-     * Retrieves the channel associated with this context.
53
+     * Retrieves the group chat associated with this context.
54 54
      *
55
-     * @return This context's channel
55
+     * @return This context's group chat
56 56
      */
57
-    public Channel getChannel() {
58
-        return channel;
57
+    public GroupChat getGroupChat() {
58
+        return groupChat;
59 59
     }
60 60
 
61 61
 }

+ 1
- 1
src/com/dmdirc/commandparser/commands/global/SetCommand.java Parādīt failu

@@ -134,7 +134,7 @@ public class SetCommand extends Command implements IntelligentCommand {
134 134
                 return;
135 135
             }
136 136
 
137
-            final GroupChat groupChat = ((ChannelCommandContext) context).getChannel();
137
+            final GroupChat groupChat = ((ChannelCommandContext) context).getGroupChat();
138 138
             identity = identityFactory.createChannelConfig(connection.get().getNetwork(),
139 139
                     groupChat.getName());
140 140
             manager = groupChat.getWindowModel().getConfigManager();

+ 13
- 5
src/com/dmdirc/commandparser/commands/server/JoinChannelCommand.java Parādīt failu

@@ -46,6 +46,7 @@ import java.util.Optional;
46 46
 import java.util.stream.Collectors;
47 47
 
48 48
 import javax.annotation.Nonnull;
49
+import javax.annotation.concurrent.GuardedBy;
49 50
 import javax.inject.Inject;
50 51
 
51 52
 import net.engio.mbassy.listener.Handler;
@@ -62,7 +63,10 @@ public class JoinChannelCommand extends Command implements IntelligentCommand {
62 63
             "join <channel [key]>[,channel [key]...] - joins the specified channel(s)",
63 64
             CommandType.TYPE_SERVER);
64 65
     /** A map of channel name mentions. */
66
+    @GuardedBy("mentionsLock")
65 67
     private final MapList<FrameContainer, String> mentions = new MapList<>();
68
+    /** Lock to synchronise on when accessing mentions. */
69
+    private final Object mentionsLock = new Object();
66 70
 
67 71
     /**
68 72
      * Creates a new instance of the join channel command.
@@ -110,9 +114,11 @@ public class JoinChannelCommand extends Command implements IntelligentCommand {
110 114
                 .doLinks(event.getLine())
111 115
                 .split(Character.toString(Styliser.CODE_CHANNEL));
112 116
 
113
-        for (int i = 1; i < parts.length; i += 2) {
114
-            // All of the odd parts of the array are channel names
115
-            mentions.add(event.getFrameContainer(), parts[i]);
117
+        synchronized (mentionsLock) {
118
+            for (int i = 1; i < parts.length; i += 2) {
119
+                // All of the odd parts of the array are channel names
120
+                mentions.add(event.getFrameContainer(), parts[i]);
121
+            }
116 122
         }
117 123
     }
118 124
 
@@ -170,8 +176,10 @@ public class JoinChannelCommand extends Command implements IntelligentCommand {
170 176
         final List<String> results = new ArrayList<>();
171 177
 
172 178
         // Check the window itself
173
-        if (mentions.containsKey(source)) {
174
-            results.addAll(mentions.get(source));
179
+        synchronized (mentionsLock) {
180
+            if (mentions.containsKey(source)) {
181
+                results.addAll(mentions.get(source));
182
+            }
175 183
         }
176 184
 
177 185
         // Check the parent window

+ 9
- 9
src/com/dmdirc/commandparser/parsers/ChannelCommandParser.java Parādīt failu

@@ -22,7 +22,6 @@
22 22
 
23 23
 package com.dmdirc.commandparser.parsers;
24 24
 
25
-import com.dmdirc.Channel;
26 25
 import com.dmdirc.DMDircMBassador;
27 26
 import com.dmdirc.FrameContainer;
28 27
 import com.dmdirc.commandparser.CommandArguments;
@@ -32,6 +31,7 @@ import com.dmdirc.commandparser.commands.Command;
32 31
 import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
33 32
 import com.dmdirc.commandparser.commands.context.CommandContext;
34 33
 import com.dmdirc.interfaces.CommandController;
34
+import com.dmdirc.interfaces.GroupChat;
35 35
 
36 36
 import javax.annotation.Nonnull;
37 37
 
@@ -42,10 +42,8 @@ public class ChannelCommandParser extends ChatCommandParser {
42 42
 
43 43
     /** A version number for this class. */
44 44
     private static final long serialVersionUID = 1;
45
-    /**
46
-     * The channel instance that this parser is attached to.
47
-     */
48
-    private Channel channel;
45
+    /** The group chat instance that this parser is attached to. */
46
+    private GroupChat groupChat;
49 47
 
50 48
     /**
51 49
      * Creates a new instance of ChannelCommandParser.
@@ -54,15 +52,17 @@ public class ChannelCommandParser extends ChatCommandParser {
54 52
      * @param commandController The controller to load commands from.
55 53
      * @param eventBus          Event bus to post events on
56 54
      */
57
-    public ChannelCommandParser(final FrameContainer owner, final CommandController commandController,
55
+    public ChannelCommandParser(final FrameContainer owner,
56
+            final CommandController commandController,
58 57
             final DMDircMBassador eventBus) {
59 58
         super(owner, commandController, eventBus);
60 59
     }
61 60
 
62 61
     @Override
63 62
     public void setOwner(final FrameContainer owner) {
64
-        if (channel == null) {
65
-            channel = (Channel) owner;
63
+        if (groupChat == null) {
64
+            // TODO: Can't assume that framecontainers may be group chats.
65
+            groupChat = (GroupChat) owner;
66 66
         }
67 67
 
68 68
         super.setOwner(owner);
@@ -80,7 +80,7 @@ public class ChannelCommandParser extends ChatCommandParser {
80 80
             final CommandInfo commandInfo,
81 81
             final Command command,
82 82
             final CommandArguments args) {
83
-        return new ChannelCommandContext(origin, commandInfo, channel);
83
+        return new ChannelCommandContext(origin, commandInfo, groupChat);
84 84
     }
85 85
 
86 86
     @Override

+ 3
- 3
src/com/dmdirc/events/BaseChannelActionEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class BaseChannelActionEvent extends BaseChannelTextEvent {
32 32
 
33
-    public BaseChannelActionEvent(final long timestamp, final Channel channel,
33
+    public BaseChannelActionEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser client, final String message) {
35 35
         super(timestamp, channel, client, message);
36 36
     }
37 37
 
38
-    public BaseChannelActionEvent(final Channel channel, final GroupChatUser client,
38
+    public BaseChannelActionEvent(final GroupChat channel, final GroupChatUser client,
39 39
             final String message) {
40 40
         super(channel, client, message);
41 41
     }

+ 3
- 3
src/com/dmdirc/events/BaseChannelMessageEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class BaseChannelMessageEvent extends BaseChannelTextEvent {
32 32
 
33
-    public BaseChannelMessageEvent(final long timestamp, final Channel channel,
33
+    public BaseChannelMessageEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser client, final String message) {
35 35
         super(timestamp, channel, client, message);
36 36
     }
37 37
 
38
-    public BaseChannelMessageEvent(final Channel channel, final GroupChatUser client,
38
+    public BaseChannelMessageEvent(final GroupChat channel, final GroupChatUser client,
39 39
             final String message) {
40 40
         super(channel, client, message);
41 41
     }

+ 3
- 3
src/com/dmdirc/events/BaseChannelTextEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -33,14 +33,14 @@ public class BaseChannelTextEvent extends ChannelDisplayableEvent {
33 33
     private final GroupChatUser client;
34 34
     private final String message;
35 35
 
36
-    public BaseChannelTextEvent(final long timestamp, final Channel channel,
36
+    public BaseChannelTextEvent(final long timestamp, final GroupChat channel,
37 37
             final GroupChatUser client, final String message) {
38 38
         super(timestamp, channel);
39 39
         this.client = client;
40 40
         this.message = message;
41 41
     }
42 42
 
43
-    public BaseChannelTextEvent(final Channel channel,
43
+    public BaseChannelTextEvent(final GroupChat channel,
44 44
             final GroupChatUser client, final String message) {
45 45
         super(channel);
46 46
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelActionEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class ChannelActionEvent extends BaseChannelActionEvent {
32 32
 
33
-    public ChannelActionEvent(final long timestamp, final Channel channel,
33
+    public ChannelActionEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser client, final String message) {
35 35
         super(timestamp, channel, client, message);
36 36
     }
37 37
 
38
-    public ChannelActionEvent(final Channel channel, final GroupChatUser client,
38
+    public ChannelActionEvent(final GroupChat channel, final GroupChatUser client,
39 39
             final String message) {
40 40
         super(channel, client, message);
41 41
     }

+ 2
- 2
src/com/dmdirc/events/ChannelClosedEvent.java Parādīt failu

@@ -22,14 +22,14 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 
27 27
 /**
28 28
  * Event raised when a channel is closed.
29 29
  */
30 30
 public class ChannelClosedEvent extends ChannelDisplayableEvent {
31 31
 
32
-    public ChannelClosedEvent(final Channel channel) {
32
+    public ChannelClosedEvent(final GroupChat channel) {
33 33
         super(channel);
34 34
     }
35 35
 

+ 3
- 3
src/com/dmdirc/events/ChannelCtcpEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -35,7 +35,7 @@ public class ChannelCtcpEvent extends ChannelDisplayableEvent {
35 35
     private final String message;
36 36
     private boolean handled;
37 37
 
38
-    public ChannelCtcpEvent(final long timestamp, final Channel channel,
38
+    public ChannelCtcpEvent(final long timestamp, final GroupChat channel,
39 39
             final GroupChatUser client, final String type, final String message) {
40 40
         super(timestamp, channel);
41 41
         this.client = client;
@@ -43,7 +43,7 @@ public class ChannelCtcpEvent extends ChannelDisplayableEvent {
43 43
         this.message = message;
44 44
     }
45 45
 
46
-    public ChannelCtcpEvent(final Channel channel, final GroupChatUser client,
46
+    public ChannelCtcpEvent(final GroupChat channel, final GroupChatUser client,
47 47
             final String type, final String message) {
48 48
         super(channel);
49 49
         this.client = client;

+ 4
- 4
src/com/dmdirc/events/ChannelDisplayableEvent.java Parādīt failu

@@ -22,8 +22,8 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
26 25
 import com.dmdirc.FrameContainer;
26
+import com.dmdirc.interfaces.GroupChat;
27 27
 
28 28
 import java.util.Optional;
29 29
 import java.util.concurrent.atomic.AtomicReference;
@@ -38,11 +38,11 @@ public abstract class ChannelDisplayableEvent extends ChannelEvent implements Di
38 38
     /** The properties associated with this event. */
39 39
     private final DisplayPropertyMap properties = new DisplayPropertyMap();
40 40
 
41
-    public ChannelDisplayableEvent(final long timestamp, final Channel channel) {
41
+    public ChannelDisplayableEvent(final long timestamp, final GroupChat channel) {
42 42
         super(timestamp, channel);
43 43
     }
44 44
 
45
-    public ChannelDisplayableEvent(final Channel channel) {
45
+    public ChannelDisplayableEvent(final GroupChat channel) {
46 46
         super(channel);
47 47
     }
48 48
 
@@ -73,7 +73,7 @@ public abstract class ChannelDisplayableEvent extends ChannelEvent implements Di
73 73
 
74 74
     @Override
75 75
     public FrameContainer getSource() {
76
-        return getChannel();
76
+        return getChannel().getWindowModel();
77 77
     }
78 78
 
79 79
 }

+ 3
- 3
src/com/dmdirc/events/ChannelDisplayableUserEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public abstract class ChannelDisplayableUserEvent extends ChannelUserEvent {
32 32
 
33
-    public ChannelDisplayableUserEvent(final long timestamp, final Channel channel,
33
+    public ChannelDisplayableUserEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser user) {
35 35
         super(timestamp, channel, user);
36 36
     }
37 37
 
38
-    public ChannelDisplayableUserEvent(final Channel channel, final GroupChatUser user) {
38
+    public ChannelDisplayableUserEvent(final GroupChat channel, final GroupChatUser user) {
39 39
         super(channel, user);
40 40
     }
41 41
 

+ 9
- 9
src/com/dmdirc/events/ChannelEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 
27 27
 import static com.google.common.base.Preconditions.checkNotNull;
28 28
 
@@ -31,20 +31,20 @@ import static com.google.common.base.Preconditions.checkNotNull;
31 31
  */
32 32
 public abstract class ChannelEvent extends DMDircEvent {
33 33
 
34
-    /** The channel that this event occurred on. */
35
-    private final Channel channel;
34
+    /** The group chat that this event occurred on. */
35
+    private final GroupChat groupChat;
36 36
 
37
-    public ChannelEvent(final long timestamp, final Channel channel) {
37
+    public ChannelEvent(final long timestamp, final GroupChat groupChat) {
38 38
         super(timestamp);
39
-        this.channel = checkNotNull(channel);
39
+        this.groupChat = checkNotNull(groupChat);
40 40
     }
41 41
 
42
-    public ChannelEvent(final Channel channel) {
43
-        this.channel = checkNotNull(channel);
42
+    public ChannelEvent(final GroupChat groupChat) {
43
+        this.groupChat = checkNotNull(groupChat);
44 44
     }
45 45
 
46
-    public Channel getChannel() {
47
-        return channel;
46
+    public GroupChat getChannel() {
47
+        return groupChat;
48 48
     }
49 49
 
50 50
 }

+ 3
- 3
src/com/dmdirc/events/ChannelGotNamesEvent.java Parādīt failu

@@ -22,18 +22,18 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 
27 27
 /**
28 28
  * Fired when a channel names event is received.
29 29
  */
30 30
 public class ChannelGotNamesEvent extends ChannelEvent {
31 31
 
32
-    public ChannelGotNamesEvent(final long timestamp, final Channel channel) {
32
+    public ChannelGotNamesEvent(final long timestamp, final GroupChat channel) {
33 33
         super(timestamp, channel);
34 34
     }
35 35
 
36
-    public ChannelGotNamesEvent(final Channel channel) {
36
+    public ChannelGotNamesEvent(final GroupChat channel) {
37 37
         super(channel);
38 38
     }
39 39
 

+ 3
- 3
src/com/dmdirc/events/ChannelGotTopicEvent.java Parādīt failu

@@ -22,8 +22,8 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
26 25
 import com.dmdirc.Topic;
26
+import com.dmdirc.interfaces.GroupChat;
27 27
 import com.dmdirc.interfaces.User;
28 28
 
29 29
 /**
@@ -34,14 +34,14 @@ public class ChannelGotTopicEvent extends ChannelDisplayableEvent {
34 34
     private final Topic topic;
35 35
     private final User user;
36 36
 
37
-    public ChannelGotTopicEvent(final long timestamp, final Channel channel, final Topic topic,
37
+    public ChannelGotTopicEvent(final long timestamp, final GroupChat channel, final Topic topic,
38 38
             final User user) {
39 39
         super(timestamp, channel);
40 40
         this.topic = topic;
41 41
         this.user = user;
42 42
     }
43 43
 
44
-    public ChannelGotTopicEvent(final Channel channel, final Topic topic, final User user) {
44
+    public ChannelGotTopicEvent(final GroupChat channel, final Topic topic, final User user) {
45 45
         super(channel);
46 46
         this.topic = topic;
47 47
         this.user = user;

+ 3
- 3
src/com/dmdirc/events/ChannelJoinEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -32,13 +32,13 @@ public class ChannelJoinEvent extends ChannelDisplayableEvent {
32 32
 
33 33
     private final GroupChatUser client;
34 34
 
35
-    public ChannelJoinEvent(final long timestamp, final Channel channel,
35
+    public ChannelJoinEvent(final long timestamp, final GroupChat channel,
36 36
             final GroupChatUser client) {
37 37
         super(timestamp, channel);
38 38
         this.client = client;
39 39
     }
40 40
 
41
-    public ChannelJoinEvent(final Channel channel, final GroupChatUser client) {
41
+    public ChannelJoinEvent(final GroupChat channel, final GroupChatUser client) {
42 42
         super(channel);
43 43
         this.client = client;
44 44
     }

+ 3
- 3
src/com/dmdirc/events/ChannelKickEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -34,7 +34,7 @@ public class ChannelKickEvent extends ChannelDisplayableEvent {
34 34
     private final GroupChatUser victim;
35 35
     private final String reason;
36 36
 
37
-    public ChannelKickEvent(final long timestamp, final Channel channel,
37
+    public ChannelKickEvent(final long timestamp, final GroupChat channel,
38 38
             final GroupChatUser client, final GroupChatUser victim, final String reason) {
39 39
         super(timestamp, channel);
40 40
         this.client = client;
@@ -42,7 +42,7 @@ public class ChannelKickEvent extends ChannelDisplayableEvent {
42 42
         this.reason = reason;
43 43
     }
44 44
 
45
-    public ChannelKickEvent(final Channel channel,
45
+    public ChannelKickEvent(final GroupChat channel,
46 46
             final GroupChatUser client, final GroupChatUser victim, final String reason) {
47 47
         super(channel);
48 48
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelListModesRetrievedEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 
27 27
 /**
28 28
  * Fired when channel list modes are retrieved.
@@ -31,13 +31,13 @@ public class ChannelListModesRetrievedEvent extends ChannelDisplayableEvent {
31 31
 
32 32
     private final char mode;
33 33
 
34
-    public ChannelListModesRetrievedEvent(final long timestamp, final Channel channel,
34
+    public ChannelListModesRetrievedEvent(final long timestamp, final GroupChat channel,
35 35
             final char mode) {
36 36
         super(timestamp, channel);
37 37
         this.mode = mode;
38 38
     }
39 39
 
40
-    public ChannelListModesRetrievedEvent(final Channel channel, final char mode) {
40
+    public ChannelListModesRetrievedEvent(final GroupChat channel, final char mode) {
41 41
         super(channel);
42 42
         this.mode = mode;
43 43
     }

+ 3
- 3
src/com/dmdirc/events/ChannelMessageEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class ChannelMessageEvent extends BaseChannelMessageEvent {
32 32
 
33
-    public ChannelMessageEvent(final long timestamp, final Channel channel,
33
+    public ChannelMessageEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser client, final String message) {
35 35
         super(timestamp, channel, client, message);
36 36
     }
37 37
 
38
-    public ChannelMessageEvent(final Channel channel, final GroupChatUser client,
38
+    public ChannelMessageEvent(final GroupChat channel, final GroupChatUser client,
39 39
             final String message) {
40 40
         super(channel, client, message);
41 41
     }

+ 3
- 3
src/com/dmdirc/events/ChannelModeChangeEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -33,14 +33,14 @@ public class ChannelModeChangeEvent extends ChannelDisplayableEvent {
33 33
     private final GroupChatUser client;
34 34
     private final String modes;
35 35
 
36
-    public ChannelModeChangeEvent(final long timestamp, final Channel channel,
36
+    public ChannelModeChangeEvent(final long timestamp, final GroupChat channel,
37 37
             final GroupChatUser client, final String modes) {
38 38
         super(timestamp, channel);
39 39
         this.client = client;
40 40
         this.modes = modes;
41 41
     }
42 42
 
43
-    public ChannelModeChangeEvent(final Channel channel, final GroupChatUser client,
43
+    public ChannelModeChangeEvent(final GroupChat channel, final GroupChatUser client,
44 44
             final String modes) {
45 45
         super(channel);
46 46
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelModeNoticeEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -34,7 +34,7 @@ public class ChannelModeNoticeEvent extends ChannelDisplayableEvent {
34 34
     private final String prefix;
35 35
     private final String message;
36 36
 
37
-    public ChannelModeNoticeEvent(final long timestamp, final Channel channel,
37
+    public ChannelModeNoticeEvent(final long timestamp, final GroupChat channel,
38 38
             final GroupChatUser client, final String prefix, final String message) {
39 39
         super(timestamp, channel);
40 40
         this.client = client;
@@ -42,7 +42,7 @@ public class ChannelModeNoticeEvent extends ChannelDisplayableEvent {
42 42
         this.message = message;
43 43
     }
44 44
 
45
-    public ChannelModeNoticeEvent(final Channel channel, final GroupChatUser client,
45
+    public ChannelModeNoticeEvent(final GroupChat channel, final GroupChatUser client,
46 46
             final String prefix, final String message) {
47 47
         super(channel);
48 48
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelModesDiscoveredEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 
27 27
 /**
28 28
  * Fired when channel modes are discovered.
@@ -31,13 +31,13 @@ public class ChannelModesDiscoveredEvent extends ChannelDisplayableEvent {
31 31
 
32 32
     private final String modes;
33 33
 
34
-    public ChannelModesDiscoveredEvent(final long timestamp, final Channel channel,
34
+    public ChannelModesDiscoveredEvent(final long timestamp, final GroupChat channel,
35 35
             final String modes) {
36 36
         super(timestamp, channel);
37 37
         this.modes = modes;
38 38
     }
39 39
 
40
-    public ChannelModesDiscoveredEvent(final Channel channel, final String modes) {
40
+    public ChannelModesDiscoveredEvent(final GroupChat channel, final String modes) {
41 41
         super(channel);
42 42
         this.modes = modes;
43 43
     }

+ 3
- 3
src/com/dmdirc/events/ChannelNickChangeEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -33,14 +33,14 @@ public class ChannelNickChangeEvent extends ChannelDisplayableEvent {
33 33
     private final GroupChatUser client;
34 34
     private final String oldNick;
35 35
 
36
-    public ChannelNickChangeEvent(final long timestamp, final Channel channel,
36
+    public ChannelNickChangeEvent(final long timestamp, final GroupChat channel,
37 37
             final GroupChatUser client, final String oldNick) {
38 38
         super(timestamp, channel);
39 39
         this.client = client;
40 40
         this.oldNick = oldNick;
41 41
     }
42 42
 
43
-    public ChannelNickChangeEvent(final Channel channel, final GroupChatUser client,
43
+    public ChannelNickChangeEvent(final GroupChat channel, final GroupChatUser client,
44 44
             final String oldNick) {
45 45
         super(channel);
46 46
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelNoTopicEvent.java Parādīt failu

@@ -22,18 +22,18 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 
27 27
 /**
28 28
  * Fired when a topic is unset on a channel.
29 29
  */
30 30
 public class ChannelNoTopicEvent extends ChannelDisplayableEvent {
31 31
 
32
-    public ChannelNoTopicEvent(final long timestamp, final Channel channel) {
32
+    public ChannelNoTopicEvent(final long timestamp, final GroupChat channel) {
33 33
         super(timestamp, channel);
34 34
     }
35 35
 
36
-    public ChannelNoTopicEvent(final Channel channel) {
36
+    public ChannelNoTopicEvent(final GroupChat channel) {
37 37
         super(channel);
38 38
     }
39 39
 

+ 3
- 3
src/com/dmdirc/events/ChannelNoticeEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class ChannelNoticeEvent extends BaseChannelTextEvent {
32 32
 
33
-    public ChannelNoticeEvent(final long timestamp, final Channel channel,
33
+    public ChannelNoticeEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser client, final String message) {
35 35
         super(timestamp, channel, client, message);
36 36
     }
37 37
 
38
-    public ChannelNoticeEvent(final Channel channel, final GroupChatUser client,
38
+    public ChannelNoticeEvent(final GroupChat channel, final GroupChatUser client,
39 39
             final String message) {
40 40
         super(channel, client, message);
41 41
     }

+ 2
- 2
src/com/dmdirc/events/ChannelOpenedEvent.java Parādīt failu

@@ -22,14 +22,14 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 
27 27
 /**
28 28
  * Event raised when a channel is opened.
29 29
  */
30 30
 public class ChannelOpenedEvent extends ChannelDisplayableEvent {
31 31
 
32
-    public ChannelOpenedEvent(final Channel channel) {
32
+    public ChannelOpenedEvent(final GroupChat channel) {
33 33
         super(channel);
34 34
     }
35 35
 

+ 3
- 3
src/com/dmdirc/events/ChannelPartEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -33,14 +33,14 @@ public class ChannelPartEvent extends ChannelDisplayableEvent {
33 33
     private final GroupChatUser client;
34 34
     private final String message;
35 35
 
36
-    public ChannelPartEvent(final long timestamp, final Channel channel,
36
+    public ChannelPartEvent(final long timestamp, final GroupChat channel,
37 37
             final GroupChatUser client, final String message) {
38 38
         super(timestamp, channel);
39 39
         this.client = client;
40 40
         this.message = message;
41 41
     }
42 42
 
43
-    public ChannelPartEvent(final Channel channel, final GroupChatUser client,
43
+    public ChannelPartEvent(final GroupChat channel, final GroupChatUser client,
44 44
             final String message) {
45 45
         super(channel);
46 46
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelQuitEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -33,14 +33,14 @@ public class ChannelQuitEvent extends ChannelDisplayableEvent {
33 33
     private final GroupChatUser client;
34 34
     private final String message;
35 35
 
36
-    public ChannelQuitEvent(final long timestamp, final Channel channel,
36
+    public ChannelQuitEvent(final long timestamp, final GroupChat channel,
37 37
             final GroupChatUser client, final String message) {
38 38
         super(timestamp, channel);
39 39
         this.client = client;
40 40
         this.message = message;
41 41
     }
42 42
 
43
-    public ChannelQuitEvent(final Channel channel, final GroupChatUser client,
43
+    public ChannelQuitEvent(final GroupChat channel, final GroupChatUser client,
44 44
             final String message) {
45 45
         super(channel);
46 46
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelSelfActionEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class ChannelSelfActionEvent extends BaseChannelActionEvent {
32 32
 
33
-    public ChannelSelfActionEvent(final long timestamp, final Channel channel,
33
+    public ChannelSelfActionEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser client, final String message) {
35 35
         super(timestamp, channel, client, message);
36 36
     }
37 37
 
38
-    public ChannelSelfActionEvent(final Channel channel, final GroupChatUser client,
38
+    public ChannelSelfActionEvent(final GroupChat channel, final GroupChatUser client,
39 39
             final String message) {
40 40
         super(channel, client, message);
41 41
     }

+ 3
- 3
src/com/dmdirc/events/ChannelSelfJoinEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.User;
27 27
 
28 28
 /**
@@ -32,13 +32,13 @@ public class ChannelSelfJoinEvent extends ChannelDisplayableEvent {
32 32
 
33 33
     private final User client;
34 34
 
35
-    public ChannelSelfJoinEvent(final long timestamp, final Channel channel,
35
+    public ChannelSelfJoinEvent(final long timestamp, final GroupChat channel,
36 36
             final User client) {
37 37
         super(timestamp, channel);
38 38
         this.client = client;
39 39
     }
40 40
 
41
-    public ChannelSelfJoinEvent(final Channel channel, final User client) {
41
+    public ChannelSelfJoinEvent(final GroupChat channel, final User client) {
42 42
         super(channel);
43 43
         this.client = client;
44 44
     }

+ 3
- 3
src/com/dmdirc/events/ChannelSelfMessageEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class ChannelSelfMessageEvent extends BaseChannelMessageEvent {
32 32
 
33
-    public ChannelSelfMessageEvent(final long timestamp, final Channel channel,
33
+    public ChannelSelfMessageEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser client, final String message) {
35 35
         super(timestamp, channel, client, message);
36 36
     }
37 37
 
38
-    public ChannelSelfMessageEvent(final Channel channel, final GroupChatUser client,
38
+    public ChannelSelfMessageEvent(final GroupChat channel, final GroupChatUser client,
39 39
             final String message) {
40 40
         super(channel, client, message);
41 41
     }

+ 3
- 3
src/com/dmdirc/events/ChannelSelfModeChangeEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class ChannelSelfModeChangeEvent extends ChannelModeChangeEvent {
32 32
 
33
-    public ChannelSelfModeChangeEvent(final long timestamp, final Channel channel,
33
+    public ChannelSelfModeChangeEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser client, final String modes) {
35 35
         super(timestamp, channel, client, modes);
36 36
     }
37 37
 
38
-    public ChannelSelfModeChangeEvent(final Channel channel, final GroupChatUser client,
38
+    public ChannelSelfModeChangeEvent(final GroupChat channel, final GroupChatUser client,
39 39
             final String modes) {
40 40
         super(channel, client, modes);
41 41
     }

+ 3
- 3
src/com/dmdirc/events/ChannelSelfNickChangeEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -33,14 +33,14 @@ public class ChannelSelfNickChangeEvent extends ChannelDisplayableEvent {
33 33
     private final GroupChatUser client;
34 34
     private final String oldNick;
35 35
 
36
-    public ChannelSelfNickChangeEvent(final long timestamp, final Channel channel,
36
+    public ChannelSelfNickChangeEvent(final long timestamp, final GroupChat channel,
37 37
             final GroupChatUser client, final String oldNick) {
38 38
         super(timestamp, channel);
39 39
         this.client = client;
40 40
         this.oldNick = oldNick;
41 41
     }
42 42
 
43
-    public ChannelSelfNickChangeEvent(final Channel channel, final GroupChatUser client,
43
+    public ChannelSelfNickChangeEvent(final GroupChat channel, final GroupChatUser client,
44 44
             final String oldNick) {
45 45
         super(channel);
46 46
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelSelfPartEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -33,14 +33,14 @@ public class ChannelSelfPartEvent extends ChannelDisplayableEvent {
33 33
     private final GroupChatUser client;
34 34
     private final String message;
35 35
 
36
-    public ChannelSelfPartEvent(final long timestamp, final Channel channel,
36
+    public ChannelSelfPartEvent(final long timestamp, final GroupChat channel,
37 37
             final GroupChatUser client, final String message) {
38 38
         super(timestamp, channel);
39 39
         this.client = client;
40 40
         this.message = message;
41 41
     }
42 42
 
43
-    public ChannelSelfPartEvent(final Channel channel, final GroupChatUser client,
43
+    public ChannelSelfPartEvent(final GroupChat channel, final GroupChatUser client,
44 44
             final String message) {
45 45
         super(channel);
46 46
         this.client = client;

+ 3
- 3
src/com/dmdirc/events/ChannelTopicChangeEvent.java Parādīt failu

@@ -22,8 +22,8 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
26 25
 import com.dmdirc.Topic;
26
+import com.dmdirc.interfaces.GroupChat;
27 27
 import com.dmdirc.interfaces.GroupChatUser;
28 28
 
29 29
 /**
@@ -34,14 +34,14 @@ public class ChannelTopicChangeEvent extends ChannelDisplayableEvent {
34 34
     private final Topic topic;
35 35
     private final GroupChatUser user;
36 36
 
37
-    public ChannelTopicChangeEvent(final long timestamp, final Channel channel,
37
+    public ChannelTopicChangeEvent(final long timestamp, final GroupChat channel,
38 38
             final Topic topic, final GroupChatUser user) {
39 39
         super(timestamp, channel);
40 40
         this.topic = topic;
41 41
         this.user = user;
42 42
     }
43 43
 
44
-    public ChannelTopicChangeEvent(final Channel channel, final Topic topic,
44
+    public ChannelTopicChangeEvent(final GroupChat channel, final Topic topic,
45 45
             final GroupChatUser user) {
46 46
         super(channel);
47 47
         this.topic = topic;

+ 3
- 3
src/com/dmdirc/events/ChannelTopicUnsetEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -32,13 +32,13 @@ public class ChannelTopicUnsetEvent extends ChannelDisplayableEvent {
32 32
 
33 33
     private final GroupChatUser client;
34 34
 
35
-    public ChannelTopicUnsetEvent(final long timestamp, final Channel channel,
35
+    public ChannelTopicUnsetEvent(final long timestamp, final GroupChat channel,
36 36
             final GroupChatUser client) {
37 37
         super(timestamp, channel);
38 38
         this.client = client;
39 39
     }
40 40
 
41
-    public ChannelTopicUnsetEvent(final Channel channel, final GroupChatUser client) {
41
+    public ChannelTopicUnsetEvent(final GroupChat channel, final GroupChatUser client) {
42 42
         super(channel);
43 43
         this.client = client;
44 44
     }

+ 3
- 3
src/com/dmdirc/events/ChannelUserAwayEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class ChannelUserAwayEvent extends ChannelUserEvent {
32 32
 
33
-    public ChannelUserAwayEvent(final long timestamp, final Channel channel,
33
+    public ChannelUserAwayEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser user) {
35 35
         super(timestamp, channel, user);
36 36
     }
37 37
 
38
-    public ChannelUserAwayEvent(final Channel channel, final GroupChatUser user) {
38
+    public ChannelUserAwayEvent(final GroupChat channel, final GroupChatUser user) {
39 39
         super(channel, user);
40 40
     }
41 41
 

+ 3
- 3
src/com/dmdirc/events/ChannelUserBackEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -30,12 +30,12 @@ import com.dmdirc.interfaces.GroupChatUser;
30 30
  */
31 31
 public class ChannelUserBackEvent extends ChannelUserEvent {
32 32
 
33
-    public ChannelUserBackEvent(final long timestamp, final Channel channel,
33
+    public ChannelUserBackEvent(final long timestamp, final GroupChat channel,
34 34
             final GroupChatUser user) {
35 35
         super(timestamp, channel, user);
36 36
     }
37 37
 
38
-    public ChannelUserBackEvent(final Channel channel, final GroupChatUser user) {
38
+    public ChannelUserBackEvent(final GroupChat channel, final GroupChatUser user) {
39 39
         super(channel, user);
40 40
     }
41 41
 

+ 3
- 3
src/com/dmdirc/events/ChannelUserEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -32,13 +32,13 @@ public abstract class ChannelUserEvent extends ChannelDisplayableEvent {
32 32
 
33 33
     private final GroupChatUser user;
34 34
 
35
-    public ChannelUserEvent(final long timestamp, final Channel channel,
35
+    public ChannelUserEvent(final long timestamp, final GroupChat channel,
36 36
             final GroupChatUser user) {
37 37
         super(timestamp, channel);
38 38
         this.user = user;
39 39
     }
40 40
 
41
-    public ChannelUserEvent(final Channel channel, final GroupChatUser user) {
41
+    public ChannelUserEvent(final GroupChat channel, final GroupChatUser user) {
42 42
         super(channel);
43 43
         this.user = user;
44 44
     }

+ 3
- 3
src/com/dmdirc/events/ChannelUserModeChangeEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -34,7 +34,7 @@ public class ChannelUserModeChangeEvent extends ChannelDisplayableEvent {
34 34
     private final GroupChatUser victim;
35 35
     private final String modes;
36 36
 
37
-    public ChannelUserModeChangeEvent(final long timestamp, final Channel channel,
37
+    public ChannelUserModeChangeEvent(final long timestamp, final GroupChat channel,
38 38
             final GroupChatUser user, final GroupChatUser victim, final String modes) {
39 39
         super(timestamp, channel);
40 40
         this.user = user;
@@ -42,7 +42,7 @@ public class ChannelUserModeChangeEvent extends ChannelDisplayableEvent {
42 42
         this.modes = modes;
43 43
     }
44 44
 
45
-    public ChannelUserModeChangeEvent(final Channel channel, final GroupChatUser user,
45
+    public ChannelUserModeChangeEvent(final GroupChat channel, final GroupChatUser user,
46 46
             final GroupChatUser victim, final String modes) {
47 47
         super(channel);
48 48
         this.user = user;

+ 2
- 1
src/com/dmdirc/events/ClientInfoRequestEvent.java Parādīt failu

@@ -25,6 +25,7 @@ package com.dmdirc.events;
25 25
 import com.dmdirc.ui.core.about.InfoItem;
26 26
 
27 27
 import java.util.ArrayList;
28
+import java.util.Collection;
28 29
 import java.util.Collections;
29 30
 import java.util.List;
30 31
 
@@ -43,7 +44,7 @@ public class ClientInfoRequestEvent extends DMDircEvent {
43 44
         Collections.addAll(this.newItems, newItems);
44 45
     }
45 46
 
46
-    public List<InfoItem> getNewInfoItems() {
47
+    public Collection<InfoItem> getNewInfoItems() {
47 48
         return Collections.unmodifiableList(newItems);
48 49
     }
49 50
 }

+ 3
- 3
src/com/dmdirc/events/NickListClientAddedEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -32,13 +32,13 @@ public class NickListClientAddedEvent extends NickListEvent {
32 32
 
33 33
     private final GroupChatUser user;
34 34
 
35
-    public NickListClientAddedEvent(final long timestamp, final Channel channel,
35
+    public NickListClientAddedEvent(final long timestamp, final GroupChat channel,
36 36
             final GroupChatUser user) {
37 37
         super(timestamp, channel);
38 38
         this.user = user;
39 39
     }
40 40
 
41
-    public NickListClientAddedEvent(final Channel channel, final GroupChatUser user) {
41
+    public NickListClientAddedEvent(final GroupChat channel, final GroupChatUser user) {
42 42
         super(channel);
43 43
         this.user = user;
44 44
     }

+ 3
- 3
src/com/dmdirc/events/NickListClientRemovedEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
@@ -32,13 +32,13 @@ public class NickListClientRemovedEvent extends NickListEvent {
32 32
 
33 33
     private final GroupChatUser user;
34 34
 
35
-    public NickListClientRemovedEvent(final long timestamp, final Channel channel,
35
+    public NickListClientRemovedEvent(final long timestamp, final GroupChat channel,
36 36
             final GroupChatUser user) {
37 37
         super(timestamp, channel);
38 38
         this.user = user;
39 39
     }
40 40
 
41
-    public NickListClientRemovedEvent(final Channel channel, final GroupChatUser user) {
41
+    public NickListClientRemovedEvent(final GroupChat channel, final GroupChatUser user) {
42 42
         super(channel);
43 43
         this.user = user;
44 44
     }

+ 3
- 3
src/com/dmdirc/events/NickListClientsChangedEvent.java Parādīt failu

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 import com.google.common.collect.Lists;
@@ -37,13 +37,13 @@ public class NickListClientsChangedEvent extends NickListEvent {
37 37
 
38 38
     private final Collection<GroupChatUser> users;
39 39
 
40
-    public NickListClientsChangedEvent(final long timestamp, final Channel channel,
40
+    public NickListClientsChangedEvent(final long timestamp, final GroupChat channel,
41 41
             final Iterable<GroupChatUser> users) {
42 42
         super(timestamp, channel);
43 43
         this.users = Lists.newArrayList(users);
44 44
     }
45 45
 
46
-    public NickListClientsChangedEvent(final Channel channel,
46
+    public NickListClientsChangedEvent(final GroupChat channel,
47 47
             final Iterable<GroupChatUser> users) {
48 48
         super(channel);
49 49
         this.users = Lists.newArrayList(users);

+ 2
- 3
src/com/dmdirc/events/NickListEvent.java Parādīt failu

@@ -1,6 +1,5 @@
1 1
 package com.dmdirc.events;
2 2
 
3
-import com.dmdirc.Channel;
4 3
 import com.dmdirc.interfaces.GroupChat;
5 4
 
6 5
 /**
@@ -8,11 +7,11 @@ import com.dmdirc.interfaces.GroupChat;
8 7
  */
9 8
 public abstract class NickListEvent extends ChannelEvent {
10 9
 
11
-    public NickListEvent(final long timestamp, final Channel channel) {
10
+    public NickListEvent(final long timestamp, final GroupChat channel) {
12 11
         super(timestamp, channel);
13 12
     }
14 13
 
15
-    public NickListEvent(final Channel channel) {
14
+    public NickListEvent(final GroupChat channel) {
16 15
         super(channel);
17 16
     }
18 17
 }

+ 3
- 3
src/com/dmdirc/events/NickListUpdatedEvent.java Parādīt failu

@@ -22,18 +22,18 @@
22 22
 
23 23
 package com.dmdirc.events;
24 24
 
25
-import com.dmdirc.Channel;
25
+import com.dmdirc.interfaces.GroupChat;
26 26
 
27 27
 /**
28 28
  * Fired when the properties of the users in a list changes.
29 29
  */
30 30
 public class NickListUpdatedEvent extends NickListEvent {
31 31
 
32
-    public NickListUpdatedEvent(final long timestamp, final Channel channel) {
32
+    public NickListUpdatedEvent(final long timestamp, final GroupChat channel) {
33 33
         super(timestamp, channel);
34 34
     }
35 35
 
36
-    public NickListUpdatedEvent(final Channel channel) {
36
+    public NickListUpdatedEvent(final GroupChat channel) {
37 37
         super(channel);
38 38
     }
39 39
 }

+ 7
- 0
src/com/dmdirc/interfaces/GroupChat.java Parādīt failu

@@ -58,6 +58,13 @@ public interface GroupChat extends Chat {
58 58
      */
59 59
     int getMaxTopicLength();
60 60
 
61
+    /**
62
+     * Refreshes the list of clients stored by this channel. Should be called when (visible) user
63
+     * modes or nicknames change.
64
+     */
65
+    // TODO: Should probably not need this.
66
+    void refreshClients();
67
+
61 68
     /**
62 69
      * Retrieve the topics that have been seen on this channel.
63 70
      *

+ 98
- 0
test/com/dmdirc/commandparser/aliases/AliasLoaderTest.java Parādīt failu

@@ -0,0 +1,98 @@
1
+/*
2
+ * Copyright (c) 2006-2015 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.commandparser.aliases;
24
+
25
+import com.google.common.collect.Sets;
26
+
27
+import java.util.Set;
28
+
29
+import org.junit.Before;
30
+import org.junit.Test;
31
+import org.junit.runner.RunWith;
32
+import org.mockito.Mock;
33
+import org.mockito.runners.MockitoJUnitRunner;
34
+
35
+import static org.mockito.Matchers.anySetOf;
36
+import static org.mockito.Mockito.never;
37
+import static org.mockito.Mockito.verify;
38
+import static org.mockito.Mockito.when;
39
+
40
+@RunWith(MockitoJUnitRunner.class)
41
+public class AliasLoaderTest {
42
+
43
+    @Mock private AliasManager aliasManager;
44
+    @Mock private AliasStore aliasStore;
45
+    @Mock private Alias alias1;
46
+    @Mock private Alias alias2;
47
+    @Mock private Alias alias3;
48
+
49
+    private Set<Alias> aliases;
50
+    private AliasLoader loader;
51
+
52
+    @Before
53
+    public void setup() {
54
+        loader = new AliasLoader(aliasManager, aliasStore);
55
+        aliases = Sets.newHashSet(alias1, alias2, alias3);
56
+    }
57
+
58
+    @Test
59
+    public void testLoadPreservesDirtyState() {
60
+        when(aliasManager.isDirty()).thenReturn(true);
61
+        when(aliasStore.readAliases()).thenReturn(aliases);
62
+        loader.load();
63
+        verify(aliasManager).setDirty(true);
64
+    }
65
+
66
+    @Test
67
+    public void testLoadAddsEachAlias() {
68
+        when(aliasStore.readAliases()).thenReturn(aliases);
69
+        loader.load();
70
+        verify(aliasManager).addAlias(alias1);
71
+        verify(aliasManager).addAlias(alias2);
72
+        verify(aliasManager).addAlias(alias3);
73
+    }
74
+
75
+    @Test
76
+    public void testSaveDoesNotWriteIfManagerNotDirty() {
77
+        when(aliasManager.isDirty()).thenReturn(false);
78
+        loader.save();
79
+        verify(aliasStore, never()).writeAliases(anySetOf(Alias.class));
80
+    }
81
+
82
+    @Test
83
+    public void testSaveSetsDirtyToFalse() {
84
+        when(aliasManager.isDirty()).thenReturn(true);
85
+        when(aliasManager.getAliases()).thenReturn(aliases);
86
+        loader.save();
87
+        verify(aliasManager).setDirty(false);
88
+    }
89
+
90
+    @Test
91
+    public void testSaveSavesAliases() {
92
+        when(aliasManager.isDirty()).thenReturn(true);
93
+        when(aliasManager.getAliases()).thenReturn(aliases);
94
+        loader.save();
95
+        verify(aliasStore).writeAliases(aliases);
96
+    }
97
+
98
+}

+ 101
- 0
test/com/dmdirc/commandparser/aliases/DefaultAliasInstallerTest.java Parādīt failu

@@ -0,0 +1,101 @@
1
+/*
2
+ * Copyright (c) 2006-2015 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.commandparser.aliases;
24
+
25
+import com.dmdirc.DMDircMBassador;
26
+import com.dmdirc.events.AppErrorEvent;
27
+
28
+import com.google.common.jimfs.Configuration;
29
+import com.google.common.jimfs.Jimfs;
30
+
31
+import java.io.IOException;
32
+import java.nio.file.FileSystem;
33
+import java.nio.file.Files;
34
+import java.nio.file.Path;
35
+
36
+import org.junit.After;
37
+import org.junit.Before;
38
+import org.junit.Test;
39
+import org.junit.runner.RunWith;
40
+import org.mockito.Mock;
41
+import org.mockito.runners.MockitoJUnitRunner;
42
+
43
+import static java.nio.file.attribute.PosixFilePermissions.asFileAttribute;
44
+import static java.nio.file.attribute.PosixFilePermissions.fromString;
45
+import static org.junit.Assert.assertFalse;
46
+import static org.junit.Assert.assertTrue;
47
+import static org.mockito.Matchers.any;
48
+import static org.mockito.Matchers.isA;
49
+import static org.mockito.Mockito.never;
50
+import static org.mockito.Mockito.verify;
51
+
52
+@RunWith(MockitoJUnitRunner.class)
53
+public class DefaultAliasInstallerTest {
54
+
55
+    @Mock private DMDircMBassador eventBus;
56
+
57
+    private FileSystem fs;
58
+    private Path path;
59
+
60
+    private DefaultAliasInstaller installer;
61
+
62
+    @Before
63
+    public void setup() {
64
+        fs = Jimfs.newFileSystem(Configuration.unix().toBuilder()
65
+                .setAttributeViews("posix").build());
66
+        path = fs.getPath("aliases.yml");
67
+
68
+        installer = new DefaultAliasInstaller(path, eventBus);
69
+    }
70
+
71
+    @After
72
+    public void tearDown() throws IOException {
73
+        fs.close();
74
+    }
75
+
76
+    @Test
77
+    public void testNeedsMigrationIfFileDoesntExist() {
78
+        assertTrue(installer.needsMigration());
79
+    }
80
+
81
+    @Test
82
+    public void testNeedsMigrationIfFileExist() throws IOException {
83
+        Files.createFile(path);
84
+        assertFalse(installer.needsMigration());
85
+    }
86
+
87
+    @Test
88
+    public void testCopiesDefaultAliases() throws IOException {
89
+        installer.migrate();
90
+        assertTrue(Files.exists(path));
91
+        verify(eventBus, never()).publish(any());
92
+    }
93
+
94
+    @Test
95
+    public void testRaisesErrorIfCannotCopyDefaultAliases() throws IOException {
96
+        Files.createFile(path, asFileAttribute(fromString("r--r--r--")));
97
+        installer.migrate();
98
+        verify(eventBus).publish(isA(AppErrorEvent.class));
99
+    }
100
+
101
+}

+ 4
- 7
test/com/dmdirc/commandparser/commands/channel/BanTest.java Parādīt failu

@@ -30,7 +30,6 @@ import com.dmdirc.interfaces.CommandController;
30 30
 import com.dmdirc.interfaces.Connection;
31 31
 import com.dmdirc.interfaces.GroupChatUser;
32 32
 import com.dmdirc.interfaces.User;
33
-import com.dmdirc.parser.interfaces.ChannelInfo;
34 33
 
35 34
 import java.util.Optional;
36 35
 
@@ -56,12 +55,10 @@ public class BanTest {
56 55
     @Mock private Channel channel;
57 56
     @Mock private CommandController controller;
58 57
     @Mock private FrameContainer container;
59
-    @Mock private ChannelInfo channelInfo;
60 58
     private Ban command;
61 59
 
62 60
     @Before
63 61
     public void setup() {
64
-        when(channel.getChannelInfo()).thenReturn(channelInfo);
65 62
         when(channel.getConnection()).thenReturn(Optional.of(connection));
66 63
         when(connection.getUser("user")).thenReturn(user1);
67 64
         when(connection.getUser("*!*@my.host.name")).thenReturn(user2);
@@ -87,8 +84,8 @@ public class BanTest {
87 84
         command.execute(container, new CommandArguments(controller, "/ban user"),
88 85
                 new ChannelCommandContext(null, Ban.INFO, channel));
89 86
 
90
-        verify(channelInfo).alterMode(true, 'b', "*!*@HOSTNAME");
91
-        verify(channelInfo).flushModes();
87
+        verify(channel).setMode('b', "*!*@HOSTNAME");
88
+        verify(channel).flushModes();
92 89
     }
93 90
 
94 91
     /** Tests that the ban command works if given a mask not a username. */
@@ -97,7 +94,7 @@ public class BanTest {
97 94
         command.execute(container, new CommandArguments(controller, "/ban *!*@my.host.name"),
98 95
                 new ChannelCommandContext(null, Ban.INFO, channel));
99 96
 
100
-        verify(channelInfo).alterMode(true, 'b', "*!*@my.host.name");
101
-        verify(channelInfo).flushModes();
97
+        verify(channel).setMode('b', "*!*@my.host.name");
98
+        verify(channel).flushModes();
102 99
     }
103 100
 }

+ 3
- 6
test/com/dmdirc/commandparser/commands/channel/ModeTest.java Parādīt failu

@@ -29,7 +29,6 @@ import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
29 29
 import com.dmdirc.config.InvalidIdentityFileException;
30 30
 import com.dmdirc.interfaces.CommandController;
31 31
 import com.dmdirc.interfaces.Connection;
32
-import com.dmdirc.parser.interfaces.ChannelInfo;
33 32
 import com.dmdirc.parser.interfaces.Parser;
34 33
 
35 34
 import java.util.Optional;
@@ -48,7 +47,6 @@ public class ModeTest {
48 47
 
49 48
     @Mock private FrameContainer origin;
50 49
     @Mock private CommandController controller;
51
-    @Mock private ChannelInfo channelinfo;
52 50
     @Mock private Channel channel;
53 51
     @Mock private Connection connection;
54 52
     @Mock private Parser parser;
@@ -58,9 +56,8 @@ public class ModeTest {
58 56
     public void setUp() throws InvalidIdentityFileException {
59 57
         when(channel.getConnection()).thenReturn(Optional.of(connection));
60 58
         when(connection.getParser()).thenReturn(Optional.of(parser));
61
-        when(channel.getChannelInfo()).thenReturn(channelinfo);
62
-        when(channelinfo.getModes()).thenReturn("my mode string!");
63
-        when(channelinfo.toString()).thenReturn("#chan");
59
+        when(channel.getModes()).thenReturn("my mode string!");
60
+        when(channel.getName()).thenReturn("#chan");
64 61
 
65 62
         command = new Mode(controller);
66 63
     }
@@ -70,7 +67,7 @@ public class ModeTest {
70 67
         command.execute(origin, new CommandArguments(controller, "/mode"),
71 68
                 new ChannelCommandContext(null, Mode.INFO, channel));
72 69
 
73
-        verify(origin).addLine("channelModeDiscovered", "my mode string!", channelinfo);
70
+        verify(origin).addLine("channelModeDiscovered", "my mode string!", channel);
74 71
     }
75 72
 
76 73
     @Test

Notiek ielāde…
Atcelt
Saglabāt