Browse Source

Merge pull request #768 from csmith/master

Remove config dependency on ClientInfo.
pull/769/head
Greg Holmes 7 years ago
parent
commit
b515700546

+ 3
- 9
src/main/java/com/dmdirc/config/ConfigManager.java View File

@@ -22,7 +22,6 @@ import com.dmdirc.config.provider.AggregateConfigProvider;
22 22
 import com.dmdirc.config.provider.ConfigChangeListener;
23 23
 import com.dmdirc.config.provider.ConfigProvider;
24 24
 import com.dmdirc.config.provider.ConfigProviderMigrator;
25
-import com.dmdirc.util.ClientInfo;
26 25
 import com.dmdirc.util.validators.Validator;
27 26
 import com.google.common.collect.ArrayListMultimap;
28 27
 import com.google.common.collect.Multimap;
@@ -56,8 +55,6 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
56 55
     private final ConfigBinder binder;
57 56
     /** The manager to use to fetch global state. */
58 57
     private final IdentityManager manager;
59
-    /** Client info object. */
60
-    private final ClientInfo clientInfo;
61 58
     /** The protocol this manager is for. */
62 59
     private String protocol;
63 60
     /** The ircd this manager is for. */
@@ -81,11 +78,10 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
81 78
      * @since 0.6.3
82 79
      */
83 80
     ConfigManager(
84
-            final ClientInfo clientInfo,
85 81
             final IdentityManager manager,
86 82
             final String protocol, final String ircd,
87 83
             final String network, final String server) {
88
-        this(clientInfo, manager, protocol, ircd, network, server, "<Unknown>");
84
+        this(manager, protocol, ircd, network, server, "<Unknown>");
89 85
     }
90 86
 
91 87
     /**
@@ -101,13 +97,11 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
101 97
      * @since 0.6.3
102 98
      */
