| | |
| | | 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 { |
| | | 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); |
| | | //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 |
| | |
| | | this.ctx = servletContext; |
| | | } |
| | | |
| | | @Override |
| | | public HttpServletRequest getRequest() { |
| | | return req; |
| | | } |
| | | |
| | | @Override |
| | | public void setRequest(HttpServletRequest r) { |
| | | this.req = r; |
| | | } |
| | | |
| | | |
| | | } |