X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=org.simantics.district.maps%2Fsrc%2Forg%2Fsimantics%2Fmaps%2Fprefs%2FMapsClientPreferenceInitializer.java;h=fd946d9f20fd6247e00ff070dc5868443e788c3e;hb=HEAD;hp=3350ebb2ef46ffa66bca7fd561c84f31cdd55ea8;hpb=55f42e7fcc2f6733082ab8c150efe3a2b54ff22b;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.maps/src/org/simantics/maps/prefs/MapsClientPreferenceInitializer.java b/org.simantics.district.maps/src/org/simantics/maps/prefs/MapsClientPreferenceInitializer.java index 3350ebb2..fd946d9f 100644 --- a/org.simantics.district.maps/src/org/simantics/maps/prefs/MapsClientPreferenceInitializer.java +++ b/org.simantics.district.maps/src/org/simantics/maps/prefs/MapsClientPreferenceInitializer.java @@ -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 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); + } } }