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()); } }