Explorar el Código

Remove ConfigTarget from interfaces.

This shouldn't be exposed. Internal classes switch to using
the full class rather than the interface, so they can carry
on accessing the removed methods.
pull/708/head
Chris Smith hace 7 años
padre
commit
12b5c1ddd0

src/main/java/com/dmdirc/interfaces/LifecycleController.java → api/src/main/java/com/dmdirc/interfaces/LifecycleController.java Ver fichero


+ 1
- 3
src/main/java/com/dmdirc/config/ConfigFileBackedConfigProvider.java Ver fichero

@@ -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 Ver fichero

@@ -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 Ver fichero

@@ -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 Ver fichero

@@ -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 Ver fichero

@@ -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 Ver fichero

@@ -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 Ver fichero

@@ -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 Ver fichero

@@ -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 Ver fichero

@@ -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…
Cancelar
Guardar