Dateiverwaltung für die WebBox
ulrich
2017-03-29 ae914095acce6c1c8a1c799939a5bd1ee4e0cc6b
gemeinsame Api-Methoden der WeBox zusammengefuehrt
1 files modified
72 ■■■■■ changed files
src/java/de/uhilger/filecms/api/Api.java 72 ●●●●● patch | view | raw | blame | history
src/java/de/uhilger/filecms/api/Api.java
@@ -21,19 +21,14 @@
package de.uhilger.filecms.api;
import de.uhilger.filecms.data.FileRef;
import de.uhilger.transit.web.RequestKontext;
import de.uhilger.transit.web.WebKontext;
import de.uhilger.wbx.web.Initialiser;
import de.uhilger.wbx.api.ApiBase;
import java.io.File;
import java.security.Principal;
import java.util.logging.Logger;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
/**
 *
 */
public abstract class Api implements WebKontext, RequestKontext {
public abstract class Api extends ApiBase {
  
  private static final Logger logger = Logger.getLogger(Api.class.getName());
@@ -47,14 +42,7 @@
  
  public static final String WBX_BASE = "$basis";
  public static final String WBX_DATA = "$daten";
  /** Zeiger zum Servlet-Kontext dieser Anwendung */
  private ServletContext ctx;
  /** Zeiger zum Request, der zur Ausfuehrung fuehrte */
  private HttpServletRequest request;
  /**
   * Einen relativen Pfad in einen absoluten Pfad der WebBox 
   * aufloesen.
@@ -108,60 +96,12 @@
  
  protected FileRef getBase() {
    FileRef base = null;
    Object o = getServletContext().getAttribute(Initialiser.FILE_BASE);
    if(o instanceof String) {
      String baseStr = (String) o;
      logger.fine(baseStr);
      File file = new File(baseStr);
    Object o = getFileBase();
    if(o instanceof File) {
      File file = (File) o;
      base = new FileRef(file.getAbsolutePath(), file.isDirectory());
    }
    return base;
  }
  protected String getUserName() {
    String userName = null;
    Object p = getRequest().getUserPrincipal();
    if(p instanceof Principal) {
      userName = ((Principal) p).getName();
    }
    return userName;
  }
  protected String getCatalinaBase() {
    String path = getServletContext().getRealPath("/");
    logger.fine("getRealPath: " + path); // file-cms in webapps
    File file = new File(path);
    file = file.getParentFile().getParentFile();
    return file.getAbsolutePath();
  }
  protected String getWbxDataDir() {
    String wbxBase = getBase().getAbsolutePath();
    File file = new File(wbxBase);
    return file.getAbsolutePath();
  }
  /* ------------- Implementierung WebKontext ------------- */
  @Override
  public ServletContext getServletContext() {
    return ctx;
  }
  @Override
  public void setServletContext(ServletContext servletContext) {
    this.ctx = servletContext;
  }
  /* ------------- Implementierung RequestKontext ------------- */
  @Override
  public HttpServletRequest getRequest() {
    return request;
  }
  @Override
  public void setRequest(HttpServletRequest r) {
    this.request = r;
  }
  
}