Browse Source

Add a MessageEncoder factory.

Tidy up some Server code based on IDEA inspections.

Change-Id: Icdcdbecb6500fc08f24a5f8d15b36078c14e24d4
Reviewed-on: http://gerrit.dmdirc.com/3692
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
pull/1/head
Chris Smith 9 years ago
parent
commit
223cb69bba

+ 1
- 4
src/com/dmdirc/MessageEncoder.java View File

@@ -26,8 +26,6 @@ import com.dmdirc.events.UserErrorEvent;
26 26
 import com.dmdirc.logger.ErrorLevel;
27 27
 import com.dmdirc.parser.interfaces.Encoder;
28 28
 import com.dmdirc.parser.interfaces.Parser;
29
-import com.dmdirc.util.annotations.factory.Factory;
30
-import com.dmdirc.util.annotations.factory.Unbound;
31 29
 
32 30
 import com.google.common.eventbus.EventBus;
33 31
 
@@ -37,7 +35,6 @@ import java.io.UnsupportedEncodingException;
37 35
  * An {@link Encoder} implementation that reads the desired encoding from the relevant target's
38 36
  * config file.
39 37
  */
40
-@Factory(inject = true)
41 38
 public class MessageEncoder implements Encoder {
42 39
 
43 40
     /** The server that owns this encoder. */
@@ -54,7 +51,7 @@ public class MessageEncoder implements Encoder {
54 51
      * @param parser   The parser that this encoder will work for
55 52
      * @param eventBus The event bus to post errors to.
56 53
      */
57
-    public MessageEncoder(@Unbound final Server server, @Unbound final Parser parser,
54
+    public MessageEncoder(final Server server, final Parser parser,
58 55
             final EventBus eventBus) {
59 56
         this.server = server;
60 57
         this.parser = parser;

+ 27
- 0
src/com/dmdirc/MessageEncoderFactory.java View File

@@ -0,0 +1,27 @@
1
+package com.dmdirc;
2
+
3
+import com.dmdirc.parser.interfaces.Parser;
4
+
5
+import com.google.common.eventbus.EventBus;
6
+
7
+import javax.inject.Inject;
8
+import javax.inject.Singleton;
9
+
10
+/**
11
+ * Factory for {@link MessageEncoder}s.
12
+ */
13
+@Singleton
14
+public class MessageEncoderFactory {
15
+
16
+    private final EventBus eventBus;
17
+
18
+    @Inject
19
+    public MessageEncoderFactory(final EventBus eventBus) {
20
+        this.eventBus = eventBus;
21
+    }
22
+
23
+    public MessageEncoder getMessageEncoder(final Server server, final Parser parser) {
24
+        return new MessageEncoder(server, parser, eventBus);
25
+    }
26
+
27
+}

+ 4
- 17
src/com/dmdirc/Server.java View File

@@ -749,11 +749,7 @@ public class Server extends FrameContainer implements ConfigChangeListener,
749 749
             return parser.compareURI(uri);
750 750
         }
751 751
 
752
-        if (oldParser != null) {
753
-            return oldParser.compareURI(uri);
754
-        }
755
-
756
-        return false;
752
+        return oldParser != null && oldParser.compareURI(uri);
757 753
     }
758 754
 
759 755
     @Override
@@ -924,11 +920,7 @@ public class Server extends FrameContainer implements ConfigChangeListener,
924 920
         synchronized (myStateLock) {
925 921
             try {
926 922
                 parserLock.readLock().lock();
927
-                if (parser == null) {
928
-                    return false;
929
-                } else {
930
-                    return getNetwork().equalsIgnoreCase(target);
931
-                }
923
+                return parser != null && getNetwork().equalsIgnoreCase(target);
932 924
             } finally {
933 925
                 parserLock.readLock().unlock();
934 926
             }
@@ -1355,11 +1347,6 @@ public class Server extends FrameContainer implements ConfigChangeListener,
1355 1347
                         + "connecting\n\n" + myState.getTransitionHistory());
1356 1348
             }
1357 1349
 
1358
-            if (myState.getState() != ServerState.CONNECTING) {
1359
-                // We've transitioned while waiting for the lock. Just abort.
1360
-                return;
1361
-            }
1362
-
1363 1350
             myState.transition(ServerState.CONNECTED);
1364 1351
 
1365 1352
             configMigrator.migrate(address.getScheme(),
@@ -1397,8 +1384,8 @@ public class Server extends FrameContainer implements ConfigChangeListener,
1397 1384
                 + parser.getParameterChannelModes() + parser.getDoubleParameterChannelModes();
1398 1385
         final String umodes = parser.getUserModes();
1399 1386
 
1400
-        final StringBuffer missingModes = new StringBuffer();
1401
-        final StringBuffer missingUmodes = new StringBuffer();
1387
+        final StringBuilder missingModes = new StringBuilder();
1388
+        final StringBuilder missingUmodes = new StringBuilder();
1402 1389
 
1403 1390
         for (char mode : modes.toCharArray()) {
1404 1391
             if (!getConfigManager().hasOptionString(DOMAIN_SERVER, "mode" + mode)) {

Loading…
Cancel
Save