Sfoglia il codice sorgente

Merge pull request #708 from csmith/config-iface

Remove ConfigTarget from interfaces.
pull/709/head
Greg Holmes 7 anni fa
parent
commit
2216fb721f

src/main/java/com/dmdirc/interfaces/LifecycleController.java → api/src/main/java/com/dmdirc/interfaces/LifecycleController.java Vedi File


+ 1
- 3
src/main/java/com/dmdirc/config/ConfigFileBackedConfigProvider.java Vedi File

@@ -271,7 +271,6 @@ public class ConfigFileBackedConfigProvider implements ConfigProvider {
271 271
         }
272 272
     }
273 273
 
274
-    @Override
275 274
     public boolean isProfile() {
276 275
         return (hasOptionString(PROFILE_DOMAIN, "nicknames")
277 276
                 || hasOptionString(PROFILE_DOMAIN, "nickname"))
@@ -474,7 +473,6 @@ public class ConfigFileBackedConfigProvider implements ConfigProvider {
474 473
         identityManager.removeConfigProvider(this);
475 474
     }
476 475
 
477
-    @Override
478 476
     public ConfigTarget getTarget() {
479 477
         return myTarget;
480 478
     }
@@ -511,7 +509,7 @@ public class ConfigFileBackedConfigProvider implements ConfigProvider {
511 509
     public boolean equals(final Object obj) {
512 510
         return obj instanceof ConfigFileBackedConfigProvider
513 511
                 && getName().equals(((ConfigProvider) obj).getName())
514
-                && getTarget() == ((ConfigProvider) obj).getTarget();
512
+                && getTarget() == ((ConfigFileBackedConfigProvider) obj).getTarget();
515 513
     }
516 514
 
517 515
 }

+ 7
- 7
src/main/java/com/dmdirc/config/ConfigManager.java Vedi File

@@ -58,7 +58,7 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
58 58
     /** Magical domain to redirect to the version identity. */
59 59
     private static final String VERSION_DOMAIN = "version";
60 60
     /** A list of sources for this config manager. */
61
-    private final List<ConfigProvider> sources = new ArrayList<>();
61
+    private final List<ConfigFileBackedConfigProvider> sources = new ArrayList<>();
62 62
     /** The listeners registered for this manager. */
63 63
     private final Multimap<String, ConfigChangeListener> listeners = ArrayListMultimap.create();
64 64
     /** The config binder to use for this manager. */
@@ -255,7 +255,7 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
255 255
      *
256 256
      * @return True if the identity applies, false otherwise
257 257
      */
258
-    public boolean identityApplies(final ConfigProvider identity) {
258
+    public boolean identityApplies(final ConfigFileBackedConfigProvider identity) {
259 259
         final String comp;
260 260
 
261 261
         switch (identity.getTarget().getType()) {
@@ -315,7 +315,7 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
315 315
      *
316 316
      * @param identity The identity to be checked
317 317
      */
318
-    public void checkIdentity(final ConfigProvider identity) {
318
+    public void checkIdentity(final ConfigFileBackedConfigProvider identity) {
319 319
         if (!sources.contains(identity) && identityApplies(identity)) {
320 320
             synchronized (sources) {
321 321
                 sources.add(identity);
@@ -382,8 +382,8 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
382 382
                     removeIdentity(identity);
383 383
                 });
384 384
 
385
-        final List<ConfigProvider> newSources = manager.getIdentitiesForManager(this);
386
-        for (ConfigProvider identity : newSources) {
385
+        final List<ConfigFileBackedConfigProvider> newSources = manager.getIdentitiesForManager(this);
386
+        for (ConfigFileBackedConfigProvider identity : newSources) {
387 387
             LOG.trace("Testing new identity: {}", identity);
388 388
             checkIdentity(identity);
389 389
         }
@@ -468,12 +468,12 @@ class ConfigManager implements ConfigChangeListener, ConfigProviderListener,
468 468
     }
469 469
 
470 470
     @Override
471
-    public void configProviderAdded(final ConfigProvider configProvider) {
471
+    public void configProviderAdded(final ConfigFileBackedConfigProvider configProvider) {
472 472
         checkIdentity(configProvider);
473 473
     }
474 474
 
475 475
     @Override
476
-    public void configProviderRemoved(final ConfigProvider configProvider) {
476
+    public void configProviderRemoved(final ConfigFileBackedConfigProvider configProvider) {
477 477
         removeIdentity(configProvider);
478 478
     }
479 479
 

+ 2
- 2
src/main/java/com/dmdirc/config/ConfigProviderTargetComparator.java Vedi File

@@ -32,10 +32,10 @@ import java.util.Comparator;
32 32
  * A collection sorted by this comparator will have the most specific (tightly scoped) providers
33 33
  * first, and global (loosely scoped) last.
34 34
  */
35
-public class ConfigProviderTargetComparator implements Comparator<ConfigProvider> {
35
+public class ConfigProviderTargetComparator implements Comparator<ConfigFileBackedConfigProvider> {
36 36
 
37 37
     @Override
38
-    public int compare(final ConfigProvider t, final ConfigProvider t1) {
38
+    public int compare(final ConfigFileBackedConfigProvider t, final ConfigFileBackedConfigProvider t1) {
39 39
         return t1.getTarget().compareTo(t.getTarget());
40 40
     }
41 41
 

+ 18
- 18
src/main/java/com/dmdirc/config/IdentityManager.java Vedi File

@@ -81,9 +81,9 @@ public class IdentityManager implements IdentityFactory, IdentityController {
81 81
      * Standard identities are inserted with a {@code null} key, custom identities use their
82 82
      * custom type as the key.
83 83
      */
84
-    private final Multimap<String, ConfigProvider> identities = ArrayListMultimap.create();
84
+    private final Multimap<String, ConfigFileBackedConfigProvider> identities = ArrayListMultimap.create();
85 85
     /** Map of paths to corresponding config providers, to facilitate reloading. */
86
-    private final Map<Path, ConfigProvider> configProvidersByPath = new ConcurrentHashMap<>();
86
+    private final Map<Path, ConfigFileBackedConfigProvider> configProvidersByPath = new ConcurrentHashMap<>();
87 87
     /**
88 88
      * The {@link ConfigProviderListener}s that have registered with this manager.
89 89
      *
@@ -95,11 +95,11 @@ public class IdentityManager implements IdentityFactory, IdentityController {
95 95
     /** Client info objecty. */
96 96
     private final ClientInfo clientInfo;
97 97
     /** The identity file used for the global config. */
98
-    private ConfigProvider config;
98
+    private ConfigFileBackedConfigProvider config;
99 99
     /** The identity file used for addon defaults. */
100
-    private ConfigProvider addonConfig;
100
+    private ConfigFileBackedConfigProvider addonConfig;
101 101
     /** The identity file bundled with the client containing version info. */
102
-    private ConfigProvider versionConfig;
102
+    private ConfigFileBackedConfigProvider versionConfig;
103 103
     /** The config manager used for global settings. */
104 104
     private AggregateConfigProvider globalconfig;
105 105
 
@@ -251,7 +251,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
251 251
         }
252 252
 
253 253
         try {
254
-            final ConfigProvider provider = new ConfigFileBackedConfigProvider(this, file, false);
254
+            final ConfigFileBackedConfigProvider provider = new ConfigFileBackedConfigProvider(this, file, false);
255 255
             addConfigProvider(provider);
256 256
             configProvidersByPath.put(file, provider);
257 257
         } catch (InvalidIdentityFileException ex) {
@@ -268,7 +268,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
268 268
      *
269 269
      * @since 0.6.4
270 270
      */
271
-    private Iterable<ConfigProvider> getAllIdentities() {
271
+    private Iterable<ConfigFileBackedConfigProvider> getAllIdentities() {
272 272
         return identities.values();
273 273
     }
274 274
 
@@ -282,7 +282,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
282 282
      *
283 283
      * @since 0.6.4
284 284
      */
285
-    private String getGroup(final ConfigProvider identity) {
285
+    private String getGroup(final ConfigFileBackedConfigProvider identity) {
286 286
         return identity.getTarget().getType() == ConfigTarget.TYPE.CUSTOM
287 287
                 ? identity.getTarget().getData() : null;
288 288
     }
@@ -345,7 +345,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
345 345
     }
346 346
 
347 347
     @Override
348
-    public void addConfigProvider(final ConfigProvider identity) {
348
+    public void addConfigProvider(final ConfigFileBackedConfigProvider identity) {
349 349
         checkNotNull(identity);
350 350
 
351 351
         final String target = getGroup(identity);
@@ -369,7 +369,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
369 369
     }
370 370
 
371 371
     @Override
372
-    public void removeConfigProvider(final ConfigProvider identity) {
372
+    public void removeConfigProvider(final ConfigFileBackedConfigProvider identity) {
373 373
         checkNotNull(identity);
374 374
 
375 375
         final String group = getGroup(identity);
@@ -377,7 +377,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
377 377
         checkArgument(identities.containsEntry(group, identity));
378 378
 
379 379
         Path path = null;
380
-        for (Map.Entry<Path, ConfigProvider> entry : configProvidersByPath.entrySet()) {
380
+        for (Map.Entry<Path, ConfigFileBackedConfigProvider> entry : configProvidersByPath.entrySet()) {
381 381
             if (entry.getValue() == identity) {
382 382
                 path = entry.getKey();
383 383
             }
@@ -436,8 +436,8 @@ public class IdentityManager implements IdentityFactory, IdentityController {
436 436
      *
437 437
      * @return A list of all matching config sources
438 438
      */
439
-    List<ConfigProvider> getIdentitiesForManager(final ConfigManager manager) {
440
-        final List<ConfigProvider> sources = new ArrayList<>();
439
+    List<ConfigFileBackedConfigProvider> getIdentitiesForManager(final ConfigManager manager) {
440
+        final List<ConfigFileBackedConfigProvider> sources = new ArrayList<>();
441 441
 
442 442
         synchronized (identities) {
443 443
             sources.addAll(identities.get(null).stream()
@@ -476,7 +476,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
476 476
         final String myTarget = (channel + '@' + network).toLowerCase();
477 477
 
478 478
         synchronized (identities) {
479
-            for (ConfigProvider identity : identities.get(null)) {
479
+            for (ConfigFileBackedConfigProvider identity : identities.get(null)) {
480 480
                 if (identity.getTarget().getType() == ConfigTarget.TYPE.CHANNEL
481 481
                         && identity.getTarget().getData().equalsIgnoreCase(myTarget)) {
482 482
                     return identity;
@@ -501,7 +501,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
501 501
         final String myTarget = network.toLowerCase();
502 502
 
503 503
         synchronized (identities) {
504
-            for (ConfigProvider identity : identities.get(null)) {
504
+            for (ConfigFileBackedConfigProvider identity : identities.get(null)) {
505 505
                 if (identity.getTarget().getType() == ConfigTarget.TYPE.NETWORK
506 506
                         && identity.getTarget().getData().equalsIgnoreCase(myTarget)) {
507 507
                     return identity;
@@ -526,7 +526,7 @@ public class IdentityManager implements IdentityFactory, IdentityController {
526 526
         final String myTarget = server.toLowerCase();
527 527
 
528 528
         synchronized (identities) {
529
-            for (ConfigProvider identity : identities.get(null)) {
529
+            for (ConfigFileBackedConfigProvider identity : identities.get(null)) {
530 530
                 if (identity.getTarget().getType() == ConfigTarget.TYPE.SERVER
531 531
                         && identity.getTarget().getData().equalsIgnoreCase(myTarget)) {
532 532
                     return identity;
@@ -643,9 +643,9 @@ public class IdentityManager implements IdentityFactory, IdentityController {
643 643
      * @param configManager The manager to be initialised.
644 644
      */
645 645
     private void setUpConfigManager(final ConfigManager configManager) {
646
-        final List<ConfigProvider> sources = getIdentitiesForManager(configManager);
646
+        final List<ConfigFileBackedConfigProvider> sources = getIdentitiesForManager(configManager);
647 647
 
648
-        for (ConfigProvider identity : sources) {
648
+        for (ConfigFileBackedConfigProvider identity : sources) {
649 649
             LOG.trace("Found {}", identity);
650 650
             configManager.checkIdentity(identity);
651 651
         }

+ 0
- 16
src/main/java/com/dmdirc/interfaces/config/ConfigProvider.java Vedi File

@@ -22,7 +22,6 @@
22 22
 
23 23
 package com.dmdirc.interfaces.config;
24 24
 
25
-import com.dmdirc.config.ConfigTarget;
26 25
 import com.dmdirc.util.io.InvalidConfigFileException;
27 26
 
28 27
 import java.io.IOException;
@@ -63,21 +62,6 @@ public interface ConfigProvider extends ReadOnlyConfigProvider {
63 62
      */
64 63
     String getName();
65 64
 
66
-    /**
67
-     * Retrieves this identity's target.
68
-     *
69
-     * @return The target of this identity
70
-     */
71
-    ConfigTarget getTarget();
72
-
73
-    /**
74
-     * Determines whether this identity can be used as a profile when connecting to a server.
75
-     * Profiles are identities that can supply nick, ident, real name, etc.
76
-     *
77
-     * @return True iff this identity can be used as a profile
78
-     */
79
-    boolean isProfile();
80
-
81 65
     /**
82 66
      * Attempts to reload this identity from disk. If this identity has been modified (i.e.,
83 67
      * {@code needSave} is true), then this method silently returns straight away. All relevant

+ 4
- 2
src/main/java/com/dmdirc/interfaces/config/ConfigProviderListener.java Vedi File

@@ -22,6 +22,8 @@
22 22
 
23 23
 package com.dmdirc.interfaces.config;
24 24
 
25
+import com.dmdirc.config.ConfigFileBackedConfigProvider;
26
+
25 27
 /**
26 28
  * An interface of objects which are interested in config providers being added and removed from the
27 29
  * {@link IdentityController}.
@@ -36,7 +38,7 @@ public interface ConfigProviderListener {
36 38
      *
37 39
      * @param configProvider The configProvider which has been added
38 40
      */
39
-    void configProviderAdded(final ConfigProvider configProvider);
41
+    void configProviderAdded(final ConfigFileBackedConfigProvider configProvider);
40 42
 
41 43
     /**
42 44
      * Called whenever a relevant config provider is removed from the associated
@@ -44,6 +46,6 @@ public interface ConfigProviderListener {
44 46
      *
45 47
      * @param configProvider The configProvider which has been removed
46 48
      */
47
-    void configProviderRemoved(final ConfigProvider configProvider);
49
+    void configProviderRemoved(final ConfigFileBackedConfigProvider configProvider);
48 50
 
49 51
 }

+ 4
- 2
src/main/java/com/dmdirc/interfaces/config/IdentityController.java Vedi File

@@ -22,6 +22,8 @@
22 22
 
23 23
 package com.dmdirc.interfaces.config;
24 24
 
25
+import com.dmdirc.config.ConfigFileBackedConfigProvider;
26
+
25 27
 import java.util.Collection;
26 28
 
27 29
 /**
@@ -85,7 +87,7 @@ public interface IdentityController {
85 87
      *
86 88
      * @param identity The identity to be added
87 89
      */
88
-    void addConfigProvider(ConfigProvider identity);
90
+    void addConfigProvider(final ConfigFileBackedConfigProvider identity);
89 91
 
90 92
     /**
91 93
      * Adds a new identity listener which will be informed of all settings identities which are
@@ -125,6 +127,6 @@ public interface IdentityController {
125 127
      *
126 128
      * @param identity The identity to be removed
127 129
      */
128
-    void removeConfigProvider(ConfigProvider identity);
130
+    void removeConfigProvider(final ConfigFileBackedConfigProvider identity);
129 131
 
130 132
 }

+ 2
- 2
src/main/java/com/dmdirc/plugins/PluginInfo.java Vedi File

@@ -91,7 +91,7 @@ public class PluginInfo implements ServiceProvider {
91 91
     /** Map of exports. */
92 92
     private final Map<String, ExportInfo> exports = new HashMap<>();
93 93
     /** List of configuration providers. */
94
-    private final Collection<ConfigProvider> configProviders = new ArrayList<>();
94
+    private final Collection<ConfigFileBackedConfigProvider> configProviders = new ArrayList<>();
95 95
     /** Event bus to post plugin loaded events to. */
96 96
     private final EventBus eventBus;
97 97
     /** File system for the plugin's jar. */
@@ -264,7 +264,7 @@ public class PluginInfo implements ServiceProvider {
264 264
 
265 265
         try (final InputStream stream = Files.newInputStream(path)) {
266 266
             synchronized (configProviders) {
267
-                final ConfigProvider configProvider =
267
+                final ConfigFileBackedConfigProvider configProvider =
268 268
                         new ConfigFileBackedConfigProvider(stream, false);
269 269
                 identityController.addConfigProvider(configProvider);
270 270
                 configProviders.add(configProvider);

+ 2
- 2
src/test/java/com/dmdirc/config/IdentityManagerTest.java Vedi File

@@ -26,7 +26,6 @@ import com.dmdirc.interfaces.config.ConfigProvider;
26 26
 import com.dmdirc.tests.JimFsRule;
27 27
 import com.dmdirc.util.ClientInfo;
28 28
 
29
-import java.io.IOException;
30 29
 import java.nio.file.Files;
31 30
 import java.nio.file.Path;
32 31
 import java.util.Collection;
@@ -63,7 +62,8 @@ public class IdentityManagerTest {
63 62
                 baseDirectory, identitiesDirectory, clientInfo);
64 63
         identityManager.initialise();
65 64
 
66
-        final ConfigProvider versionSettings = identityManager.getVersionSettings();
65
+        final ConfigFileBackedConfigProvider versionSettings =
66
+                (ConfigFileBackedConfigProvider) identityManager.getVersionSettings();
67 67
         assertNotNull(versionSettings);
68 68
         assertEquals(ConfigTarget.TYPE.GLOBALDEFAULT, versionSettings.getTarget().getType());
69 69
         assertEquals("DMDirc version information", versionSettings.getName());

Loading…
Annulla
Salva