]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.maps/src/org/simantics/maps/prefs/MapsClientPreferenceInitializer.java
Make background map preference changes apply immediately
[simantics/district.git] / org.simantics.district.maps / src / org / simantics / maps / prefs / MapsClientPreferenceInitializer.java
1 package org.simantics.maps.prefs;
2
3 import java.util.Arrays;
4 import java.util.List;
5
6 import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
7 import org.osgi.service.prefs.BackingStoreException;
8 import org.osgi.service.prefs.Preferences;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
11
12 public class MapsClientPreferenceInitializer extends AbstractPreferenceInitializer {
13
14     private static final Logger LOGGER = LoggerFactory.getLogger(MapsClientPreferenceInitializer.class);
15
16     public MapsClientPreferenceInitializer() {
17     }
18
19     @Override
20     public void initializeDefaultPreferences() {
21         Preferences node = MapsClientPreferences.getPreferences();
22
23         try {
24             String[] keys = node.keys();
25             List<String> keyss = Arrays.asList(keys);
26             if (!keyss.contains(MapsClientPreferences.P_TILESERVER_URL) && node.get(MapsClientPreferences.P_TILESERVER_URL, "").isEmpty()) {
27                 String possibleBuiltin = MapsClientPreferences.possibleBuiltinServerURL();
28                 if (possibleBuiltin == null)
29                     possibleBuiltin = "";
30                 node.put(MapsClientPreferences.P_TILESERVER_URL, possibleBuiltin);
31             }
32         } catch (BackingStoreException e) {
33             LOGGER.error("Could not get keys for node {}", node, e);
34         }
35     }
36 }