You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.6 KiB

/*
* 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;
}
}