]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/src/org/simantics/district/maps/server/Activator.java
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / src / org / simantics / district / maps / server / Activator.java
diff --git a/org.simantics.maps.server/src/org/simantics/district/maps/server/Activator.java b/org.simantics.maps.server/src/org/simantics/district/maps/server/Activator.java
new file mode 100644 (file)
index 0000000..eaeda86
--- /dev/null
@@ -0,0 +1,54 @@
+package org.simantics.district.maps.server;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+    public static final String PLUGIN_ID = "org.simantics.maps.server";
+    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;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+     */
+    public void stop(BundleContext bundleContext) throws Exception {
+        Activator.context = null;
+    }
+
+    public static Path getNodeJSRoot() throws IOException, URISyntaxException {
+        URL nodeURL = getContext().getBundle().getEntry("/node");
+        URL nodeFileURL = FileLocator.toFileURL(nodeURL);
+        return Paths.get(nodeFileURL.toURI());
+    }
+    
+    public static Path getTileserverMapnikRoot() throws IOException, URISyntaxException {
+        URL serverURL = getContext().getBundle().getEntry("/server");
+        URL serverFileURL = FileLocator.toFileURL(serverURL);
+        return Paths.get(serverFileURL.toURI());
+    }
+
+}