Dateiverwaltung für die WebBox
ulrich
2017-02-15 9fac8441aed57419bb7943a6664d22cf776004f7
commit | author | age
c7c502 1 package de.uhilger.filecms.api;
U 2
3 import de.uhilger.filesystem.FileRef;
8e51b7 4 import de.uhilger.transit.web.RequestKontext;
c7c502 5 import de.uhilger.transit.web.WebKontext;
8e51b7 6 import java.io.File;
U 7 import java.util.logging.Logger;
c7c502 8 import javax.servlet.ServletContext;
8e51b7 9 import javax.servlet.http.HttpServletRequest;
c7c502 10
U 11 /**
12  *
13  * @author ulrich
14  */
8e51b7 15 public class FileMgr implements WebKontext, RequestKontext {
U 16   private static final Logger logger = Logger.getLogger(FileMgr.class.getName());
c7c502 17   
U 18   public static final String FILE_BASE = "fileBase";
19   
20   private ServletContext ctx;
8e51b7 21   private HttpServletRequest req;
c7c502 22   
U 23   public FileRef getBase() {
24     FileRef ref = null;
8e51b7 25     //String fileBase = getServletContext().getInitParameter(FILE_BASE);
U 26     // -Dfilecms.base=/pfad/zu/daten
27     String fileBase = System.getProperty("filecms.base");
28     File file = new File(fileBase);
29     logger.info(file.getAbsolutePath());
30     logger.info(getWebappsDir().getAbsolutePath());
31     ref = new FileRef(file.getAbsolutePath(), file.isDirectory());
c7c502 32     return ref;
8e51b7 33   }
U 34   
35   private File getWebappsDir() {
36     File cfile = new File(this.getClass().getResource(this.getClass().getSimpleName() + ".class").getFile());
37     String path = cfile.getAbsolutePath();
38     return new File(path.substring(0, path.indexOf(req.getContextPath())));
c7c502 39   }
U 40
41   @Override
42   public ServletContext getServletContext() {
43     return ctx;
44   }
45
46   @Override
47   public void setServletContext(ServletContext servletContext) {
48     this.ctx = servletContext;
49   }
50
8e51b7 51   @Override
U 52   public HttpServletRequest getRequest() {
53     return req;
54   }
55
56   @Override
57   public void setRequest(HttpServletRequest r) {
58     this.req = r;
59   }
60
c7c502 61   
U 62 }