From 8e51b77b850f1335d9b3d32660c7b0ec27ecb2d3 Mon Sep 17 00:00:00 2001 From: ulrich Date: Tue, 14 Feb 2017 22:21:21 +0000 Subject: [PATCH] FileMgr Api in Arbeit --- web/WEB-INF/web.xml | 14 +++++++++++++- src/java/de/uhilger/filecms/api/FileMgr.java | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java index b7f7a70..a597012 100644 --- a/src/java/de/uhilger/filecms/api/FileMgr.java +++ b/src/java/de/uhilger/filecms/api/FileMgr.java @@ -1,23 +1,41 @@ 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 { +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); + //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 @@ -30,5 +48,15 @@ this.ctx = servletContext; } + @Override + public HttpServletRequest getRequest() { + return req; + } + + @Override + public void setRequest(HttpServletRequest r) { + this.req = r; + } + } diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml index 0c3e8d5..65df464 100644 --- a/web/WEB-INF/web.xml +++ b/web/WEB-INF/web.xml @@ -4,8 +4,20 @@ <display-name>file-cms</display-name> <context-param> <param-name>fileBase</param-name> - <param-value>../../../daten/</param-value> + <param-value>daten</param-value> </context-param> + <servlet> + <servlet-name>TransitRS</servlet-name> + <servlet-class>de.uhilger.transit.web.TransitServletRS</servlet-class> + <init-param> + <param-name>klassen</param-name> + <param-value>de.uhilger.filecms.api</param-value> + </init-param> + </servlet> + <servlet-mapping> + <servlet-name>TransitRS</servlet-name> + <url-pattern>/rpc/*</url-pattern> + </servlet-mapping> <session-config> <session-timeout> 30 -- Gitblit v1.9.3