package de.uhilger.filecms.api;
|
|
import de.uhilger.filesystem.FileRef;
|
import de.uhilger.transit.web.RequestKontext;
|
import de.uhilger.transit.web.WebKontext;
|
import java.io.File;
|
import java.util.logging.Logger;
|
import javax.servlet.ServletContext;
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
*
|
* @author ulrich
|
*/
|
public class FileMgr implements WebKontext, RequestKontext {
|
private static final Logger logger = Logger.getLogger(FileMgr.class.getName());
|
|
public static final String FILE_BASE = "fileBase";
|
|
private ServletContext ctx;
|
private HttpServletRequest req;
|
|
public FileRef getBase() {
|
FileRef ref = null;
|
//String fileBase = getServletContext().getInitParameter(FILE_BASE);
|
// -Dfilecms.base=/pfad/zu/daten
|
String fileBase = System.getProperty("filecms.base");
|
File file = new File(fileBase);
|
logger.info(file.getAbsolutePath());
|
logger.info(getWebappsDir().getAbsolutePath());
|
ref = new FileRef(file.getAbsolutePath(), file.isDirectory());
|
return ref;
|
}
|
|
private File getWebappsDir() {
|
File cfile = new File(this.getClass().getResource(this.getClass().getSimpleName() + ".class").getFile());
|
String path = cfile.getAbsolutePath();
|
return new File(path.substring(0, path.indexOf(req.getContextPath())));
|
}
|
|
@Override
|
public ServletContext getServletContext() {
|
return ctx;
|
}
|
|
@Override
|
public void setServletContext(ServletContext servletContext) {
|
this.ctx = servletContext;
|
}
|
|
@Override
|
public HttpServletRequest getRequest() {
|
return req;
|
}
|
|
@Override
|
public void setRequest(HttpServletRequest r) {
|
this.req = r;
|
}
|
|
|
}
|