From 3c4b104eb3d9bf4e651dffbbd956985764bcacce Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Tue, 28 Feb 2017 07:19:53 +0000
Subject: [PATCH] getBase angepasst

---
 src/java/de/uhilger/filecms/web/Initialiser.java |   16 ++++++++++++----
 src/java/logging.properties                      |    2 +-
 src/java/de/uhilger/filecms/api/FileMgr.java     |   11 +++++++----
 3 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java
index 78ac92d..d045623 100644
--- a/src/java/de/uhilger/filecms/api/FileMgr.java
+++ b/src/java/de/uhilger/filecms/api/FileMgr.java
@@ -187,7 +187,7 @@
   /* ---- Hilfsfunktionen ---- */
   
   private File getTargetDir(String relPath) {
-    logger.finer(relPath);
+    logger.fine(relPath);
     String targetPath = null;
     if(relPath.startsWith(PUB_DIR_NAME)) {
       targetPath = PUB_DIR_PATH + getUserName() + "/" + relPath.substring(PUB_DIR_NAME.length());
@@ -196,15 +196,18 @@
     } else {
       // kann eigentlich nicht sein..
     }
-    logger.finer(targetPath);
+    logger.fine(targetPath);
     File targetDir = new File(getBase().getAbsolutePath(), targetPath);
     return targetDir;
   }
   private FileRef getBase() {
     FileRef base = null;
     Object o = getServletContext().getAttribute(Initialiser.FILE_BASE);
-    if(o instanceof FileRef) {
-      base = (FileRef) o;
+    if(o instanceof String) {
+      String baseStr = (String) o;
+      logger.fine(baseStr);
+      File file = new File(baseStr);
+      base = new FileRef(file.getAbsolutePath(), file.isDirectory());
     }
     return base;
   }
diff --git a/src/java/de/uhilger/filecms/web/Initialiser.java b/src/java/de/uhilger/filecms/web/Initialiser.java
index 9fe110c..351bee9 100644
--- a/src/java/de/uhilger/filecms/web/Initialiser.java
+++ b/src/java/de/uhilger/filecms/web/Initialiser.java
@@ -18,9 +18,9 @@
 
 package de.uhilger.filecms.web;
 
-import de.uhilger.filecms.api.FileMgr;
 import de.uhilger.filesystem.FileRef;
 import java.io.File;
+import java.net.URL;
 import java.util.logging.Logger;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -87,7 +87,7 @@
     */
     
     File file = new File(".");
-    logger.finer(file.getAbsolutePath());
+    logger.fine(file.getAbsolutePath());
     String path = file.getAbsolutePath();
     path = path.substring(0, path.length() - 1);
     file = new File(path);
@@ -98,7 +98,7 @@
     }
     file = new File(file, "daten/");
     ref = new FileRef(file.getAbsolutePath(), file.isDirectory());
-    logger.finer(ref.getAbsolutePath());
+    logger.fine(ref.getAbsolutePath());
     return ref;
   }
   
@@ -108,7 +108,15 @@
   public void contextInitialized(ServletContextEvent sce) {
     // hier kann etwas initialisiert werden
     ServletContext ctx = sce.getServletContext();
-    ctx.setAttribute(FILE_BASE, getBase());
+
+    String path = ctx.getRealPath("/");
+    logger.fine("getRealPath: " + path); // file-cms in webapps
+    File file = new File(path);
+    file = file.getParentFile().getParentFile().getParentFile().getParentFile();
+    file = new File(file, "daten/");
+    
+    logger.fine("Basis: " + file.getAbsolutePath());
+    ctx.setAttribute(FILE_BASE, file.getAbsolutePath());
   }
 
   @Override
diff --git a/src/java/logging.properties b/src/java/logging.properties
index 2ef9303..5920336 100644
--- a/src/java/logging.properties
+++ b/src/java/logging.properties
@@ -64,4 +64,4 @@
 # For example, set the com.xyz.foo logger to only log SEVERE
 # messages:
 # com.xyz.foo.level = SEVERE
-de.uhilger.filecms.level = FINE
+de.uhilger.filecms.level = INFO

--
Gitblit v1.9.3