From 7f1ea3dfb227bc7b5648f862a1cc24faa4c94630 Mon Sep 17 00:00:00 2001 From: ruibaby Date: Thu, 23 May 2019 15:30:26 +0800 Subject: [PATCH] Format code and remove useless import. --- src/main/java/run/halo/app/Application.java | 4 +- .../halo/app/cache/InMemoryCacheStore.java | 12 ++-- .../halo/app/config/HaloConfiguration.java | 1 - .../halo/app/config/SwaggerConfiguration.java | 3 +- .../controller/admin/api/LogController.java | 2 +- .../admin/api/OptionController.java | 3 - .../base/CommonResultControllerAdvice.java | 1 - .../base/ControllerExceptionHandler.java | 6 +- .../content/ContentFeedController.java | 10 +-- .../content/ContentJournalController.java | 4 +- .../controller/content/MainController.java | 2 +- .../content/api/ArchiveController.java | 6 +- .../content/api/LinkController.java | 2 - .../content/api/MenuController.java | 4 +- .../content/api/OptionController.java | 4 +- .../content/api/UserController.java | 6 +- .../support/PageJacksonSerializer.java | 1 - .../app/event/theme/ThemeActivatedEvent.java | 3 - .../app/event/theme/ThemeUpdatedListener.java | 1 - .../java/run/halo/app/filter/CorsFilter.java | 2 +- .../halo/app/handler/file/FileHandler.java | 68 +++++++++---------- .../halo/app/handler/file/FileHandlers.java | 8 +-- .../app/handler/file/LocalFileHandler.java | 14 ++-- .../theme/config/support/ThemeProperty.java | 26 +++---- .../run/halo/app/model/dto/AttachmentDTO.java | 2 +- .../run/halo/app/model/dto/CategoryDTO.java | 2 +- .../java/run/halo/app/model/dto/LinkDTO.java | 2 +- .../java/run/halo/app/model/dto/LogDTO.java | 6 +- .../java/run/halo/app/model/dto/MenuDTO.java | 2 +- .../java/run/halo/app/model/dto/PhotoDTO.java | 2 +- .../java/run/halo/app/model/dto/TagDTO.java | 2 +- .../java/run/halo/app/model/dto/UserDTO.java | 4 +- .../halo/app/model/entity/PostCategory.java | 1 - .../run/halo/app/model/entity/PostTag.java | 1 - .../run/halo/app/model/enums/DataType.java | 11 ++- .../run/halo/app/model/enums/ValueEnum.java | 14 ++-- .../converter/AttachmentTypeConverter.java | 1 - .../freemarker/tag/MenuTagDirective.java | 4 +- .../halo/app/model/params/CategoryParam.java | 4 +- .../run/halo/app/model/params/LinkParam.java | 4 +- .../run/halo/app/model/params/LogParam.java | 1 - .../halo/app/model/params/OptionParam.java | 2 +- .../run/halo/app/model/params/PostParam.java | 6 +- .../run/halo/app/model/params/TagParam.java | 6 +- .../model/properties/CommentProperties.java | 3 +- .../app/model/properties/OtherProperties.java | 2 +- .../app/model/properties/SeoProperties.java | 5 +- .../app/model/properties/UpYunProperties.java | 6 +- .../run/halo/app/model/vo/CategoryVO.java | 2 +- .../run/halo/app/model/vo/LinkTeamVO.java | 2 +- .../app/repository/CategoryRepository.java | 2 +- .../repository/JournalCommentRepository.java | 5 -- .../halo/app/repository/LinkRepository.java | 1 - .../halo/app/repository/MenuRepository.java | 5 +- .../halo/app/repository/OptionRepository.java | 1 - .../app/repository/PostCommentRepository.java | 5 -- .../app/repository/PostTagRepository.java | 4 +- .../repository/SheetCommentRepository.java | 5 -- .../halo/app/repository/TagRepository.java | 3 +- .../halo/app/repository/UserRepository.java | 3 +- .../repository/base/BaseRepositoryImpl.java | 40 +++++------ .../authentication/Authentication.java | 2 +- .../app/security/context/SecurityContext.java | 1 - .../security/context/SecurityContextImpl.java | 1 - .../filter/AbstractAuthenticationFilter.java | 31 ++++----- .../handler/AuthenticationFailureHandler.java | 1 - .../AuthenticationArgumentResolver.java | 10 +-- .../halo/app/security/support/UserDetail.java | 3 +- .../run/halo/app/service/AdminService.java | 1 + .../halo/app/service/AttachmentService.java | 1 + .../run/halo/app/service/LinkService.java | 4 +- .../java/run/halo/app/service/LogService.java | 2 +- .../run/halo/app/service/MailService.java | 10 +-- .../run/halo/app/service/PhotoService.java | 2 +- .../run/halo/app/service/PostTagService.java | 10 +-- .../app/service/base/AbstractCrudService.java | 4 +- .../app/service/base/BasePostService.java | 1 + .../halo/app/service/base/CrudService.java | 4 +- .../app/service/impl/LinkServiceImpl.java | 16 ++--- .../halo/app/service/impl/LogServiceImpl.java | 10 +-- .../app/service/impl/MenuServiceImpl.java | 2 +- .../service/impl/PostCategoryServiceImpl.java | 1 - .../app/service/impl/PostTagServiceImpl.java | 12 ++-- .../app/service/support/HaloMediaType.java | 1 - .../java/run/halo/app/utils/BeanUtils.java | 1 - 85 files changed, 217 insertions(+), 278 deletions(-) diff --git a/src/main/java/run/halo/app/Application.java b/src/main/java/run/halo/app/Application.java index 81f466e15..b4e6fb4f9 100755 --- a/src/main/java/run/halo/app/Application.java +++ b/src/main/java/run/halo/app/Application.java @@ -1,12 +1,12 @@ package run.halo.app; -import org.springframework.scheduling.annotation.EnableAsync; -import run.halo.app.repository.base.BaseRepositoryImpl; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; +import run.halo.app.repository.base.BaseRepositoryImpl; /** *
diff --git a/src/main/java/run/halo/app/cache/InMemoryCacheStore.java b/src/main/java/run/halo/app/cache/InMemoryCacheStore.java
index 1964f930b..4ef7789a1 100644
--- a/src/main/java/run/halo/app/cache/InMemoryCacheStore.java
+++ b/src/main/java/run/halo/app/cache/InMemoryCacheStore.java
@@ -94,6 +94,12 @@ public class InMemoryCacheStore extends StringCacheStore {
         log.debug("Removed key: [{}]", key);
     }
 
+    @PreDestroy
+    public void preDestroy() {
+        log.debug("Cancelling all timer tasks");
+        timer.cancel();
+    }
+
     /**
      * Cache cleaner.
      *
@@ -111,10 +117,4 @@ public class InMemoryCacheStore extends StringCacheStore {
             });
         }
     }
-
-    @PreDestroy
-    public void preDestroy() {
-        log.debug("Cancelling all timer tasks");
-        timer.cancel();
-    }
 }
diff --git a/src/main/java/run/halo/app/config/HaloConfiguration.java b/src/main/java/run/halo/app/config/HaloConfiguration.java
index 3f33f5be7..e6b631551 100644
--- a/src/main/java/run/halo/app/config/HaloConfiguration.java
+++ b/src/main/java/run/halo/app/config/HaloConfiguration.java
@@ -8,7 +8,6 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.Ordered;
-import org.springframework.http.HttpMethod;
 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
 import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
 import org.springframework.web.client.RestTemplate;
diff --git a/src/main/java/run/halo/app/config/SwaggerConfiguration.java b/src/main/java/run/halo/app/config/SwaggerConfiguration.java
index dfc97123d..0cd172f20 100644
--- a/src/main/java/run/halo/app/config/SwaggerConfiguration.java
+++ b/src/main/java/run/halo/app/config/SwaggerConfiguration.java
@@ -3,7 +3,6 @@ package run.halo.app.config;
 import com.fasterxml.classmate.TypeResolver;
 import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.Ordered;
@@ -57,7 +56,7 @@ public class SwaggerConfiguration {
             new ResponseMessageBuilder().code(404).message("Not found").build(),
             new ResponseMessageBuilder().code(500).message("Internal server error").build());
 
-    public SwaggerConfiguration(                                HaloProperties haloProperties) {
+    public SwaggerConfiguration(HaloProperties haloProperties) {
         this.haloProperties = haloProperties;
     }
 
diff --git a/src/main/java/run/halo/app/controller/admin/api/LogController.java b/src/main/java/run/halo/app/controller/admin/api/LogController.java
index 0b8f4b13a..34f02d9ce 100644
--- a/src/main/java/run/halo/app/controller/admin/api/LogController.java
+++ b/src/main/java/run/halo/app/controller/admin/api/LogController.java
@@ -45,7 +45,7 @@ public class LogController {
     }
 
     @GetMapping
-    public Page pageBy(@PageableDefault(sort = "updateTime", direction = DESC) Pageable pageable){
+    public Page pageBy(@PageableDefault(sort = "updateTime", direction = DESC) Pageable pageable) {
         Page logPage = logService.listAll(pageable);
         return logPage.map(log -> new LogDTO().convertFrom(log));
     }
diff --git a/src/main/java/run/halo/app/controller/admin/api/OptionController.java b/src/main/java/run/halo/app/controller/admin/api/OptionController.java
index 29942c840..cc75de97c 100644
--- a/src/main/java/run/halo/app/controller/admin/api/OptionController.java
+++ b/src/main/java/run/halo/app/controller/admin/api/OptionController.java
@@ -4,10 +4,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import run.halo.app.model.dto.OptionDTO;
-import run.halo.app.model.params.MailParam;
 import run.halo.app.model.params.OptionParam;
-import run.halo.app.model.support.BaseResponse;
-import run.halo.app.service.MailService;
 import run.halo.app.service.OptionService;
 
 import javax.validation.Valid;
diff --git a/src/main/java/run/halo/app/controller/base/CommonResultControllerAdvice.java b/src/main/java/run/halo/app/controller/base/CommonResultControllerAdvice.java
index 427de66ab..3a251ae21 100644
--- a/src/main/java/run/halo/app/controller/base/CommonResultControllerAdvice.java
+++ b/src/main/java/run/halo/app/controller/base/CommonResultControllerAdvice.java
@@ -1,6 +1,5 @@
 package run.halo.app.controller.base;
 
-import run.halo.app.model.support.BaseResponse;
 import org.springframework.core.MethodParameter;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
diff --git a/src/main/java/run/halo/app/controller/base/ControllerExceptionHandler.java b/src/main/java/run/halo/app/controller/base/ControllerExceptionHandler.java
index 7cce8721e..bd756d1d4 100644
--- a/src/main/java/run/halo/app/controller/base/ControllerExceptionHandler.java
+++ b/src/main/java/run/halo/app/controller/base/ControllerExceptionHandler.java
@@ -1,16 +1,12 @@
 package run.halo.app.controller.base;
 
-import org.springframework.web.HttpMediaTypeNotAcceptableException;
-import run.halo.app.exception.HaloException;
-import run.halo.app.model.support.BaseResponse;
-import run.halo.app.utils.ExceptionUtils;
-import run.halo.app.utils.ValidationUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.converter.HttpMessageNotReadableException;
 import org.springframework.util.Assert;
+import org.springframework.web.HttpMediaTypeNotAcceptableException;
 import org.springframework.web.HttpRequestMethodNotSupportedException;
 import org.springframework.web.bind.MethodArgumentNotValidException;
 import org.springframework.web.bind.MissingServletRequestParameterException;
diff --git a/src/main/java/run/halo/app/controller/content/ContentFeedController.java b/src/main/java/run/halo/app/controller/content/ContentFeedController.java
index 492c837fd..94879bea9 100644
--- a/src/main/java/run/halo/app/controller/content/ContentFeedController.java
+++ b/src/main/java/run/halo/app/controller/content/ContentFeedController.java
@@ -33,15 +33,11 @@ import static org.springframework.data.domain.Sort.Direction.DESC;
 @Controller
 public class ContentFeedController {
 
-    private final PostService postService;
-
-    private final OptionService optionService;
-
-    private final FreeMarkerConfigurer freeMarker;
-
     private final static String UTF_8_SUFFIX = ";charset=UTF-8";
-
     private final static String XML_MEDIA_TYPE = MediaType.APPLICATION_XML_VALUE + UTF_8_SUFFIX;
+    private final PostService postService;
+    private final OptionService optionService;
+    private final FreeMarkerConfigurer freeMarker;
 
     public ContentFeedController(PostService postService,
                                  OptionService optionService,
diff --git a/src/main/java/run/halo/app/controller/content/ContentJournalController.java b/src/main/java/run/halo/app/controller/content/ContentJournalController.java
index 513cb5999..f48c8fa7c 100644
--- a/src/main/java/run/halo/app/controller/content/ContentJournalController.java
+++ b/src/main/java/run/halo/app/controller/content/ContentJournalController.java
@@ -70,8 +70,8 @@ public class ContentJournalController {
      */
     @GetMapping(value = "page/{page}")
     public String journals(Model model,
-                          @PathVariable(value = "page") Integer page,
-                          @SortDefault(sort = "createTime", direction = DESC) Sort sort) {
+                           @PathVariable(value = "page") Integer page,
+                           @SortDefault(sort = "createTime", direction = DESC) Sort sort) {
         log.debug("Requested journal page, sort info: [{}]", sort);
 
         int pageSize = optionService.getPostPageSize();
diff --git a/src/main/java/run/halo/app/controller/content/MainController.java b/src/main/java/run/halo/app/controller/content/MainController.java
index 0c905097c..740901080 100644
--- a/src/main/java/run/halo/app/controller/content/MainController.java
+++ b/src/main/java/run/halo/app/controller/content/MainController.java
@@ -59,7 +59,7 @@ public class MainController {
     @GetMapping("/logo")
     public void logo(HttpServletResponse response) throws IOException {
         String blogLogo = optionService.getByProperty(BlogProperties.BLOG_LOGO).orElse("").toString();
-        if(StringUtils.isNotEmpty(blogLogo)){
+        if (StringUtils.isNotEmpty(blogLogo)) {
             response.sendRedirect(blogLogo);
         }
     }
diff --git a/src/main/java/run/halo/app/controller/content/api/ArchiveController.java b/src/main/java/run/halo/app/controller/content/api/ArchiveController.java
index a5c9bc5d2..9c48e7d4c 100644
--- a/src/main/java/run/halo/app/controller/content/api/ArchiveController.java
+++ b/src/main/java/run/halo/app/controller/content/api/ArchiveController.java
@@ -1,11 +1,11 @@
 package run.halo.app.controller.content.api;
 
-import run.halo.app.model.vo.ArchiveMonthVO;
-import run.halo.app.model.vo.ArchiveYearVO;
-import run.halo.app.service.PostService;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import run.halo.app.model.vo.ArchiveMonthVO;
+import run.halo.app.model.vo.ArchiveYearVO;
+import run.halo.app.service.PostService;
 
 import java.util.List;
 
diff --git a/src/main/java/run/halo/app/controller/content/api/LinkController.java b/src/main/java/run/halo/app/controller/content/api/LinkController.java
index 5427dc2b6..dea1585b6 100644
--- a/src/main/java/run/halo/app/controller/content/api/LinkController.java
+++ b/src/main/java/run/halo/app/controller/content/api/LinkController.java
@@ -1,7 +1,5 @@
 package run.halo.app.controller.content.api;
 
-import run.halo.app.model.vo.LinkTeamVO;
-import run.halo.app.service.LinkService;
 import org.springframework.data.domain.Sort;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/src/main/java/run/halo/app/controller/content/api/MenuController.java b/src/main/java/run/halo/app/controller/content/api/MenuController.java
index 1b424bf62..45cc954f6 100644
--- a/src/main/java/run/halo/app/controller/content/api/MenuController.java
+++ b/src/main/java/run/halo/app/controller/content/api/MenuController.java
@@ -1,13 +1,13 @@
 package run.halo.app.controller.content.api;
 
-import run.halo.app.model.dto.MenuDTO;
-import run.halo.app.service.MenuService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.SortDefault;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import run.halo.app.model.dto.MenuDTO;
+import run.halo.app.service.MenuService;
 
 import java.util.List;
 
diff --git a/src/main/java/run/halo/app/controller/content/api/OptionController.java b/src/main/java/run/halo/app/controller/content/api/OptionController.java
index 933562cae..eeabbeafd 100644
--- a/src/main/java/run/halo/app/controller/content/api/OptionController.java
+++ b/src/main/java/run/halo/app/controller/content/api/OptionController.java
@@ -1,12 +1,12 @@
 package run.halo.app.controller.content.api;
 
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.HttpStatus;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import run.halo.app.model.dto.OptionDTO;
 import run.halo.app.model.support.BaseResponse;
 import run.halo.app.service.OptionService;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.http.HttpStatus;
 
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/run/halo/app/controller/content/api/UserController.java b/src/main/java/run/halo/app/controller/content/api/UserController.java
index 2315b9797..b9377e740 100644
--- a/src/main/java/run/halo/app/controller/content/api/UserController.java
+++ b/src/main/java/run/halo/app/controller/content/api/UserController.java
@@ -1,11 +1,11 @@
 package run.halo.app.controller.content.api;
 
-import run.halo.app.model.dto.UserDTO;
-import run.halo.app.service.UserService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import run.halo.app.model.dto.UserDTO;
+import run.halo.app.service.UserService;
 
 /**
  * Portal user controller.
@@ -26,6 +26,6 @@ public class UserController {
     @GetMapping("profile")
     @ApiOperation("Gets blogger profile")
     public UserDTO getProfile() {
-        return userService.getCurrentUser().map(user -> new UserDTO().convertFrom(user)).get();
+        return userService.getCurrentUser().map(user -> (UserDTO) new UserDTO().convertFrom(user)).get();
     }
 }
diff --git a/src/main/java/run/halo/app/controller/support/PageJacksonSerializer.java b/src/main/java/run/halo/app/controller/support/PageJacksonSerializer.java
index 764e60bc3..408dafd2f 100644
--- a/src/main/java/run/halo/app/controller/support/PageJacksonSerializer.java
+++ b/src/main/java/run/halo/app/controller/support/PageJacksonSerializer.java
@@ -1,6 +1,5 @@
 package run.halo.app.controller.support;
 
-import run.halo.app.model.support.CommentPage;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.JsonSerializer;
 import com.fasterxml.jackson.databind.SerializerProvider;
diff --git a/src/main/java/run/halo/app/event/theme/ThemeActivatedEvent.java b/src/main/java/run/halo/app/event/theme/ThemeActivatedEvent.java
index 173815552..b39899204 100644
--- a/src/main/java/run/halo/app/event/theme/ThemeActivatedEvent.java
+++ b/src/main/java/run/halo/app/event/theme/ThemeActivatedEvent.java
@@ -1,9 +1,6 @@
 package run.halo.app.event.theme;
 
 import org.springframework.context.ApplicationEvent;
-import org.springframework.lang.NonNull;
-import org.springframework.util.Assert;
-import run.halo.app.handler.theme.config.support.ThemeProperty;
 
 /**
  * Theme activated event.
diff --git a/src/main/java/run/halo/app/event/theme/ThemeUpdatedListener.java b/src/main/java/run/halo/app/event/theme/ThemeUpdatedListener.java
index 0cb624680..799cb7390 100644
--- a/src/main/java/run/halo/app/event/theme/ThemeUpdatedListener.java
+++ b/src/main/java/run/halo/app/event/theme/ThemeUpdatedListener.java
@@ -1,7 +1,6 @@
 package run.halo.app.event.theme;
 
 import org.springframework.context.event.EventListener;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 import run.halo.app.cache.StringCacheStore;
 import run.halo.app.event.options.OptionUpdatedEvent;
diff --git a/src/main/java/run/halo/app/filter/CorsFilter.java b/src/main/java/run/halo/app/filter/CorsFilter.java
index 5ac9b0de4..191022901 100644
--- a/src/main/java/run/halo/app/filter/CorsFilter.java
+++ b/src/main/java/run/halo/app/filter/CorsFilter.java
@@ -1,10 +1,10 @@
 package run.halo.app.filter;
 
-import run.halo.app.security.filter.AdminAuthenticationFilter;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.http.HttpHeaders;
 import org.springframework.web.cors.CorsUtils;
 import org.springframework.web.filter.GenericFilterBean;
+import run.halo.app.security.filter.AdminAuthenticationFilter;
 
 import javax.servlet.FilterChain;
 import javax.servlet.ServletException;
diff --git a/src/main/java/run/halo/app/handler/file/FileHandler.java b/src/main/java/run/halo/app/handler/file/FileHandler.java
index 1de46ee93..8d7b5da31 100644
--- a/src/main/java/run/halo/app/handler/file/FileHandler.java
+++ b/src/main/java/run/halo/app/handler/file/FileHandler.java
@@ -22,6 +22,39 @@ public interface FileHandler {
 
     MediaType IMAGE_TYPE = MediaType.valueOf("image/*");
 
+    /**
+     * Check whether media type provided is an image type.
+     *
+     * @param mediaType media type provided
+     * @return true if it is an image type
+     */
+    static boolean isImageType(@Nullable String mediaType) {
+        return mediaType != null && IMAGE_TYPE.includes(MediaType.valueOf(mediaType));
+    }
+
+    /**
+     * Check whether media type provided is an image type.
+     *
+     * @param mediaType media type provided
+     * @return true if it is an image type
+     */
+    static boolean isImageType(@Nullable MediaType mediaType) {
+        return mediaType != null && IMAGE_TYPE.includes(mediaType);
+    }
+
+    /**
+     * Normalize directory full name, ensure the end path separator.
+     *
+     * @param dir directory full name must not be blank
+     * @return normalized directory full name with end path separator
+     */
+    @NonNull
+    static String normalizeDirectory(@NonNull String dir) {
+        Assert.hasText(dir, "Directory full name must not be blank");
+
+        return StringUtils.appendIfMissing(dir, FILE_SEPARATOR);
+    }
+
     /**
      * Uploads file.
      *
@@ -47,39 +80,4 @@ public interface FileHandler {
      * @return true if supported; false or else
      */
     boolean supportType(@Nullable AttachmentType type);
-
-
-    /**
-     * Check whether media type provided is an image type.
-     *
-     * @param mediaType media type provided
-     * @return true if it is an image type
-     */
-    static boolean isImageType(@Nullable String mediaType) {
-        return mediaType != null && IMAGE_TYPE.includes(MediaType.valueOf(mediaType));
-    }
-
-
-    /**
-     * Check whether media type provided is an image type.
-     *
-     * @param mediaType media type provided
-     * @return true if it is an image type
-     */
-    static boolean isImageType(@Nullable MediaType mediaType) {
-        return mediaType != null && IMAGE_TYPE.includes(mediaType);
-    }
-
-    /**
-     * Normalize directory full name, ensure the end path separator.
-     *
-     * @param dir directory full name must not be blank
-     * @return normalized directory full name with end path separator
-     */
-    @NonNull
-    static String normalizeDirectory(@NonNull String dir) {
-        Assert.hasText(dir, "Directory full name must not be blank");
-
-        return StringUtils.appendIfMissing(dir, FILE_SEPARATOR);
-    }
 }
diff --git a/src/main/java/run/halo/app/handler/file/FileHandlers.java b/src/main/java/run/halo/app/handler/file/FileHandlers.java
index 99b87beba..4df893abe 100644
--- a/src/main/java/run/halo/app/handler/file/FileHandlers.java
+++ b/src/main/java/run/halo/app/handler/file/FileHandlers.java
@@ -1,9 +1,5 @@
 package run.halo.app.handler.file;
 
-import run.halo.app.exception.FileOperationException;
-import run.halo.app.model.entity.Attachment;
-import run.halo.app.model.enums.AttachmentType;
-import run.halo.app.model.support.UploadResult;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.ApplicationContext;
 import org.springframework.lang.NonNull;
@@ -12,6 +8,10 @@ import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
+import run.halo.app.exception.FileOperationException;
+import run.halo.app.model.entity.Attachment;
+import run.halo.app.model.enums.AttachmentType;
+import run.halo.app.model.support.UploadResult;
 
 import java.util.Collection;
 import java.util.LinkedList;
diff --git a/src/main/java/run/halo/app/handler/file/LocalFileHandler.java b/src/main/java/run/halo/app/handler/file/LocalFileHandler.java
index 4c626e5a8..14cf56bb1 100644
--- a/src/main/java/run/halo/app/handler/file/LocalFileHandler.java
+++ b/src/main/java/run/halo/app/handler/file/LocalFileHandler.java
@@ -1,5 +1,12 @@
 package run.halo.app.handler.file;
 
+import lombok.extern.slf4j.Slf4j;
+import net.coobird.thumbnailator.Thumbnails;
+import org.springframework.http.MediaType;
+import org.springframework.lang.NonNull;
+import org.springframework.stereotype.Component;
+import org.springframework.util.Assert;
+import org.springframework.web.multipart.MultipartFile;
 import run.halo.app.config.properties.HaloProperties;
 import run.halo.app.exception.FileOperationException;
 import run.halo.app.exception.ServiceException;
@@ -8,13 +15,6 @@ import run.halo.app.model.support.UploadResult;
 import run.halo.app.service.OptionService;
 import run.halo.app.utils.FilenameUtils;
 import run.halo.app.utils.HaloUtils;
-import lombok.extern.slf4j.Slf4j;
-import net.coobird.thumbnailator.Thumbnails;
-import org.springframework.http.MediaType;
-import org.springframework.lang.NonNull;
-import org.springframework.stereotype.Component;
-import org.springframework.util.Assert;
-import org.springframework.web.multipart.MultipartFile;
 
 import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
diff --git a/src/main/java/run/halo/app/handler/theme/config/support/ThemeProperty.java b/src/main/java/run/halo/app/handler/theme/config/support/ThemeProperty.java
index 859b13cf6..50bdd14da 100644
--- a/src/main/java/run/halo/app/handler/theme/config/support/ThemeProperty.java
+++ b/src/main/java/run/halo/app/handler/theme/config/support/ThemeProperty.java
@@ -73,6 +73,19 @@ public class ThemeProperty {
      */
     private String screenshots;
 
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        ThemeProperty that = (ThemeProperty) o;
+        return id.equals(that.id);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(id);
+    }
+
     @Data
     public static class Author {
 
@@ -91,17 +104,4 @@ public class ThemeProperty {
          */
         private String avatar;
     }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        ThemeProperty that = (ThemeProperty) o;
-        return id.equals(that.id);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(id);
-    }
 }
diff --git a/src/main/java/run/halo/app/model/dto/AttachmentDTO.java b/src/main/java/run/halo/app/model/dto/AttachmentDTO.java
index c65de8bee..74549eada 100644
--- a/src/main/java/run/halo/app/model/dto/AttachmentDTO.java
+++ b/src/main/java/run/halo/app/model/dto/AttachmentDTO.java
@@ -1,9 +1,9 @@
 package run.halo.app.model.dto;
 
+import lombok.Data;
 import run.halo.app.model.dto.base.OutputConverter;
 import run.halo.app.model.entity.Attachment;
 import run.halo.app.model.enums.AttachmentType;
-import lombok.Data;
 
 import java.util.Date;
 
diff --git a/src/main/java/run/halo/app/model/dto/CategoryDTO.java b/src/main/java/run/halo/app/model/dto/CategoryDTO.java
index d8b631bbf..1ea27fd42 100644
--- a/src/main/java/run/halo/app/model/dto/CategoryDTO.java
+++ b/src/main/java/run/halo/app/model/dto/CategoryDTO.java
@@ -1,10 +1,10 @@
 package run.halo.app.model.dto;
 
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
 import run.halo.app.model.dto.base.OutputConverter;
 import run.halo.app.model.entity.Category;
-import lombok.Data;
 
 /**
  * Category output dto.
diff --git a/src/main/java/run/halo/app/model/dto/LinkDTO.java b/src/main/java/run/halo/app/model/dto/LinkDTO.java
index ef39f930f..5882b1c62 100644
--- a/src/main/java/run/halo/app/model/dto/LinkDTO.java
+++ b/src/main/java/run/halo/app/model/dto/LinkDTO.java
@@ -1,8 +1,8 @@
 package run.halo.app.model.dto;
 
+import lombok.Data;
 import run.halo.app.model.dto.base.OutputConverter;
 import run.halo.app.model.entity.Link;
-import lombok.Data;
 
 /**
  * Link output dto.
diff --git a/src/main/java/run/halo/app/model/dto/LogDTO.java b/src/main/java/run/halo/app/model/dto/LogDTO.java
index 42a90a6ce..54841fbd1 100644
--- a/src/main/java/run/halo/app/model/dto/LogDTO.java
+++ b/src/main/java/run/halo/app/model/dto/LogDTO.java
@@ -1,11 +1,11 @@
 package run.halo.app.model.dto;
 
-import run.halo.app.model.dto.base.OutputConverter;
-import run.halo.app.model.entity.Log;
-import run.halo.app.model.enums.LogType;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
+import run.halo.app.model.dto.base.OutputConverter;
+import run.halo.app.model.entity.Log;
+import run.halo.app.model.enums.LogType;
 
 import java.util.Date;
 
diff --git a/src/main/java/run/halo/app/model/dto/MenuDTO.java b/src/main/java/run/halo/app/model/dto/MenuDTO.java
index c37152c37..0a349e4b9 100644
--- a/src/main/java/run/halo/app/model/dto/MenuDTO.java
+++ b/src/main/java/run/halo/app/model/dto/MenuDTO.java
@@ -1,8 +1,8 @@
 package run.halo.app.model.dto;
 
+import lombok.Data;
 import run.halo.app.model.dto.base.OutputConverter;
 import run.halo.app.model.entity.Menu;
-import lombok.Data;
 
 /**
  * Menu output dto.
diff --git a/src/main/java/run/halo/app/model/dto/PhotoDTO.java b/src/main/java/run/halo/app/model/dto/PhotoDTO.java
index b4f7747b2..38d09fb62 100644
--- a/src/main/java/run/halo/app/model/dto/PhotoDTO.java
+++ b/src/main/java/run/halo/app/model/dto/PhotoDTO.java
@@ -1,8 +1,8 @@
 package run.halo.app.model.dto;
 
+import lombok.Data;
 import run.halo.app.model.dto.base.OutputConverter;
 import run.halo.app.model.entity.Photo;
-import lombok.Data;
 
 import java.util.Date;
 
diff --git a/src/main/java/run/halo/app/model/dto/TagDTO.java b/src/main/java/run/halo/app/model/dto/TagDTO.java
index d74b65c40..405807c58 100644
--- a/src/main/java/run/halo/app/model/dto/TagDTO.java
+++ b/src/main/java/run/halo/app/model/dto/TagDTO.java
@@ -1,8 +1,8 @@
 package run.halo.app.model.dto;
 
+import lombok.Data;
 import run.halo.app.model.dto.base.OutputConverter;
 import run.halo.app.model.entity.Tag;
-import lombok.Data;
 
 /**
  * Tag output dto.
diff --git a/src/main/java/run/halo/app/model/dto/UserDTO.java b/src/main/java/run/halo/app/model/dto/UserDTO.java
index 9e1d7f3eb..2c787772f 100644
--- a/src/main/java/run/halo/app/model/dto/UserDTO.java
+++ b/src/main/java/run/halo/app/model/dto/UserDTO.java
@@ -1,10 +1,10 @@
 package run.halo.app.model.dto;
 
-import run.halo.app.model.dto.base.OutputConverter;
-import run.halo.app.model.entity.User;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
+import run.halo.app.model.dto.base.OutputConverter;
+import run.halo.app.model.entity.User;
 
 import java.util.Date;
 
diff --git a/src/main/java/run/halo/app/model/entity/PostCategory.java b/src/main/java/run/halo/app/model/entity/PostCategory.java
index 764f11aec..4d64c1dcd 100644
--- a/src/main/java/run/halo/app/model/entity/PostCategory.java
+++ b/src/main/java/run/halo/app/model/entity/PostCategory.java
@@ -1,7 +1,6 @@
 package run.halo.app.model.entity;
 
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import lombok.ToString;
 
 import javax.persistence.*;
diff --git a/src/main/java/run/halo/app/model/entity/PostTag.java b/src/main/java/run/halo/app/model/entity/PostTag.java
index 18cffdf48..010553df3 100644
--- a/src/main/java/run/halo/app/model/entity/PostTag.java
+++ b/src/main/java/run/halo/app/model/entity/PostTag.java
@@ -1,7 +1,6 @@
 package run.halo.app.model.entity;
 
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import lombok.ToString;
 
 import javax.persistence.*;
diff --git a/src/main/java/run/halo/app/model/enums/DataType.java b/src/main/java/run/halo/app/model/enums/DataType.java
index 443352199..8af96b00a 100644
--- a/src/main/java/run/halo/app/model/enums/DataType.java
+++ b/src/main/java/run/halo/app/model/enums/DataType.java
@@ -29,12 +29,6 @@ public enum DataType implements ValueEnum {
         this.value = value;
     }
 
-
-    @Override
-    public Integer getValue() {
-        return value;
-    }
-
     /**
      * Data type of string.
      *
@@ -53,6 +47,11 @@ public enum DataType implements ValueEnum {
         return STRING;
     }
 
+    @Override
+    public Integer getValue() {
+        return value;
+    }
+
     /**
      * Converts data to corresponding type.
      *
diff --git a/src/main/java/run/halo/app/model/enums/ValueEnum.java b/src/main/java/run/halo/app/model/enums/ValueEnum.java
index e80125b71..8b2be9c37 100644
--- a/src/main/java/run/halo/app/model/enums/ValueEnum.java
+++ b/src/main/java/run/halo/app/model/enums/ValueEnum.java
@@ -12,13 +12,6 @@ import java.util.stream.Stream;
  */
 public interface ValueEnum {
 
-    /**
-     * Gets enum value.
-     *
-     * @return enum value
-     */
-    T getValue();
-
     /**
      * Converts value to corresponding enum.
      *
@@ -39,4 +32,11 @@ public interface ValueEnum {
                 .orElseThrow(() -> new IllegalArgumentException("unknown database value: " + value));
     }
 
+    /**
+     * Gets enum value.
+     *
+     * @return enum value
+     */
+    T getValue();
+
 }
diff --git a/src/main/java/run/halo/app/model/enums/converter/AttachmentTypeConverter.java b/src/main/java/run/halo/app/model/enums/converter/AttachmentTypeConverter.java
index 42bfec86e..04835e7d7 100644
--- a/src/main/java/run/halo/app/model/enums/converter/AttachmentTypeConverter.java
+++ b/src/main/java/run/halo/app/model/enums/converter/AttachmentTypeConverter.java
@@ -1,6 +1,5 @@
 package run.halo.app.model.enums.converter;
 
-import run.halo.app.model.enums.AttachmentType;
 import run.halo.app.model.enums.AttachmentType;
 
 import javax.persistence.Converter;
diff --git a/src/main/java/run/halo/app/model/freemarker/tag/MenuTagDirective.java b/src/main/java/run/halo/app/model/freemarker/tag/MenuTagDirective.java
index 406daf4f2..ee13324e2 100644
--- a/src/main/java/run/halo/app/model/freemarker/tag/MenuTagDirective.java
+++ b/src/main/java/run/halo/app/model/freemarker/tag/MenuTagDirective.java
@@ -25,7 +25,7 @@ public class MenuTagDirective implements TemplateDirectiveModel {
 
     private final MenuService menuService;
 
-    public MenuTagDirective(Configuration configuration,MenuService menuService) {
+    public MenuTagDirective(Configuration configuration, MenuService menuService) {
         this.menuService = menuService;
         configuration.setSharedVariable("menuTag", this);
     }
@@ -41,7 +41,7 @@ public class MenuTagDirective implements TemplateDirectiveModel {
                     env.setVariable("menus", builder.build().wrap(menuService.listAll()));
                     break;
                 case "tree":
-                    env.setVariable("menus",builder.build().wrap(menuService.listAsTree(Sort.by(DESC, "priority"))));
+                    env.setVariable("menus", builder.build().wrap(menuService.listAsTree(Sort.by(DESC, "priority"))));
                     break;
                 case "count":
                     env.setVariable("count", builder.build().wrap(menuService.count()));
diff --git a/src/main/java/run/halo/app/model/params/CategoryParam.java b/src/main/java/run/halo/app/model/params/CategoryParam.java
index 78a86f650..62a4e8cad 100644
--- a/src/main/java/run/halo/app/model/params/CategoryParam.java
+++ b/src/main/java/run/halo/app/model/params/CategoryParam.java
@@ -1,11 +1,11 @@
 package run.halo.app.model.params;
 
+import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
 import run.halo.app.model.dto.base.InputConverter;
 import run.halo.app.model.entity.Category;
 import run.halo.app.utils.HaloUtils;
 import run.halo.app.utils.SlugUtils;
-import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
diff --git a/src/main/java/run/halo/app/model/params/LinkParam.java b/src/main/java/run/halo/app/model/params/LinkParam.java
index b14635dfe..b0e7a3b33 100644
--- a/src/main/java/run/halo/app/model/params/LinkParam.java
+++ b/src/main/java/run/halo/app/model/params/LinkParam.java
@@ -1,9 +1,9 @@
 package run.halo.app.model.params;
 
-import run.halo.app.model.dto.base.InputConverter;
-import run.halo.app.model.entity.Link;
 import lombok.Data;
 import org.hibernate.validator.constraints.URL;
+import run.halo.app.model.dto.base.InputConverter;
+import run.halo.app.model.entity.Link;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
diff --git a/src/main/java/run/halo/app/model/params/LogParam.java b/src/main/java/run/halo/app/model/params/LogParam.java
index 636285370..03bacd722 100644
--- a/src/main/java/run/halo/app/model/params/LogParam.java
+++ b/src/main/java/run/halo/app/model/params/LogParam.java
@@ -1,7 +1,6 @@
 package run.halo.app.model.params;
 
 import lombok.AllArgsConstructor;
-import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import run.halo.app.model.dto.base.InputConverter;
diff --git a/src/main/java/run/halo/app/model/params/OptionParam.java b/src/main/java/run/halo/app/model/params/OptionParam.java
index 2f73c9615..6c888f52a 100644
--- a/src/main/java/run/halo/app/model/params/OptionParam.java
+++ b/src/main/java/run/halo/app/model/params/OptionParam.java
@@ -1,8 +1,8 @@
 package run.halo.app.model.params;
 
+import lombok.Data;
 import run.halo.app.model.dto.base.InputConverter;
 import run.halo.app.model.entity.Option;
-import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
diff --git a/src/main/java/run/halo/app/model/params/PostParam.java b/src/main/java/run/halo/app/model/params/PostParam.java
index 5c05aa622..159d2ea6a 100644
--- a/src/main/java/run/halo/app/model/params/PostParam.java
+++ b/src/main/java/run/halo/app/model/params/PostParam.java
@@ -1,13 +1,13 @@
 package run.halo.app.model.params;
 
+import cn.hutool.crypto.digest.BCrypt;
+import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
 import run.halo.app.model.dto.base.InputConverter;
 import run.halo.app.model.entity.Post;
 import run.halo.app.model.enums.PostCreateFrom;
 import run.halo.app.model.enums.PostStatus;
 import run.halo.app.utils.HaloUtils;
-import cn.hutool.crypto.digest.BCrypt;
-import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
 
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotBlank;
diff --git a/src/main/java/run/halo/app/model/params/TagParam.java b/src/main/java/run/halo/app/model/params/TagParam.java
index 871335d20..dc4d50c56 100644
--- a/src/main/java/run/halo/app/model/params/TagParam.java
+++ b/src/main/java/run/halo/app/model/params/TagParam.java
@@ -1,11 +1,9 @@
 package run.halo.app.model.params;
 
-import run.halo.app.model.dto.base.InputConverter;
-import run.halo.app.model.entity.Tag;
-import run.halo.app.utils.HaloUtils;
-import run.halo.app.utils.SlugUtils;
 import lombok.Data;
 import org.apache.commons.lang3.StringUtils;
+import run.halo.app.model.dto.base.InputConverter;
+import run.halo.app.model.entity.Tag;
 import run.halo.app.utils.HaloUtils;
 import run.halo.app.utils.SlugUtils;
 
diff --git a/src/main/java/run/halo/app/model/properties/CommentProperties.java b/src/main/java/run/halo/app/model/properties/CommentProperties.java
index 02f7298c5..f124dead1 100644
--- a/src/main/java/run/halo/app/model/properties/CommentProperties.java
+++ b/src/main/java/run/halo/app/model/properties/CommentProperties.java
@@ -51,4 +51,5 @@ public enum CommentProperties implements PropertyEnum {
     @Override
     public String getValue() {
         return value;
-    }}
+    }
+}
diff --git a/src/main/java/run/halo/app/model/properties/OtherProperties.java b/src/main/java/run/halo/app/model/properties/OtherProperties.java
index 6928046d1..175c62e19 100644
--- a/src/main/java/run/halo/app/model/properties/OtherProperties.java
+++ b/src/main/java/run/halo/app/model/properties/OtherProperties.java
@@ -17,7 +17,7 @@ public enum OtherProperties implements PropertyEnum {
     /**
      * 是否禁止爬虫
      */
-    SPIDER_DISABLED("spider_disabled",Boolean.class,"false");
+    SPIDER_DISABLED("spider_disabled", Boolean.class, "false");
 
     private final String value;
 
diff --git a/src/main/java/run/halo/app/model/properties/SeoProperties.java b/src/main/java/run/halo/app/model/properties/SeoProperties.java
index 86acef1bb..9b4cbd4e4 100644
--- a/src/main/java/run/halo/app/model/properties/SeoProperties.java
+++ b/src/main/java/run/halo/app/model/properties/SeoProperties.java
@@ -25,7 +25,7 @@ public enum SeoProperties implements PropertyEnum {
     private final String value;
 
     private final Class type;
-    
+
     private final String defaultValue;
 
     SeoProperties(String value, Class type, String defaultValue) {
@@ -47,4 +47,5 @@ public enum SeoProperties implements PropertyEnum {
     @Override
     public String getValue() {
         return value;
-    }}
+    }
+}
diff --git a/src/main/java/run/halo/app/model/properties/UpYunProperties.java b/src/main/java/run/halo/app/model/properties/UpYunProperties.java
index addb22f54..a85123018 100644
--- a/src/main/java/run/halo/app/model/properties/UpYunProperties.java
+++ b/src/main/java/run/halo/app/model/properties/UpYunProperties.java
@@ -20,11 +20,9 @@ public enum UpYunProperties implements PropertyEnum {
 
     OSS_SMALL_URL("oss_upyun_small_url", String.class, "");
 
-    private String value;
-
-    private Class type;
-
     private final String defaultValue;
+    private String value;
+    private Class type;
 
     UpYunProperties(String value, Class type, String defaultValue) {
         this.defaultValue = defaultValue;
diff --git a/src/main/java/run/halo/app/model/vo/CategoryVO.java b/src/main/java/run/halo/app/model/vo/CategoryVO.java
index 78292f321..658060e5a 100644
--- a/src/main/java/run/halo/app/model/vo/CategoryVO.java
+++ b/src/main/java/run/halo/app/model/vo/CategoryVO.java
@@ -1,9 +1,9 @@
 package run.halo.app.model.vo;
 
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
 import run.halo.app.model.dto.CategoryDTO;
-import lombok.Data;
 
 import java.util.List;
 
diff --git a/src/main/java/run/halo/app/model/vo/LinkTeamVO.java b/src/main/java/run/halo/app/model/vo/LinkTeamVO.java
index fb1edd546..387227136 100644
--- a/src/main/java/run/halo/app/model/vo/LinkTeamVO.java
+++ b/src/main/java/run/halo/app/model/vo/LinkTeamVO.java
@@ -1,8 +1,8 @@
 package run.halo.app.model.vo;
 
-import run.halo.app.model.dto.LinkDTO;
 import lombok.Data;
 import lombok.ToString;
+import run.halo.app.model.dto.LinkDTO;
 
 import java.util.List;
 
diff --git a/src/main/java/run/halo/app/repository/CategoryRepository.java b/src/main/java/run/halo/app/repository/CategoryRepository.java
index 5593a8736..42d08cde7 100644
--- a/src/main/java/run/halo/app/repository/CategoryRepository.java
+++ b/src/main/java/run/halo/app/repository/CategoryRepository.java
@@ -1,8 +1,8 @@
 package run.halo.app.repository;
 
+import org.springframework.lang.NonNull;
 import run.halo.app.model.entity.Category;
 import run.halo.app.repository.base.BaseRepository;
-import org.springframework.lang.NonNull;
 
 import java.util.Optional;
 
diff --git a/src/main/java/run/halo/app/repository/JournalCommentRepository.java b/src/main/java/run/halo/app/repository/JournalCommentRepository.java
index e72b06b6f..904d849a8 100644
--- a/src/main/java/run/halo/app/repository/JournalCommentRepository.java
+++ b/src/main/java/run/halo/app/repository/JournalCommentRepository.java
@@ -1,13 +1,8 @@
 package run.halo.app.repository;
 
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.lang.NonNull;
 import run.halo.app.model.entity.JournalComment;
-import run.halo.app.model.projection.CommentCountProjection;
 import run.halo.app.repository.base.BaseCommentRepository;
 
-import java.util.List;
-
 /**
  * Journal comment repository.
  *
diff --git a/src/main/java/run/halo/app/repository/LinkRepository.java b/src/main/java/run/halo/app/repository/LinkRepository.java
index db8d66cf9..33abc49da 100755
--- a/src/main/java/run/halo/app/repository/LinkRepository.java
+++ b/src/main/java/run/halo/app/repository/LinkRepository.java
@@ -2,7 +2,6 @@ package run.halo.app.repository;
 
 import run.halo.app.model.entity.Link;
 import run.halo.app.repository.base.BaseRepository;
-import run.halo.app.repository.base.BaseRepository;
 
 /**
  * Link repository.
diff --git a/src/main/java/run/halo/app/repository/MenuRepository.java b/src/main/java/run/halo/app/repository/MenuRepository.java
index 8db635230..e916875ae 100644
--- a/src/main/java/run/halo/app/repository/MenuRepository.java
+++ b/src/main/java/run/halo/app/repository/MenuRepository.java
@@ -1,11 +1,8 @@
 package run.halo.app.repository;
 
+import org.springframework.lang.NonNull;
 import run.halo.app.model.entity.Menu;
 import run.halo.app.repository.base.BaseRepository;
-import org.springframework.lang.NonNull;
-import run.halo.app.repository.base.BaseRepository;
-
-import java.util.Optional;
 
 /**
  * Menu repository.
diff --git a/src/main/java/run/halo/app/repository/OptionRepository.java b/src/main/java/run/halo/app/repository/OptionRepository.java
index f7248ab5d..62419065e 100755
--- a/src/main/java/run/halo/app/repository/OptionRepository.java
+++ b/src/main/java/run/halo/app/repository/OptionRepository.java
@@ -2,7 +2,6 @@ package run.halo.app.repository;
 
 import run.halo.app.model.entity.Option;
 import run.halo.app.repository.base.BaseRepository;
-import run.halo.app.repository.base.BaseRepository;
 
 import java.util.Optional;
 
diff --git a/src/main/java/run/halo/app/repository/PostCommentRepository.java b/src/main/java/run/halo/app/repository/PostCommentRepository.java
index a8d1fc775..461801739 100644
--- a/src/main/java/run/halo/app/repository/PostCommentRepository.java
+++ b/src/main/java/run/halo/app/repository/PostCommentRepository.java
@@ -1,13 +1,8 @@
 package run.halo.app.repository;
 
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.lang.NonNull;
 import run.halo.app.model.entity.PostComment;
-import run.halo.app.model.projection.CommentCountProjection;
 import run.halo.app.repository.base.BaseCommentRepository;
 
-import java.util.List;
-
 /**
  * PostComment repository.
  *
diff --git a/src/main/java/run/halo/app/repository/PostTagRepository.java b/src/main/java/run/halo/app/repository/PostTagRepository.java
index 69e858a7e..e3452308b 100644
--- a/src/main/java/run/halo/app/repository/PostTagRepository.java
+++ b/src/main/java/run/halo/app/repository/PostTagRepository.java
@@ -1,10 +1,10 @@
 package run.halo.app.repository;
 
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.lang.NonNull;
 import run.halo.app.model.entity.PostTag;
 import run.halo.app.model.projection.TagPostPostCountProjection;
 import run.halo.app.repository.base.BaseRepository;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.lang.NonNull;
 
 import java.util.List;
 import java.util.Set;
diff --git a/src/main/java/run/halo/app/repository/SheetCommentRepository.java b/src/main/java/run/halo/app/repository/SheetCommentRepository.java
index d4fb2679a..a197e143d 100644
--- a/src/main/java/run/halo/app/repository/SheetCommentRepository.java
+++ b/src/main/java/run/halo/app/repository/SheetCommentRepository.java
@@ -1,13 +1,8 @@
 package run.halo.app.repository;
 
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.lang.NonNull;
 import run.halo.app.model.entity.SheetComment;
-import run.halo.app.model.projection.CommentCountProjection;
 import run.halo.app.repository.base.BaseCommentRepository;
 
-import java.util.List;
-
 /**
  * Sheet comment repository.
  *
diff --git a/src/main/java/run/halo/app/repository/TagRepository.java b/src/main/java/run/halo/app/repository/TagRepository.java
index 5993bc966..14b33c0bf 100644
--- a/src/main/java/run/halo/app/repository/TagRepository.java
+++ b/src/main/java/run/halo/app/repository/TagRepository.java
@@ -1,8 +1,7 @@
 package run.halo.app.repository;
 
-import run.halo.app.model.entity.Tag;
-import run.halo.app.repository.base.BaseRepository;
 import org.springframework.lang.NonNull;
+import run.halo.app.model.entity.Tag;
 import run.halo.app.repository.base.BaseRepository;
 
 import java.util.Optional;
diff --git a/src/main/java/run/halo/app/repository/UserRepository.java b/src/main/java/run/halo/app/repository/UserRepository.java
index b5a52c98b..2231d8edc 100755
--- a/src/main/java/run/halo/app/repository/UserRepository.java
+++ b/src/main/java/run/halo/app/repository/UserRepository.java
@@ -1,8 +1,7 @@
 package run.halo.app.repository;
 
-import run.halo.app.model.entity.User;
-import run.halo.app.repository.base.BaseRepository;
 import org.springframework.lang.NonNull;
+import run.halo.app.model.entity.User;
 import run.halo.app.repository.base.BaseRepository;
 
 import java.util.Optional;
diff --git a/src/main/java/run/halo/app/repository/base/BaseRepositoryImpl.java b/src/main/java/run/halo/app/repository/base/BaseRepositoryImpl.java
index 021bfbc32..1f933f506 100644
--- a/src/main/java/run/halo/app/repository/base/BaseRepositoryImpl.java
+++ b/src/main/java/run/halo/app/repository/base/BaseRepositoryImpl.java
@@ -40,6 +40,26 @@ public class BaseRepositoryImpl extends SimpleJpaRepository query) {
+
+        Assert.notNull(query, "TypedQuery must not be null!");
+
+        List totals = query.getResultList();
+        long total = 0L;
+
+        for (Long element : totals) {
+            total += element == null ? 0 : element;
+        }
+
+        return total;
+    }
+
     /**
      * Finds all domain by id list and the specified sort.
      *
@@ -140,24 +160,4 @@ public class BaseRepositoryImpl extends SimpleJpaRepository query) {
-
-        Assert.notNull(query, "TypedQuery must not be null!");
-
-        List totals = query.getResultList();
-        long total = 0L;
-
-        for (Long element : totals) {
-            total += element == null ? 0 : element;
-        }
-
-        return total;
-    }
 }
diff --git a/src/main/java/run/halo/app/security/authentication/Authentication.java b/src/main/java/run/halo/app/security/authentication/Authentication.java
index 1a8f40513..39782d026 100644
--- a/src/main/java/run/halo/app/security/authentication/Authentication.java
+++ b/src/main/java/run/halo/app/security/authentication/Authentication.java
@@ -1,7 +1,7 @@
 package run.halo.app.security.authentication;
 
-import run.halo.app.security.support.UserDetail;
 import org.springframework.lang.NonNull;
+import run.halo.app.security.support.UserDetail;
 
 /**
  * Authentication.
diff --git a/src/main/java/run/halo/app/security/context/SecurityContext.java b/src/main/java/run/halo/app/security/context/SecurityContext.java
index e20f289cd..e0433c87c 100644
--- a/src/main/java/run/halo/app/security/context/SecurityContext.java
+++ b/src/main/java/run/halo/app/security/context/SecurityContext.java
@@ -1,6 +1,5 @@
 package run.halo.app.security.context;
 
-import run.halo.app.security.authentication.Authentication;
 import org.springframework.lang.Nullable;
 import run.halo.app.security.authentication.Authentication;
 
diff --git a/src/main/java/run/halo/app/security/context/SecurityContextImpl.java b/src/main/java/run/halo/app/security/context/SecurityContextImpl.java
index af7e0d681..0c965f6f9 100644
--- a/src/main/java/run/halo/app/security/context/SecurityContextImpl.java
+++ b/src/main/java/run/halo/app/security/context/SecurityContextImpl.java
@@ -1,6 +1,5 @@
 package run.halo.app.security.context;
 
-import run.halo.app.security.authentication.Authentication;
 import lombok.AllArgsConstructor;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
diff --git a/src/main/java/run/halo/app/security/filter/AbstractAuthenticationFilter.java b/src/main/java/run/halo/app/security/filter/AbstractAuthenticationFilter.java
index b2a2141ff..24d991c4e 100644
--- a/src/main/java/run/halo/app/security/filter/AbstractAuthenticationFilter.java
+++ b/src/main/java/run/halo/app/security/filter/AbstractAuthenticationFilter.java
@@ -31,19 +31,15 @@ import java.util.Set;
  */
 public abstract class AbstractAuthenticationFilter extends OncePerRequestFilter {
 
+    protected final AntPathMatcher antPathMatcher;
+    protected final HaloProperties haloProperties;
+    protected final OptionService optionService;
     private AuthenticationFailureHandler failureHandler;
-
     /**
      * Exclude url patterns.
      */
     private Set excludeUrlPatterns = new HashSet<>(2);
 
-    protected final AntPathMatcher antPathMatcher;
-
-    protected final HaloProperties haloProperties;
-
-    protected final OptionService optionService;
-
     protected AbstractAuthenticationFilter(HaloProperties haloProperties,
                                            OptionService optionService) {
         this.haloProperties = haloProperties;
@@ -70,17 +66,6 @@ public abstract class AbstractAuthenticationFilter extends OncePerRequestFilter
         return excludeUrlPatterns.stream().anyMatch(p -> antPathMatcher.match(p, request.getServletPath()));
     }
 
-    /**
-     * Sets exclude url patterns.
-     *
-     * @param excludeUrlPatterns exclude urls
-     */
-    public void setExcludeUrlPatterns(@NonNull Collection excludeUrlPatterns) {
-        Assert.notNull(excludeUrlPatterns, "Exclude url patterns must not be null");
-
-        this.excludeUrlPatterns = new HashSet<>(excludeUrlPatterns);
-    }
-
     /**
      * Adds exclude url patterns.
      *
@@ -102,6 +87,16 @@ public abstract class AbstractAuthenticationFilter extends OncePerRequestFilter
         return excludeUrlPatterns;
     }
 
+    /**
+     * Sets exclude url patterns.
+     *
+     * @param excludeUrlPatterns exclude urls
+     */
+    public void setExcludeUrlPatterns(@NonNull Collection excludeUrlPatterns) {
+        Assert.notNull(excludeUrlPatterns, "Exclude url patterns must not be null");
+
+        this.excludeUrlPatterns = new HashSet<>(excludeUrlPatterns);
+    }
 
     /**
      * Gets authentication failure handler. (Default: @DefaultAuthenticationFailureHandler)
diff --git a/src/main/java/run/halo/app/security/handler/AuthenticationFailureHandler.java b/src/main/java/run/halo/app/security/handler/AuthenticationFailureHandler.java
index b0f2539e1..2c5784363 100644
--- a/src/main/java/run/halo/app/security/handler/AuthenticationFailureHandler.java
+++ b/src/main/java/run/halo/app/security/handler/AuthenticationFailureHandler.java
@@ -1,6 +1,5 @@
 package run.halo.app.security.handler;
 
-import run.halo.app.exception.HaloException;
 import run.halo.app.exception.HaloException;
 
 import javax.servlet.ServletException;
diff --git a/src/main/java/run/halo/app/security/resolver/AuthenticationArgumentResolver.java b/src/main/java/run/halo/app/security/resolver/AuthenticationArgumentResolver.java
index 0ae83e420..9e266773e 100644
--- a/src/main/java/run/halo/app/security/resolver/AuthenticationArgumentResolver.java
+++ b/src/main/java/run/halo/app/security/resolver/AuthenticationArgumentResolver.java
@@ -1,10 +1,5 @@
 package run.halo.app.security.resolver;
 
-import run.halo.app.exception.AuthenticationException;
-import run.halo.app.model.entity.User;
-import run.halo.app.security.authentication.Authentication;
-import run.halo.app.security.context.SecurityContextHolder;
-import run.halo.app.security.support.UserDetail;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.core.MethodParameter;
 import org.springframework.lang.Nullable;
@@ -12,6 +7,11 @@ import org.springframework.web.bind.support.WebDataBinderFactory;
 import org.springframework.web.context.request.NativeWebRequest;
 import org.springframework.web.method.support.HandlerMethodArgumentResolver;
 import org.springframework.web.method.support.ModelAndViewContainer;
+import run.halo.app.exception.AuthenticationException;
+import run.halo.app.model.entity.User;
+import run.halo.app.security.authentication.Authentication;
+import run.halo.app.security.context.SecurityContextHolder;
+import run.halo.app.security.support.UserDetail;
 
 import java.util.Optional;
 
diff --git a/src/main/java/run/halo/app/security/support/UserDetail.java b/src/main/java/run/halo/app/security/support/UserDetail.java
index 874718819..a9bd688ee 100644
--- a/src/main/java/run/halo/app/security/support/UserDetail.java
+++ b/src/main/java/run/halo/app/security/support/UserDetail.java
@@ -1,13 +1,12 @@
 package run.halo.app.security.support;
 
-import run.halo.app.exception.AuthenticationException;
-import run.halo.app.model.entity.User;
 import lombok.AllArgsConstructor;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.ToString;
 import org.springframework.lang.NonNull;
 import run.halo.app.exception.AuthenticationException;
+import run.halo.app.model.entity.User;
 
 /**
  * User detail.
diff --git a/src/main/java/run/halo/app/service/AdminService.java b/src/main/java/run/halo/app/service/AdminService.java
index db3d5c059..8762b4699 100644
--- a/src/main/java/run/halo/app/service/AdminService.java
+++ b/src/main/java/run/halo/app/service/AdminService.java
@@ -50,6 +50,7 @@ public interface AdminService {
 
     /**
      * Get system environments
+     *
      * @return environments
      */
     @NonNull
diff --git a/src/main/java/run/halo/app/service/AttachmentService.java b/src/main/java/run/halo/app/service/AttachmentService.java
index 609a0eeae..e98cf7bf2 100644
--- a/src/main/java/run/halo/app/service/AttachmentService.java
+++ b/src/main/java/run/halo/app/service/AttachmentService.java
@@ -59,6 +59,7 @@ public interface AttachmentService extends CrudService {
 
     /**
      * List all media type.
+     *
      * @return list of media type
      */
     List listAllMediaType();
diff --git a/src/main/java/run/halo/app/service/LinkService.java b/src/main/java/run/halo/app/service/LinkService.java
index 1991eb7c0..de2d9591b 100755
--- a/src/main/java/run/halo/app/service/LinkService.java
+++ b/src/main/java/run/halo/app/service/LinkService.java
@@ -1,12 +1,12 @@
 package run.halo.app.service;
 
+import org.springframework.data.domain.Sort;
+import org.springframework.lang.NonNull;
 import run.halo.app.model.dto.LinkDTO;
 import run.halo.app.model.entity.Link;
 import run.halo.app.model.params.LinkParam;
 import run.halo.app.model.vo.LinkTeamVO;
 import run.halo.app.service.base.CrudService;
-import org.springframework.data.domain.Sort;
-import org.springframework.lang.NonNull;
 
 import java.util.List;
 
diff --git a/src/main/java/run/halo/app/service/LogService.java b/src/main/java/run/halo/app/service/LogService.java
index 2c9ae38f7..5e93127cc 100644
--- a/src/main/java/run/halo/app/service/LogService.java
+++ b/src/main/java/run/halo/app/service/LogService.java
@@ -1,9 +1,9 @@
 package run.halo.app.service;
 
+import org.springframework.data.domain.Page;
 import run.halo.app.model.dto.LogDTO;
 import run.halo.app.model.entity.Log;
 import run.halo.app.service.base.CrudService;
-import org.springframework.data.domain.Page;
 
 /**
  * Log service.
diff --git a/src/main/java/run/halo/app/service/MailService.java b/src/main/java/run/halo/app/service/MailService.java
index a13dd1a45..4c109dbb9 100644
--- a/src/main/java/run/halo/app/service/MailService.java
+++ b/src/main/java/run/halo/app/service/MailService.java
@@ -32,11 +32,11 @@ public interface MailService {
     /**
      * Send mail with attachments
      *
-     * @param to           recipient
-     * @param subject      subject
-     * @param content      content
-     * @param templateName template name
-     * @param attachFilename    attachment path
+     * @param to             recipient
+     * @param subject        subject
+     * @param content        content
+     * @param templateName   template name
+     * @param attachFilename attachment path
      */
     void sendAttachMail(String to, String subject, Map content, String templateName, String attachFilename);
 }
diff --git a/src/main/java/run/halo/app/service/PhotoService.java b/src/main/java/run/halo/app/service/PhotoService.java
index 86fc5bd43..88e2008d0 100644
--- a/src/main/java/run/halo/app/service/PhotoService.java
+++ b/src/main/java/run/halo/app/service/PhotoService.java
@@ -48,7 +48,7 @@ public interface PhotoService extends CrudService {
     /**
      * Pages photo output dtos.
      *
-     * @param pageable     page info must not be null
+     * @param pageable   page info must not be null
      * @param photoQuery photoQuery
      * @return a page of photo output dto
      */
diff --git a/src/main/java/run/halo/app/service/PostTagService.java b/src/main/java/run/halo/app/service/PostTagService.java
index 4ab35ed38..deb2194cb 100644
--- a/src/main/java/run/halo/app/service/PostTagService.java
+++ b/src/main/java/run/halo/app/service/PostTagService.java
@@ -1,16 +1,16 @@
 package run.halo.app.service;
 
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.lang.NonNull;
+import org.springframework.lang.Nullable;
 import org.springframework.transaction.annotation.Transactional;
 import run.halo.app.model.dto.TagWithPostCountDTO;
 import run.halo.app.model.entity.Post;
 import run.halo.app.model.entity.PostTag;
 import run.halo.app.model.entity.Tag;
 import run.halo.app.service.base.CrudService;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
-import org.springframework.lang.NonNull;
-import org.springframework.lang.Nullable;
 
 import java.util.Collection;
 import java.util.List;
diff --git a/src/main/java/run/halo/app/service/base/AbstractCrudService.java b/src/main/java/run/halo/app/service/base/AbstractCrudService.java
index 849897ad9..5274a964d 100644
--- a/src/main/java/run/halo/app/service/base/AbstractCrudService.java
+++ b/src/main/java/run/halo/app/service/base/AbstractCrudService.java
@@ -1,13 +1,13 @@
 package run.halo.app.service.base;
 
-import run.halo.app.exception.NotFoundException;
-import run.halo.app.repository.base.BaseRepository;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
+import run.halo.app.exception.NotFoundException;
+import run.halo.app.repository.base.BaseRepository;
 
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
diff --git a/src/main/java/run/halo/app/service/base/BasePostService.java b/src/main/java/run/halo/app/service/base/BasePostService.java
index 8d3cf68f0..95f81fec8 100644
--- a/src/main/java/run/halo/app/service/base/BasePostService.java
+++ b/src/main/java/run/halo/app/service/base/BasePostService.java
@@ -122,6 +122,7 @@ public interface BasePostService extends CrudService implemen
             return Collections.emptyList();
         }
 
-        return links.stream().map(link -> new LinkDTO().convertFrom(link))
+        return links.stream().map(link -> (LinkDTO) new LinkDTO().convertFrom(link))
                 .collect(Collectors.toList());
     }
 }
diff --git a/src/main/java/run/halo/app/service/impl/LogServiceImpl.java b/src/main/java/run/halo/app/service/impl/LogServiceImpl.java
index 5fb0e8067..087c8de1b 100644
--- a/src/main/java/run/halo/app/service/impl/LogServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/LogServiceImpl.java
@@ -1,15 +1,15 @@
 package run.halo.app.service.impl;
 
-import run.halo.app.model.dto.LogDTO;
-import run.halo.app.model.entity.Log;
-import run.halo.app.repository.LogRepository;
-import run.halo.app.service.LogService;
-import run.halo.app.service.base.AbstractCrudService;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import run.halo.app.model.dto.LogDTO;
+import run.halo.app.model.entity.Log;
+import run.halo.app.repository.LogRepository;
+import run.halo.app.service.LogService;
+import run.halo.app.service.base.AbstractCrudService;
 
 /**
  * LogService implementation class
diff --git a/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java b/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java
index c8574ee6e..318fb087b 100644
--- a/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/MenuServiceImpl.java
@@ -153,7 +153,7 @@ public class MenuServiceImpl extends AbstractCrudService implemen
         }
 
         return menus.stream()
-                .map(menu -> new MenuDTO().convertFrom(menu))
+                .map(menu -> (MenuDTO) new MenuDTO().convertFrom(menu))
                 .collect(Collectors.toList());
     }
 
diff --git a/src/main/java/run/halo/app/service/impl/PostCategoryServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostCategoryServiceImpl.java
index b8b717623..90ce4d109 100644
--- a/src/main/java/run/halo/app/service/impl/PostCategoryServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/PostCategoryServiceImpl.java
@@ -6,7 +6,6 @@ import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 import org.springframework.util.CollectionUtils;
-import run.halo.app.model.dto.CategoryDTO;
 import run.halo.app.model.dto.CategoryWithPostCountDTO;
 import run.halo.app.model.entity.Category;
 import run.halo.app.model.entity.Post;
diff --git a/src/main/java/run/halo/app/service/impl/PostTagServiceImpl.java b/src/main/java/run/halo/app/service/impl/PostTagServiceImpl.java
index 89edea875..67c2141e0 100644
--- a/src/main/java/run/halo/app/service/impl/PostTagServiceImpl.java
+++ b/src/main/java/run/halo/app/service/impl/PostTagServiceImpl.java
@@ -1,5 +1,11 @@
 package run.halo.app.service.impl;
 
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 import run.halo.app.model.dto.TagWithPostCountDTO;
 import run.halo.app.model.entity.Post;
 import run.halo.app.model.entity.PostTag;
@@ -11,12 +17,6 @@ import run.halo.app.repository.TagRepository;
 import run.halo.app.service.PostTagService;
 import run.halo.app.service.base.AbstractCrudService;
 import run.halo.app.utils.ServiceUtils;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
-import org.springframework.stereotype.Service;
-import org.springframework.util.Assert;
-import org.springframework.util.CollectionUtils;
 
 import java.util.*;
 import java.util.stream.Collectors;
diff --git a/src/main/java/run/halo/app/service/support/HaloMediaType.java b/src/main/java/run/halo/app/service/support/HaloMediaType.java
index f49a5e95b..4c541797e 100644
--- a/src/main/java/run/halo/app/service/support/HaloMediaType.java
+++ b/src/main/java/run/halo/app/service/support/HaloMediaType.java
@@ -1,7 +1,6 @@
 package run.halo.app.service.support;
 
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.http.MediaType;
 
 import java.nio.charset.Charset;
diff --git a/src/main/java/run/halo/app/utils/BeanUtils.java b/src/main/java/run/halo/app/utils/BeanUtils.java
index d20447d4d..ba3729489 100644
--- a/src/main/java/run/halo/app/utils/BeanUtils.java
+++ b/src/main/java/run/halo/app/utils/BeanUtils.java
@@ -1,6 +1,5 @@
 package run.halo.app.utils;
 
-import run.halo.app.exception.BeanUtilsException;
 import org.springframework.beans.BeanWrapperImpl;
 import org.springframework.beans.BeansException;
 import org.springframework.lang.NonNull;