]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.maps/src/org/simantics/maps/prefs/MapsClientPreferenceInitializer.java
Hide "enabled" column for non-component type tech type tables
[simantics/district.git] / org.simantics.district.maps / src / org / simantics / maps / prefs / MapsClientPreferenceInitializer.java
index 3350ebb2ef46ffa66bca7fd561c84f31cdd55ea8..fd946d9f20fd6247e00ff070dc5868443e788c3e 100644 (file)
@@ -1,17 +1,36 @@
 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;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class MapsClientPreferenceInitializer extends AbstractPreferenceInitializer {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(MapsClientPreferenceInitializer.class);
+
     public MapsClientPreferenceInitializer() {
     }
 
     @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) {
+            LOGGER.error("Could not get keys for node {}", node, e);
+        }
     }
 }