From fd0b4cf7236de6f05f3df2ed5bdd9508fd5fbb01 Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Thu, 16 Mar 2017 18:35:44 +0000 Subject: [PATCH] Versuche mit dem Java-Compiler (in Arbeit) --- src/java/de/uhilger/filecms/api/FileMgr.java | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java index 3e1073c..b4ece2e 100644 --- a/src/java/de/uhilger/filecms/api/FileMgr.java +++ b/src/java/de/uhilger/filecms/api/FileMgr.java @@ -49,7 +49,10 @@ public static final String PUB_DIR_PATH = "www/"; public static final String HOME_DIR_PATH = "home/"; public static final String PUB_DIR_NAME = "Oeffentlich"; - public static final String HOME_DIR_NAME = "Persoenlicher Ordner"; + //public static final String HOME_DIR_NAME = "Persoenlicher Ordner"; + public static final String HOME_DIR_NAME = "Persoenlich"; + + public static final String CATALINA_BASE_FOLDER = "base"; public static final int OP_COPY = 1; public static final int OP_MOVE = 2; @@ -59,15 +62,18 @@ } public List<FileRef> list(String relPath) { + Bild bild = new Bild(); List<FileRef> files = new ArrayList(); if(relPath.length() == 0) { FileRef namedPublicFolder = new FileRef(PUB_DIR_NAME, true); logger.finer(namedPublicFolder.getAbsolutePath()); FileRef namedHomeFolder = new FileRef(HOME_DIR_NAME, true); logger.finer(namedHomeFolder.getAbsolutePath()); + FileRef namedBaseFolder = new FileRef(CATALINA_BASE_FOLDER, true); files = new ArrayList(); files.add(namedHomeFolder); files.add(namedPublicFolder); + files.add(namedBaseFolder); } else { String path = getTargetDir(relPath).getAbsolutePath(); logger.fine("listing path: " + path); @@ -81,7 +87,9 @@ fname = fname.substring(0, fname.length() - 1); } logger.fine(fname); - files.add(new FileRef(fname, fileArray[i].isDirectory())); + FileRef ref = new FileRef(fname, fileArray[i].isDirectory()); + ref.setMimetype(bild.getMimeType(fileArray[i])); + files.add(ref); } } } @@ -333,7 +341,7 @@ File newImgFile = new File(dir, buf.toString()); if(!newImgFile.exists()) { logger.fine(original.getAbsolutePath() + " " + newImgFile.getAbsolutePath()); - bild.writeImageFile(image, bild.getVariantenGroesse(i), bild.getMimeType(original), original.getAbsolutePath(), newImgFile.getAbsolutePath()); + bild.writeImageFile(image, bild.getVariantenGroesse(i), bild.getMimeType(original), newImgFile.getAbsolutePath()); //bild.writeImageFile(image, photo.getVariantenGroesse(i), photo.getMimetype(), photo.getAbsolutePath(basisPfad), photo.getVariantenName(basisPfad, i)); } } @@ -349,16 +357,24 @@ private File getTargetDir(String relPath) { logger.fine(relPath); + File targetDir; String targetPath = null; if(relPath.startsWith(PUB_DIR_NAME)) { targetPath = PUB_DIR_PATH + getUserName() + relPath.substring(PUB_DIR_NAME.length()); + targetDir = new File(getBase().getAbsolutePath(), targetPath); } else if(relPath.startsWith(HOME_DIR_NAME)) { targetPath = HOME_DIR_PATH + getUserName() + relPath.substring(HOME_DIR_NAME.length()); + targetDir = new File(getBase().getAbsolutePath(), targetPath); + } else if(relPath.startsWith(CATALINA_BASE_FOLDER)) { + targetPath = getCatalinaBase(); + targetDir = new File(targetPath, relPath.substring(CATALINA_BASE_FOLDER.length())); } else { // kann eigentlich nicht sein.. + targetPath = PUB_DIR_PATH + getUserName() + relPath.substring(PUB_DIR_NAME.length()); + targetDir = new File(getBase().getAbsolutePath(), targetPath); } logger.fine(targetPath); - File targetDir = new File(getBase().getAbsolutePath(), targetPath); + //File targetDir = new File(getBase().getAbsolutePath(), targetPath); return targetDir; } @@ -382,4 +398,12 @@ } return userName; } + + private String getCatalinaBase() { + String path = getServletContext().getRealPath("/"); + logger.fine("getRealPath: " + path); // file-cms in webapps + File file = new File(path); + file = file.getParentFile().getParentFile(); + return file.getAbsolutePath(); + } } \ No newline at end of file -- Gitblit v1.9.3