diff --git a/dictionary.txt b/dictionary.txt index 02a8b781..b18c3497 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -29,3 +29,4 @@ ctrl compiz placeholder firewall +registry diff --git a/src/net/azib/ipscan/fetchers/FetcherRegistryImpl.java b/src/net/azib/ipscan/fetchers/FetcherRegistryImpl.java index 4cad23da..27384e6f 100755 --- a/src/net/azib/ipscan/fetchers/FetcherRegistryImpl.java +++ b/src/net/azib/ipscan/fetchers/FetcherRegistryImpl.java @@ -14,8 +14,8 @@ import java.util.Map; import java.util.prefs.Preferences; /** - * Fetcher Registry singleton class. - * Actually, it registers both plugins and builtins. + * Fetcher registry singleton class. + * It registers both plugins and builtins. * * @author Anton Keks */ @@ -59,8 +59,10 @@ public class FetcherRegistryImpl implements FetcherRegistry { selectedFetchers = new LinkedHashMap(registeredFetchers.size()); // initialize saved selected fetchers for (int i = 0; i < fetcherPrefs.length; i++) { - if (fetcherPrefs[i].length() > 0) { - selectedFetchers.put(fetcherPrefs[i], registeredFetchers.get(fetcherPrefs[i])); + Fetcher fetcher = registeredFetchers.get(fetcherPrefs[i]); + // make sure that this fetcher is registered + if (fetcher != null) { + selectedFetchers.put(fetcherPrefs[i], fetcher); } } } @@ -109,7 +111,7 @@ public class FetcherRegistryImpl implements FetcherRegistry { } selectedFetchers = newList; - // invorm observers + // inform observers for (FetcherRegistryUpdateListener listener : updateListeners) { listener.handleUpdateOfSelectedFetchers(this); } diff --git a/test/net/azib/ipscan/fetchers/FetcherRegistryImplTest.java b/test/net/azib/ipscan/fetchers/FetcherRegistryImplTest.java index 2616e0c5..63e96462 100755 --- a/test/net/azib/ipscan/fetchers/FetcherRegistryImplTest.java +++ b/test/net/azib/ipscan/fetchers/FetcherRegistryImplTest.java @@ -78,6 +78,10 @@ public class FetcherRegistryImplTest { Iterator iterator = fetcherRegistry.getSelectedFetchers().iterator(); assertSame(hostnameFetcher, iterator.next()); assertSame(commentFetcher, iterator.next()); + + preferences.put(FetcherRegistryImpl.PREFERENCE_SELECTED_FETCHERS, "not-existing-fetcher###" + hostnameFetcher.getLabel()); + fetcherRegistry = new FetcherRegistryImpl(new Fetcher[] {ipFetcher, hostnameFetcher}, preferences); + assertEquals(1, fetcherRegistry.getSelectedFetchers().size()); } @Test