From ea719308e3b76f63ca503f07442ccff503e3e8e8 Mon Sep 17 00:00:00 2001 From: ulrich Date: Fri, 17 Feb 2017 08:05:33 +0000 Subject: [PATCH] getBase relativ zum Start-Skript --- src/java/de/uhilger/filecms/api/FileMgr.java | 68 ++++++++++++++++++++++++++++++++-- 1 files changed, 64 insertions(+), 4 deletions(-) diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java index a597012..b8151d8 100644 --- a/src/java/de/uhilger/filecms/api/FileMgr.java +++ b/src/java/de/uhilger/filecms/api/FileMgr.java @@ -20,18 +20,78 @@ private ServletContext ctx; private HttpServletRequest req; + public String hallo() { + return "Hallo Welt!"; + } + + // http://localhost:8097/file-cms/rpc/de.uhilger.filecms.api.FileMgr/getBase/JSONNICE public FileRef getBase() { FileRef ref = null; //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()); + //String fileBase = System.getProperty("filecms.base"); + //File file = new File(fileBase); + //logger.info(file.getAbsolutePath()); + //logger.info(getWebappsDir().getAbsolutePath()); + + /* + file = new File("."); liefert + /home/ulrich/dev/lib/java/tomcat/tomcat2-8.5.9/bin/. + + ..auf der WebBox aber + /home/ulrich/srv/wbx_probe/. + ..weil das Startskript dort liegt + + der Tomcat der WebBox ist unter + sys/jrs/tomcat/bin + + also z.B. + /home/ulrich/srv/wbx_probe/sys/jrs/tomcat/bin + + das Datenverzeichnis ist z.B. auf + /home/ulrich/srv/wbx_probe/daten + + dann ist das Datenverzeichnis unter + ../../../daten + + Der Ausdruck file = new File("."); liefert stets den + Ort von dem aus der Java-Prozess gestartet wurde. + + Die unten folgende Bestimmung des Datenverzeichnisses + ist beschraenkt auf das Datenverzeichnis der WebBox, + entweder relativ zum Startskript der WebBox oder + dem Startskript von Tomcat, wie es aus Netbeans heraus + waehrend der Entwicklung genutzt wird. + + Besser ware vielleicht eine Bestimmung ueber einen + Systemparameter -Dfilecms.base=... wie weiter oben + auskommentiert. Damit liesse sich das file-cms auch + ohne WebBox einsetzen. Allerdings muss dann das + Datenverzeichnis im Start-Skript gebildet werden, + also ausserhalb von Java, wenn es dynamisch aus + einem Pfad relativ zum Start-Skript erzeugt werden + soll. + */ + + File file = new File("."); + String path = file.getAbsolutePath(); + path = path.substring(0, path.length() - 1); + file = new File(path); + if(path.endsWith("bin")) { + file = file.getParentFile().getParentFile().getParentFile(); + } else { + + } + file = new File(file, "daten/"); ref = new FileRef(file.getAbsolutePath(), file.isDirectory()); return ref; } + public FileRef saveTextFile(String relPath, String fileName, String contents) { + FileRef savedFile = null; + return savedFile; + } + private File getWebappsDir() { File cfile = new File(this.getClass().getResource(this.getClass().getSimpleName() + ".class").getFile()); String path = cfile.getAbsolutePath(); -- Gitblit v1.9.3