/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.highcharts.export.util; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.log4j.Logger; /** * * @author gert */ public class TempDir { public static Path tmpDir; public static Path outputDir; public static Path phantomJsDir; protected static Logger logger = Logger.getLogger(TempDir.class.getName()); public TempDir() throws IOException { tmpDir = Files.createTempDirectory("export"); // Delete this directory on deletion of the JVM tmpDir.toFile().deleteOnExit(); outputDir = Files.createDirectory(Paths.get(tmpDir.toString(), "output")); outputDir.toFile().deleteOnExit(); phantomJsDir = Files.createDirectory(Paths.get(tmpDir.toString(), "phantomjs")); phantomJsDir.toFile().deleteOnExit(); Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { FileUtils.deleteQuietly(tmpDir.toFile()); } }); logger.debug("Highcharts Export Server using " +TempDir.getTmpDir() + " as TEMP folder."); } public static Path getTmpDir() { return tmpDir; } public static Path getOutputDir() { return outputDir; } public static Path getPhantomJsDir() { return phantomJsDir; } public static String getDownloadLink(String filename) { filename = FilenameUtils.getName(filename); String link = "files/" + filename; return link; } }