]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.maps/src/org/simantics/maps/prefs/MapsClientPreferences.java
Some cleaning and fixing of district functionalities
[simantics/district.git] / org.simantics.district.maps / src / org / simantics / maps / prefs / MapsClientPreferences.java
index 5ecfe052dd30ffb78571e8cd12c32ff54ebab7e4..75ad19d6471004b0206a006b46c6d6d0a4222c8e 100644 (file)
@@ -1,8 +1,49 @@
 package org.simantics.maps.prefs;
 
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.osgi.service.prefs.Preferences;
+
 public class MapsClientPreferences {
 
     public static final String P_NODE = "org.simantics.district.maps";
     
     public static final String P_TILESERVER_URL = "org.simantics.district.maps.prefs.tileserverURL";
+    public static final String P_USE_BUILTIN = "org.simantics.district.maps.prefs.tileserverURL";
+    
+    // TODO: fix this, currently copied from MapsServerPreferences
+    public static final String P_DEFAULT_PORT = "org.simantics.maps.server.defaultPort";
+    public static final String P_CURRENT_TM2STYLE = "org.simantics.maps.server.currentTM2Style";
+    public static final String P_SERVER_NODE = "org.simantics.maps.server";
+    public static Preferences getServerPreferences() {
+        return InstanceScope.INSTANCE.getNode(P_SERVER_NODE);
+    }
+    
+    public static Preferences getPreferences() {
+        return InstanceScope.INSTANCE.getNode(P_NODE);
+    }
+    
+    public static String tileserverURL() {
+        return getPreferences().get(P_TILESERVER_URL, "");
+    }
+
+    public static boolean useBuiltinServer() {
+        return getPreferences().getBoolean(P_USE_BUILTIN, true);
+    }
+    
+    public static String possibleBuiltinServerURL() {
+        int port = getServerPreferences().getInt(P_DEFAULT_PORT, -1);
+        String style = getServerPreferences().get(P_CURRENT_TM2STYLE, null);
+        if (port != -1 && style != null) {
+            try {
+                return new URL("http", "localhost", port, "/" + style).toString();
+            } catch (MalformedURLException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        return null;
+    }
+
 }