Dateiverwaltung für die WebBox
ulrich
2021-01-03 719f73ea3ea9204585de5487fb83f6d5be97d1ac
Dateiablage umgestellt auf wbx.data
1 files added
2 files modified
50 ■■■■ changed files
file-cms-abhaengigkeiten.txt 12 ●●●●● patch | view | raw | blame | history
src/java/de/uhilger/filecms/web/Initialiser.java 30 ●●●●● patch | view | raw | blame | history
web/WEB-INF/web.xml 8 ●●●●● patch | view | raw | blame | history
file-cms-abhaengigkeiten.txt
New file
@@ -0,0 +1,12 @@
/jslib/bootstrap
/jslib/jquery (wegen fancybox)
/jslib/mustache
/jslib/font-awesome
/jslib/codemirror
/jslib/tinymce
/jslib/fancybox
/jslib/moment
/jslib/numeral
/jslib/lightbox
/jslib/tether
src/java/de/uhilger/filecms/web/Initialiser.java
@@ -51,6 +51,9 @@
  public static final String FILE_BASE = "filebase";
  public static final String DATENABLAGE = "datenAblage";
  public static final String WBX_FILE_BASE = "wbxFileBase";
  public static final String WBX_DATA_DIR = "wbx.data";
  public static final String WBX_DEPTH = "tiefe";
  public static final String WBX_DATA_FOLDER = "datenOrdner";
    
  /**
   * Die Dateiablage wird entweder auf einen absoluten Pfad gesetzt, 
@@ -66,25 +69,32 @@
    
    //File wbxDaten = getDataDir(ctx, 2, "data/");
    
    WbxUtils wu = new WbxUtils();
    Object o = wu.getJNDIParameter(WBX_FILE_BASE, WbxUtils.EMPTY_STRING);
    //WbxUtils wu = new WbxUtils();
    //Object o = wu.getJNDIParameter(WBX_FILE_BASE, WbxUtils.EMPTY_STRING);
    String dir = System.getProperty(WBX_DATA_DIR);
    try {
      if(o instanceof String) {
        String pfad = o.toString();
        if(pfad.trim().length() > 0) {
          ctx.setAttribute(FILE_BASE, pfad);
          logger.log(Level.INFO, "Daten-Ordner aus wbxFileBase: {0}", pfad);
      if(dir != null) {
        //String pfad = o.toString();
        if(dir.trim().length() > 0) {
          ctx.setAttribute(FILE_BASE, dir);
          logger.log(Level.INFO, "Daten-Ordner aus wbx.data: {0}", dir);
        } else {
          ctx.setAttribute(FILE_BASE, getDataDir(ctx, 2, "data/").getAbsolutePath());
          ctx.setAttribute(FILE_BASE, getDefaultDataDir(ctx).getAbsolutePath());
        }
      } else {
        ctx.setAttribute(FILE_BASE, getDataDir(ctx, 2, "data/").getAbsolutePath());
        ctx.setAttribute(FILE_BASE, getDefaultDataDir(ctx).getAbsolutePath());
      }    
    } catch(Exception ex) {
      ctx.setAttribute(FILE_BASE, getDataDir(ctx, 2, "data/").getAbsolutePath());
      ctx.setAttribute(FILE_BASE, getDefaultDataDir(ctx).getAbsolutePath());
    }
  }  
  
  private File getDefaultDataDir(ServletContext ctx) {
    String tiefe = ctx.getInitParameter(WBX_DEPTH);
    String ordnerName = ctx.getInitParameter(WBX_DATA_FOLDER);
    return getDataDir(ctx, Integer.parseInt(tiefe), ordnerName);
  }
  /**
   * Daten-Ordner relativ zum Ablageort des file-cms finden.
   * 
web/WEB-INF/web.xml
@@ -9,6 +9,14 @@
        <param-name>datenAblage</param-name>
        <param-value> </param-value>
    </context-param>
    <context-param>
        <param-name>tiefe</param-name>
        <param-value>2</param-value>
    </context-param>
    <context-param>
        <param-name>datenOrdner</param-name>
        <param-value>data/</param-value>
    </context-param>
    <listener>
        <listener-class>de.uhilger.filecms.web.Initialiser</listener-class>
    </listener>