Dateiverwaltung für die WebBox
ulrich
2017-02-16 a4d3b5898ebecf3e413ce45feb6a4e1cfdba9ddc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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;
  }
 
  
}