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