WebBox Klassenbibliothek
ulrich
2017-03-29 59584163af6e9d4e6ba668e74c596a08bf5bd3fd
weitere Verschiebungen zwischen wbx-lib und WebKontext, Api, usw.
2 files modified
59 ■■■■ changed files
src/de/uhilger/wbx/api/ApiBase.java 33 ●●●● patch | view | raw | blame | history
src/de/uhilger/wbx/web/Initialiser.java 26 ●●●● patch | view | raw | blame | history
src/de/uhilger/wbx/api/ApiBase.java
@@ -30,12 +30,9 @@
/**
 *
 */
public abstract class ApiBase implements WebKontext, RequestKontext {
public abstract class ApiBase implements RequestKontext {
  private static final Logger logger = Logger.getLogger(ApiBase.class.getName());
  /** Zeiger zum Servlet-Kontext dieser Anwendung */
  protected ServletContext ctx;
  
  /** Zeiger zum Request, der zur Ausfuehrung fuehrte */
  protected HttpServletRequest request;  
@@ -45,9 +42,9 @@
   * Das Datenverzeichnis der WebBox ermitteln
   * @return Ordner $wbx/daten
   */
  protected File getFileBase() {
  protected File getFileBase(ServletContext ctx) {
    File file = null;
    Object o = getServletContext().getAttribute(Initialiser.FILE_BASE);
    Object o = ctx.getAttribute(Initialiser.FILE_BASE);
    if(o instanceof String) {
      String baseStr = (String) o;
      logger.fine(baseStr);
@@ -61,8 +58,8 @@
   * Tomcat-Doku als CATALINA_BASE der WebBox gilt
   * @return absoluter Pfad zu $wbx/sys/base
   */
  protected String getCatalinaBase() {
    String path = getServletContext().getRealPath("/");
  protected String getCatalinaBase(ServletContext ctx) {
    String path = ctx.getRealPath("/");
    logger.fine("getRealPath: " + path); // file-cms in webapps
    File file = new File(path);
    file = file.getParentFile().getParentFile();
@@ -73,16 +70,16 @@
   * Den absoluten Pfad zum Datenverzeichnis der WebBox ermitteln
   * @return absoluter Pfad zu $wbx/daten
   */
  protected String getWbxDataDir() {
    return getFileBase().getAbsolutePath();
  protected String getWbxDataDir(ServletContext ctx) {
    return getFileBase(ctx).getAbsolutePath();
  }
  
  /**
   * Das Verzeichnis ermitteln, in dem die WebBox laeuft
   * @return der Ordner $wbx
   */
  protected File getWbxDir() {
    String path = getServletContext().getRealPath("/");
  protected File getWbxDir(ServletContext ctx) {
    String path = ctx.getRealPath("/");
    logger.fine("getRealPath: " + path);
    File file = new File(path);
    file = file.getParentFile().getParentFile().getParentFile().getParentFile();    
@@ -103,18 +100,6 @@
    return userName;
  }      
  /* ------------- Implementierung WebKontext ------------- */
  @Override
  public ServletContext getServletContext() {
    return ctx;
  }
  @Override
  public void setServletContext(ServletContext servletContext) {
    this.ctx = servletContext;
  }
  /* ------------- Implementierung RequestKontext ------------- */
  @Override
src/de/uhilger/wbx/web/Initialiser.java
@@ -27,7 +27,7 @@
/**
 * Initialisieren der Dateiverwaltung
 */
public class Initialiser implements ServletContextListener {
public class Initialiser {
  
  private static final Logger logger = Logger.getLogger(Initialiser.class.getName());
  
@@ -56,14 +56,14 @@
   * 
   * @return Verzeichnis 'daten' der WebBox
   */
  private File getWbxDataDir(ServletContext ctx) {
  protected File getWbxDataDir(ServletContext ctx) {
    File file = getWbxDir(ctx);    
    file = new File(file, "daten/");
    logger.fine("WebBox Datenbasis: " + file.getAbsolutePath());
    return file;
  }
  
  private File getWbxDir(ServletContext ctx) {
  protected File getWbxDir(ServletContext ctx) {
    String path = ctx.getRealPath("/");
    logger.fine("getRealPath: " + path); // file-cms in webapps
    File file = new File(path);
@@ -81,7 +81,7 @@
   * @param ctx der ServletContext, in den die Angabe eingetragen wird. Dort 
   * ist anschliessend die Angabe unter Initialiser.FILE_BASE abrufbar
   */
  private void ablageErmitteln(ServletContext ctx) {
  protected void ablageErmitteln(ServletContext ctx) {
    Object o = ctx.getInitParameter(DATENABLAGE);
    try {
      if(o instanceof String) {
@@ -99,23 +99,5 @@
      ctx.setAttribute(FILE_BASE, getWbxDataDir(ctx).getAbsolutePath());
    }
  }  
    
  /* ----- ServletContextListener Implementation ----- */
  @Override
  public void contextInitialized(ServletContextEvent sce) {
    // hier kann etwas initialisiert werden
    ServletContext ctx = sce.getServletContext();
    ablageErmitteln(ctx);
  }
  @Override
  public void contextDestroyed(ServletContextEvent sce) {
    // hier wird alles wieder aufgeraeumt
    ServletContext ctx = sce.getServletContext();
    ctx.removeAttribute(FILE_BASE);
  }
}