]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.maps/src/org/simantics/maps/prefs/MapsClientPreferenceInitializer.java
Some cleaning and fixing of district functionalities
[simantics/district.git] / org.simantics.district.maps / src / org / simantics / maps / prefs / MapsClientPreferenceInitializer.java
index 3350ebb2ef46ffa66bca7fd561c84f31cdd55ea8..2f0e61c93b4b9b6a9967da98b2339ea262222b88 100644 (file)
@@ -1,7 +1,10 @@
 package org.simantics.maps.prefs;
 
+import java.util.Arrays;
+import java.util.List;
+
 import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.osgi.service.prefs.BackingStoreException;
 import org.osgi.service.prefs.Preferences;
 
 public class MapsClientPreferenceInitializer extends AbstractPreferenceInitializer {
@@ -11,7 +14,19 @@ public class MapsClientPreferenceInitializer extends AbstractPreferenceInitializ
 
     @Override
     public void initializeDefaultPreferences() {
-        Preferences node = DefaultScope.INSTANCE.getNode(MapsClientPreferences.P_NODE);
-        node.put(MapsClientPreferences.P_TILESERVER_URL, "http://localhost:8088");
+        Preferences node = MapsClientPreferences.getPreferences();
+        
+        try {
+            String[] keys = node.keys();
+            List<String> keyss = Arrays.asList(keys);
+            if (!keyss.contains(MapsClientPreferences.P_TILESERVER_URL) && node.get(MapsClientPreferences.P_TILESERVER_URL, "").isEmpty()) {
+                String possibleBuiltin = MapsClientPreferences.possibleBuiltinServerURL();
+                if (possibleBuiltin == null)
+                    possibleBuiltin = "";
+                node.put(MapsClientPreferences.P_TILESERVER_URL, possibleBuiltin);
+            }
+        } catch (BackingStoreException e) {
+            e.printStackTrace();
+        }
     }
 }