]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server.ui/src/org/simantics/maps/server/ui/Activator.java
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server.ui / src / org / simantics / maps / server / ui / Activator.java
diff --git a/org.simantics.maps.server.ui/src/org/simantics/maps/server/ui/Activator.java b/org.simantics.maps.server.ui/src/org/simantics/maps/server/ui/Activator.java
new file mode 100644 (file)
index 0000000..cd46e1a
--- /dev/null
@@ -0,0 +1,52 @@
+package org.simantics.maps.server.ui;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.simantics.district.maps.server.TileserverMapnikInstance;
+import org.simantics.district.maps.server.prefs.MapsServerPreferences;
+
+public class Activator implements BundleActivator {
+
+    public static final String PLUGIN_ID = "org.simantics.maps.server.ui";
+    
+    private static BundleContext context;
+
+    static BundleContext getContext() {
+        return context;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.
+     * BundleContext)
+     */
+    public void start(BundleContext bundleContext) throws Exception {
+        Activator.context = bundleContext;
+        
+        // Let's see if server should be automatically started
+        if (MapsServerPreferences.startAutomatically()) {
+            // execute in a separate thread to not slow down the startup process
+            new Thread(() -> {
+                try {
+                    TileserverMapnikInstance.get().start();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }).start();
+        }
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+     */
+    public void stop(BundleContext bundleContext) throws Exception {
+        // Stop the server
+        TileserverMapnikInstance.get().stop();
+        Activator.context = null;
+    }
+
+}