1 package org.simantics.maps.prefs;
3 import java.net.MalformedURLException;
6 import org.eclipse.core.runtime.preferences.IEclipsePreferences;
7 import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
8 import org.eclipse.core.runtime.preferences.InstanceScope;
10 public class MapsClientPreferences {
12 public static final String P_NODE = "org.simantics.district.maps";
14 public static final String P_TILESERVER_URL = "org.simantics.district.maps.prefs.tileserverURL";
15 public static final String P_USE_BUILTIN = "org.simantics.district.maps.prefs.tileserverURL";
17 // TODO: fix this, currently copied from MapsServerPreferences
18 public static final String P_DEFAULT_PORT = "org.simantics.maps.server.defaultPort";
19 public static final String P_CURRENT_MBTILES = "org.simantics.maps.server.currentMbTiles";
20 public static final String P_CURRENT_TM2STYLE = "org.simantics.maps.server.currentTM2Style";
21 public static final String P_SERVER_NODE = "org.simantics.maps.server";
23 public static IEclipsePreferences getServerPreferences() {
24 return InstanceScope.INSTANCE.getNode(P_SERVER_NODE);
27 public static IEclipsePreferences getPreferences() {
28 return InstanceScope.INSTANCE.getNode(P_NODE);
31 public static String tileserverURL() {
32 return getPreferences().get(P_TILESERVER_URL, "");
35 public static boolean useBuiltinServer() {
36 return getPreferences().getBoolean(P_USE_BUILTIN, true);
39 public static String possibleBuiltinServerURL() {
40 int port = getServerPreferences().getInt(P_DEFAULT_PORT, 8585);
41 String style = getServerPreferences().get(P_CURRENT_TM2STYLE, "mapbox-studio-osm-bright.tm2");
42 if (port != -1 && style != null) {
44 return new URL("http", "localhost", port, "/" + style).toString();
45 } catch (MalformedURLException e) {
46 throw new RuntimeException(e);
52 public static void addPreferenceChangeListenerMapsServer(IPreferenceChangeListener listener) {
53 getServerPreferences().addPreferenceChangeListener(listener);
56 public static void removePreferenceChangeListenerMapsServer(IPreferenceChangeListener listener) {
57 getServerPreferences().removePreferenceChangeListener(listener);