diff --git a/.gitignore b/.gitignore index 6cdf5191..e07ff119 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ target/ .vscode/ cms-server/hosts/marx-software cms-server/hosts/demo/modules_data/search-module/index +cms-server/hosts/demo/temp cms-server/hosts/theme-demo/modules_data/search-module/index cms-server/modules/flexmark-module cms-server/modules/markedjs-module diff --git a/cms-media/src/main/java/com/github/thmarx/cms/media/MediaManager.java b/cms-media/src/main/java/com/github/thmarx/cms/media/MediaManager.java index a63177cd..0b77de11 100644 --- a/cms-media/src/main/java/com/github/thmarx/cms/media/MediaManager.java +++ b/cms-media/src/main/java/com/github/thmarx/cms/media/MediaManager.java @@ -45,6 +45,7 @@ public class MediaManager { private final Path assetBase; + private final Path tempFolder; private final Theme theme; private final SiteProperties siteProperties; @@ -64,7 +65,10 @@ public MediaFormat getMediaFormat (String format) { private Path getTempDirectory() throws IOException { if (tempDirectory == null) { - tempDirectory = Files.createTempDirectory("cms-media-temp"); + tempDirectory = tempFolder.resolve("media"); + if (!Files.exists(tempDirectory)) { + Files.createDirectories(tempDirectory); + } } return tempDirectory; } diff --git a/cms-server/src/main/java/com/github/thmarx/cms/server/VHost.java b/cms-server/src/main/java/com/github/thmarx/cms/server/VHost.java index 54950248..a990b050 100644 --- a/cms-server/src/main/java/com/github/thmarx/cms/server/VHost.java +++ b/cms-server/src/main/java/com/github/thmarx/cms/server/VHost.java @@ -62,7 +62,7 @@ @Slf4j public class VHost { - private FileSystem fileSystem; + protected FileSystem fileSystem; protected ContentRenderer contentRenderer; protected ContentResolver contentResolver; diff --git a/cms-server/src/main/java/com/github/thmarx/cms/server/jetty/JettyVHost.java b/cms-server/src/main/java/com/github/thmarx/cms/server/jetty/JettyVHost.java index 07e4762d..c7122f49 100644 --- a/cms-server/src/main/java/com/github/thmarx/cms/server/jetty/JettyVHost.java +++ b/cms-server/src/main/java/com/github/thmarx/cms/server/jetty/JettyVHost.java @@ -77,7 +77,7 @@ public Handler httpHandler() { pathMappingsHandler.addMapping(PathSpec.from("/assets/*"), assetsHandler); pathMappingsHandler.addMapping(PathSpec.from("/favicon.ico"), faviconHandler); - JettyMediaHandler mediaHandler = new JettyMediaHandler(new MediaManager(assetBase, getTheme(), siteProperties)); + JettyMediaHandler mediaHandler = new JettyMediaHandler(new MediaManager(assetBase, fileSystem.resolve("temp"), getTheme(), siteProperties)); pathMappingsHandler.addMapping(PathSpec.from("/media/*"), mediaHandler); ContextHandler defaultContextHandler = new ContextHandler(pathMappingsHandler, "/"); @@ -121,7 +121,7 @@ private ContextHandler themeContextHandler () { PathMappingsHandler pathMappingsHandler = new PathMappingsHandler(); pathMappingsHandler.addMapping(PathSpec.from("/assets/*"), assetsHandler); - JettyMediaHandler mediaHandler = new JettyMediaHandler(new MediaManager(getTheme().assetsPath(), getTheme(), siteProperties)); + JettyMediaHandler mediaHandler = new JettyMediaHandler(new MediaManager(getTheme().assetsPath(), fileSystem.resolve("temp"), getTheme(), siteProperties)); pathMappingsHandler.addMapping(PathSpec.from("/media/*"), mediaHandler); return new ContextHandler(pathMappingsHandler, "/themes/" + getTheme().getName());