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