package org.simantics.district.maps.server;
import java.io.IOException;
+import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Path;
}
public static Path getNodeJSRoot() throws IOException, URISyntaxException {
- URL nodeURL = getContext().getBundle().getEntry("/node");
- URL nodeFileURL = FileLocator.toFileURL(nodeURL);
- return Paths.get(nodeFileURL.toURI());
+ return resolvePath("/node");
}
public static Path getTileserverMapnikRoot() throws IOException, URISyntaxException {
- URL serverURL = getContext().getBundle().getEntry("/server");
- URL serverFileURL = FileLocator.toFileURL(serverURL);
- return Paths.get(serverFileURL.toURI());
+ return resolvePath("/server");
+ }
+
+ private static Path resolvePath(String entry) throws IOException, URISyntaxException {
+ URL entryURL = getContext().getBundle().getEntry(entry);
+ URL entryFileURL = FileLocator.toFileURL(entryURL);
+ URI encodedUri = new URI(entryFileURL.getProtocol(), entryFileURL.getPath(), null).normalize();
+ return Paths.get(encodedUri);
}
}