]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/src/org/simantics/district/maps/server/prefs/MapsServerInitializer.java
Some cleaning and fixing of district functionalities
[simantics/district.git] / org.simantics.maps.server / src / org / simantics / district / maps / server / prefs / MapsServerInitializer.java
index 7fa25dd82da095483451e7acafd69188da319f57..365a9ee8bc5ca401baeb5067fca9d7e247795eb7 100644 (file)
@@ -1,6 +1,10 @@
 package org.simantics.district.maps.server.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;
 
 public class MapsServerInitializer extends AbstractPreferenceInitializer {
@@ -9,8 +13,17 @@ public class MapsServerInitializer extends AbstractPreferenceInitializer {
     public void initializeDefaultPreferences() {
         Preferences node = MapsServerPreferences.getPreferences();
         
-        node.putBoolean(MapsServerPreferences.P_START_AUTOMATICALLY, true);
-        node.putInt(MapsServerPreferences.P_DEFAULT_PORT, 8080);
+        try {
+            String[] keys = node.keys();
+            List<String> keyss = Arrays.asList(keys);
+            if (!keyss.contains(MapsServerPreferences.P_START_AUTOMATICALLY)) {
+                node.putBoolean(MapsServerPreferences.P_START_AUTOMATICALLY, true);
+            }
+            if (!keyss.contains(MapsServerPreferences.P_DEFAULT_PORT)) {
+                node.putInt(MapsServerPreferences.P_DEFAULT_PORT, 8080);
+            }
+        } catch (BackingStoreException e) {
+            e.printStackTrace();
+        }
     }
-
 }