103 99
     ConfigManager(
104
-            final ClientInfo clientInfo,
105 100
             final IdentityManager manager,
106 101
             final String protocol, final String ircd,
107 102
             final String network, final String server, final String channel) {
108 103
         final String chanName = channel + '@' + network;
109 104
 
110
-        this.clientInfo = clientInfo;
111 105
         this.manager = manager;
112 106
         this.protocol = protocol;
113 107
         this.ircd = ircd;
@@ -129,7 +123,7 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
129 123
         doStats(domain, option);
130 124
 
131 125
         if (VERSION_DOMAIN.equals(domain)) {
132
-            final String response = clientInfo.getVersionConfigSetting(VERSION_DOMAIN, option);
126
+            final String response = manager.getVersionSettings().getOption(VERSION_DOMAIN, option);
133 127
             if (response == null || validator.validate(response).isFailure()) {
134 128
                 return null;
135 129
             }
@@ -153,7 +147,7 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
153 147
         doStats(domain, option);
154 148
 
155 149
         if (VERSION_DOMAIN.equals(domain)) {
156
-            final String response = clientInfo.getVersionConfigSetting(VERSION_DOMAIN, option);
150
+            final String response = manager.getVersionSettings().getOption(VERSION_DOMAIN, option);
157 151
             return response != null && !validator.validate(response).isFailure();
158 152
         }
159 153
 

+ 3
- 9
src/main/java/com/dmdirc/config/ConfigModule.java View File

@@ -24,20 +24,16 @@ import com.dmdirc.interfaces.config.IdentityController;
24 24
 import com.dmdirc.interfaces.config.IdentityFactory;
25 25
 import com.dmdirc.logger.ErrorManager;
26 26
 import com.dmdirc.ui.WarningDialog;
27
-import com.dmdirc.util.ClientInfo;
28
-
27
+import dagger.Module;
28
+import dagger.Provides;
29 29
 import java.awt.GraphicsEnvironment;
30 30
 import java.io.IOException;
31 31
 import java.nio.file.Files;
32 32
 import java.nio.file.Path;
33 33
 import java.text.SimpleDateFormat;
34 34
 import java.util.Date;
35
-
36 35
 import javax.inject.Singleton;
37 36
 
38
-import dagger.Module;
39
-import dagger.Provides;
40
-
41 37
 import static com.dmdirc.commandline.CommandLineOptionsModule.Directory;
42 38
 import static com.dmdirc.commandline.CommandLineOptionsModule.DirectoryType;
43 39
 
@@ -55,10 +51,8 @@ public class ConfigModule {
55 51
             @Directory(DirectoryType.IDENTITIES) final Path identitiesDirectory,
56 52
             @Directory(DirectoryType.ERRORS) final Path errorsDirectory,
57 53
             final CommandLineParser commandLineParser,
58
-            final ClientInfo clientInfo,
59 54
             final ErrorManager errorManager) {
60
-        final IdentityManager identityManager = new IdentityManager(baseDirectory,
61
-                identitiesDirectory, clientInfo);
55
+        final IdentityManager identityManager = new IdentityManager(baseDirectory, identitiesDirectory);
62 56
         errorManager.initialise(identityManager.getGlobalConfiguration());
63 57
         identityManager.loadVersionIdentity();
64 58
         try {

+ 5
- 22
src/main/java/com/dmdirc/config/IdentityManager.java View File

@@ -17,20 +17,16 @@
17 17
 
18 18
 package com.dmdirc.config;
19 19
 
20
-import com.dmdirc.Precondition;
21 20
 import com.dmdirc.config.provider.AggregateConfigProvider;
22 21
 import com.dmdirc.config.provider.ConfigProvider;
23 22
 import com.dmdirc.config.provider.ConfigProviderMigrator;
24 23
 import com.dmdirc.interfaces.config.IdentityController;
25 24
 import com.dmdirc.interfaces.config.IdentityFactory;
26
-import com.dmdirc.util.ClientInfo;
27 25
 import com.dmdirc.util.io.ConfigFile;
28 26
 import com.dmdirc.util.io.FileUtils;
29 27
 import com.dmdirc.util.io.InvalidConfigFileException;
30
-
31 28
 import com.google.common.collect.ArrayListMultimap;
32 29
 import com.google.common.collect.Multimap;
33
-
34 30
 import java.io.IOException;
35 31
 import java.lang.ref.WeakReference;
36 32
 import java.net.URISyntaxException;
@@ -46,7 +42,6 @@ import java.util.Map;
46 42
 import java.util.Objects;
47 43
 import java.util.concurrent.ConcurrentHashMap;
48 44
 import java.util.stream.Collectors;
49
-
50 45
 import org.slf4j.Logger;
51 46
 import org.slf4j.LoggerFactory;
52 47
 
@@ -86,8 +81,6 @@ public class IdentityManager implements IdentityFactory, IdentityController {
86 81
      */
87 82
     private final Multimap<String, WeakReference<ConfigProviderListener>> listeners =
88 83
             ArrayListMultimap.create();
89
-    /** Client info objecty. */
90
-    private final ClientInfo clientInfo;
91 84
     /** The identity file used for the global config. */
92 85
     private ConfigFileBackedConfigProvider config;
93 86
     /** The identity file used for addon defaults. */
@@ -103,11 +96,9 @@ public class IdentityManager implements IdentityFactory, IdentityController {
103 96
      * @param baseDirectory       The BASE config directory.
104 97
      * @param identitiesDirectory The directory to store identities in.
105 98
      */
106
-    public IdentityManager(final Path baseDirectory, final Path identitiesDirectory,
107
-            final ClientInfo clientInfo) {
99
+    public IdentityManager(final Path baseDirectory, final Path identitiesDirectory) {
108 100
         this.configDirectory = baseDirectory;
109 101
         this.identitiesDirectory = identitiesDirectory;
110
-        this.clientInfo = clientInfo;
111 102
     }
112 103
 
113 104
     /**
@@ -203,10 +194,6 @@ public class IdentityManager implements IdentityFactory, IdentityController {
203 194
      *
204 195
      * @param dir The directory to be loaded
205 196
      */
206
-    @Precondition({
207
-        "The specified File is not null",
208
-        "The specified File is a directory"
209
-    })
210 197
     private void loadUser(final Path dir) {
211 198
         checkNotNull(dir);
212 199
         checkArgument(Files.isDirectory(dir));
@@ -648,8 +635,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
648 635
     @Override
649 636
     public ConfigProviderMigrator createMigratableConfig(final String protocol,
650 637
             final String ircd, final String network, final String server) {
651
-        final ConfigManager configManager = new ConfigManager(clientInfo, this, protocol,
652
-                ircd, network, server);
638
+        final ConfigManager configManager = new ConfigManager(this, protocol, ircd, network, server);
653 639
         setUpConfigManager(configManager);
654 640
         return new ConfigManagerMigrator(configManager);
655 641
     }
@@ -657,8 +643,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
657 643
     @Override
658 644
     public ConfigProviderMigrator createMigratableConfig(final String protocol,
659 645
             final String ircd, final String network, final String server, final String channel) {
660
-        final ConfigManager configManager = new ConfigManager(clientInfo, this, protocol,
661
-                ircd, network, server, channel);
646
+        final ConfigManager configManager = new ConfigManager(this, protocol, ircd, network, server, channel);
662 647
         setUpConfigManager(configManager);
663 648
         return new ConfigManagerMigrator(configManager);
664 649
     }
@@ -666,8 +651,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
666 651
     @Override
667 652
     public AggregateConfigProvider createAggregateConfig(final String protocol, final String ircd,
668 653
             final String network, final String server) {
669
-        final ConfigManager configManager = new ConfigManager(clientInfo, this, protocol,
670
-                ircd, network, server);
654
+        final ConfigManager configManager = new ConfigManager(this, protocol, ircd, network, server);
671 655
         setUpConfigManager(configManager);
672 656
         return configManager;
673 657
     }
@@ -675,8 +659,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
675 659
     @Override
676 660
     public AggregateConfigProvider createAggregateConfig(final String protocol, final String ircd,
677 661
             final String network, final String server, final String channel) {
678
-        final ConfigManager configManager = new ConfigManager(clientInfo, this, protocol,
679
-                ircd, network, server, channel);
662
+        final ConfigManager configManager = new ConfigManager(this, protocol, ircd, network, server, channel);
680 663
         setUpConfigManager(configManager);
681 664
         return configManager;
682 665
     }

+ 0
- 5
src/main/java/com/dmdirc/interfaces/config/IdentityFactory.java View File

@@ -17,7 +17,6 @@
17 17
 
18 18
 package com.dmdirc.interfaces.config;
19 19
 
20
-import com.dmdirc.Precondition;
21 20
 import com.dmdirc.config.ConfigTarget;
22 21
 import com.dmdirc.config.provider.AggregateConfigProvider;
23 22
 import com.dmdirc.config.provider.ConfigProvider;
@@ -38,8 +37,6 @@ public interface IdentityFactory {
38 37
      *
39 38
      * @return A config provider for the channel
40 39
      */
41
-    @Precondition({"The specified network is non-null and not empty",
42
-            "The specified channel is non-null and not empty"})
43 40
     ConfigProvider createChannelConfig(String network, String channel);
44 41
 
45 42
     /**
@@ -49,7 +46,6 @@ public interface IdentityFactory {
49 46
      *
50 47
      * @return A config provider for the network
51 48
      */
52
-    @Precondition("The specified network is non-null and not empty")
53 49
     ConfigProvider createNetworkConfig(String network);
54 50
 
55 51
     /**
@@ -59,7 +55,6 @@ public interface IdentityFactory {
59 55
      *
60 56
      * @return A config provider for the server
61 57
      */
62
-    @Precondition("The specified server is non-null and not empty")
63 58
     ConfigProvider createServerConfig(String server);
64 59
 
65 60
     /**

+ 4
- 7
src/test/java/com/dmdirc/config/ConfigManagerTest.java View File

@@ -23,9 +23,7 @@
23 23
 package com.dmdirc.config;
24 24
 
25 25
 import com.dmdirc.config.provider.ConfigChangeListener;
26
-import com.dmdirc.util.ClientInfo;
27 26
 import com.dmdirc.util.validators.PermissiveValidator;
28
-
29 27
 import org.junit.Test;
30 28
 import org.junit.runner.RunWith;
31 29
 import org.mockito.Mock;
@@ -43,17 +41,16 @@ import static org.mockito.Mockito.verify;
43 41
 public class ConfigManagerTest {
44 42
 
45 43
     @Mock private IdentityManager identityManager;
46
-    @Mock private ClientInfo clientInfo;
47 44
 
48 45
     @Test
49 46
     public void testNonExistantOption() {
50
-        assertNull(new ConfigManager(clientInfo, identityManager, "", "", "", "")
47
+        assertNull(new ConfigManager(identityManager, "", "", "", "")
51 48
                 .getOption("unit-test123", "foobar"));
52 49
     }
53 50
 
54 51
     @Test
55 52
     public void testStats() {
56
-        final ConfigManager cm = new ConfigManager(clientInfo, identityManager, "", "", "", "");
53
+        final ConfigManager cm = new ConfigManager(identityManager, "", "", "", "");
57 54
         assertNull(ConfigManager.getStats().get("unit-test123.baz"));
58 55
         cm.hasOption("unit-test123", "baz", new PermissiveValidator<>());
59 56
         assertNotNull(ConfigManager.getStats().get("unit-test123.baz"));
@@ -63,7 +60,7 @@ public class ConfigManagerTest {
63 60
     @Test
64 61
     public void testDomainListener() {
65 62
         final ConfigChangeListener listener = mock(ConfigChangeListener.class);
66
-        final ConfigManager cm = new ConfigManager(clientInfo, identityManager, "", "", "", "");
63
+        final ConfigManager cm = new ConfigManager(identityManager, "", "", "", "");
67 64
         cm.addChangeListener("unit-test", listener);
68 65
 
69 66
         cm.configChanged("foo", "bar");
@@ -76,7 +73,7 @@ public class ConfigManagerTest {
76 73
     @Test
77 74
     public void testDomainKeyListener() {
78 75
         final ConfigChangeListener listener = mock(ConfigChangeListener.class);
79
-        final ConfigManager cm = new ConfigManager(clientInfo, identityManager, "", "", "", "");
76
+        final ConfigManager cm = new ConfigManager(identityManager, "", "", "", "");
80 77
         cm.addChangeListener("unit-test", "foo", listener);
81 78
 
82 79
         cm.configChanged("foo", "bar");

+ 3
- 12
src/test/java/com/dmdirc/config/IdentityManagerTest.java View File

@@ -24,17 +24,13 @@ package com.dmdirc.config;
24 24
 
25 25
 import com.dmdirc.config.provider.ConfigProvider;
26 26
 import com.dmdirc.tests.JimFsRule;
27
-import com.dmdirc.util.ClientInfo;
28
-
29 27
 import java.nio.file.Files;
30 28
 import java.nio.file.Path;
31 29
 import java.util.Collection;
32
-
33 30
 import org.junit.Before;
34 31
 import org.junit.Rule;
35 32
 import org.junit.Test;
36 33
 import org.junit.runner.RunWith;
37
-import org.mockito.Mock;
38 34
 import org.mockito.runners.MockitoJUnitRunner;
39 35
 
40 36
 import static org.junit.Assert.assertEquals;
@@ -45,8 +41,6 @@ public class IdentityManagerTest {
45 41
 
46 42
     @Rule public final JimFsRule jimFsRule = new JimFsRule();
47 43
 
48
-    @Mock private ClientInfo clientInfo;
49
-
50 44
     private Path baseDirectory;
51 45
     private Path identitiesDirectory;
52 46
 
@@ -58,8 +52,7 @@ public class IdentityManagerTest {
58 52
 
59 53
     @Test
60 54
     public void testLoadsVersionIdentity() throws InvalidIdentityFileException {
61
-        final IdentityManager identityManager = new IdentityManager(
62
-                baseDirectory, identitiesDirectory, clientInfo);
55
+        final IdentityManager identityManager = new IdentityManager(baseDirectory, identitiesDirectory);
63 56
         identityManager.initialise();
64 57
 
65 58
         final ConfigFileBackedConfigProvider versionSettings =
@@ -71,8 +64,7 @@ public class IdentityManagerTest {
71 64
 
72 65
     @Test
73 66
     public void testUsesSystemUsernameForProfileNickname() throws InvalidIdentityFileException {
74
-        final IdentityManager identityManager = new IdentityManager(
75
-                baseDirectory, identitiesDirectory, clientInfo);
67
+        final IdentityManager identityManager = new IdentityManager(baseDirectory, identitiesDirectory);
76 68
         identityManager.initialise();
77 69
 
78 70
         System.setProperty("user.name", "Awesome User");
@@ -86,8 +78,7 @@ public class IdentityManagerTest {
86 78
         Files.copy(getClass().getResourceAsStream("profile-new"),
87 79
                 identitiesDirectory.resolve("profile"));
88 80
 
89
-        final IdentityManager identityManager = new IdentityManager(
90
-                baseDirectory, identitiesDirectory, clientInfo);
81
+        final IdentityManager identityManager = new IdentityManager(baseDirectory, identitiesDirectory);
91 82
         identityManager.initialise();
92 83
 
93 84
         final Collection<ConfigProvider> profiles = identityManager.getProvidersByType("profile");

Loading…
Cancel
Save