| | |
| | | /** |
| | | * Initialisieren der Dateiverwaltung |
| | | */ |
| | | public class Initialiser implements ServletContextListener { |
| | | public class Initialiser { |
| | | |
| | | private static final Logger logger = Logger.getLogger(Initialiser.class.getName()); |
| | | |
| | |
| | | * |
| | | * @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); |
| | |
| | | * @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) { |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |