aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/config
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2021-10-23 08:09:05 +0300
committerGravatar Vitaly Takmazov2021-10-23 08:10:06 +0300
commit4b96a9b2e71b7a67effdd55b26ca532ff849d0ef (patch)
tree597a9b268622a10b440f3b119c529e624b8fdb62 /src/main/java/com/juick/config
parent6b31c254b5a7ab6735c625459ba7936d9b2851e6 (diff)
ImagesService -> StorageService
img_path -> storage_path property
Diffstat (limited to 'src/main/java/com/juick/config')
-rw-r--r--src/main/java/com/juick/config/StorageConfig.java37
-rw-r--r--src/main/java/com/juick/config/WebConfig.java14
2 files changed, 11 insertions, 40 deletions
diff --git a/src/main/java/com/juick/config/StorageConfig.java b/src/main/java/com/juick/config/StorageConfig.java
deleted file mode 100644
index d105ec72..00000000
--- a/src/main/java/com/juick/config/StorageConfig.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2008-2020, Juick
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package com.juick.config;
-
-import com.juick.service.ImagesService;
-import com.juick.service.ImagesServiceImpl;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class StorageConfig {
-
- @Value("${upload_tmp_dir:#{systemEnvironment['TEMP'] ?: '/tmp'}}")
- private String tmpDir;
- @Value("${img_path:#{systemEnvironment['TEMP'] ?: '/tmp'}}")
- private String imgDir;
- @Bean
- public ImagesService imagesService() {
- return new ImagesServiceImpl(imgDir, tmpDir);
- }
-}
diff --git a/src/main/java/com/juick/config/WebConfig.java b/src/main/java/com/juick/config/WebConfig.java
index fcc61b72..94f30bd5 100644
--- a/src/main/java/com/juick/config/WebConfig.java
+++ b/src/main/java/com/juick/config/WebConfig.java
@@ -20,6 +20,8 @@ package com.juick.config;
import com.juick.*;
import com.juick.model.User;
import com.juick.service.HelpService;
+import com.juick.service.StorageService;
+import com.juick.service.FileSystemStorageService;
import com.juick.service.UserService;
import com.mitchellbosecke.pebble.PebbleEngine;
import com.mitchellbosecke.pebble.extension.FormatterExtension;
@@ -64,8 +66,14 @@ import javax.inject.Inject;
@EnableAsync(proxyTargetClass = true)
@EnableScheduling
public class WebConfig implements WebMvcConfigurer {
- @Value("${img_path:#{systemEnvironment['TEMP'] ?: '/tmp'}}")
- private String imgDir;
+ @Value("${upload_tmp_dir:#{systemProperties['java.io.tmpdir']}}")
+ private String tmpDir;
+ @Value("${storage_path:#{systemProperties['java.io.tmpdir']}}")
+ private String baseDir;
+ @Bean
+ public StorageService storageService() {
+ return new FileSystemStorageService(baseDir, tmpDir);
+ }
@Bean
public CaffeineCacheManager cacheManager() {
return new CaffeineCacheManager("help");
@@ -172,7 +180,7 @@ public class WebConfig implements WebMvcConfigurer {
try {
registry
.addResourceHandler("/**", "/i/a/**")
- .addResourceLocations("classpath:/static/", Paths.get(imgDir, "/a/").toUri().toURL().toString())
+ .addResourceLocations("classpath:/static/", Paths.get(baseDir, "/i/a/").toUri().toURL().toString())
.setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS))
.resourceChain(false)
.addResolver(new VersionResourceResolver().addContentVersionStrategy("/**", "/i/a/**"));