mirror of
https://github.com/angryip/ipscan.git
synced 2025-10-26 11:18:17 +00:00
bugfix: not-existing fetchers in preferences will not result in crashes anymore
git-svn-id: https://ipscan.svn.sourceforge.net/svnroot/ipscan/trunk@234 375186e5-ef17-0410-b0b6-91563547dcda
This commit is contained in:
parent
8650cf8667
commit
90b9741fd4
@ -29,3 +29,4 @@ ctrl
|
||||
compiz
|
||||
placeholder
|
||||
firewall
|
||||
registry
|
||||
|
||||
@ -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<String, Fetcher>(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);
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user