package org.simantics.maps.prefs; import java.util.Arrays; import java.util.List; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; 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 = 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); } } }