리팩토링
This commit is contained in:
@@ -28,8 +28,8 @@ public class CommentService implements CommentUseCase {
|
||||
@CacheEvict(value = "layoutRecentCommentCaching", allEntries = true)
|
||||
@Override
|
||||
public void savePComment(String content, boolean secret, Long memberId, Long articleId){
|
||||
Member member = memberQueriesUseCase.findById(memberId);
|
||||
Article article = articleUseCase.getArticle(articleId);
|
||||
var member = memberQueriesUseCase.findById(memberId);
|
||||
var article = articleUseCase.getArticle(articleId);
|
||||
|
||||
Comment comment = Comment.builder()
|
||||
.article(article)
|
||||
@@ -49,12 +49,12 @@ public class CommentService implements CommentUseCase {
|
||||
@CacheEvict(value = "layoutRecentCommentCaching", allEntries = true)
|
||||
@Override
|
||||
public void saveCComment(String content, boolean secret, Long memberId, Long articleId, Long parentId) {
|
||||
Member member = memberQueriesUseCase.findById(memberId);
|
||||
Article article = articleUseCase.getArticle(articleId);
|
||||
Comment pComment = commentRepositoryPort.findById(parentId)
|
||||
var member = memberQueriesUseCase.findById(memberId);
|
||||
var article = articleUseCase.getArticle(articleId);
|
||||
var pComment = commentRepositoryPort.findById(parentId)
|
||||
.orElseThrow(() -> new IllegalArgumentException("NotfoundParentCommentException"));
|
||||
|
||||
Comment comment = Comment.builder()
|
||||
var comment = Comment.builder()
|
||||
.article(article)
|
||||
.content(content)
|
||||
.tier(1)
|
||||
|
||||
@@ -24,9 +24,9 @@ public class AwsS3ImgUploadStrategyAdapter implements ImgUploadStrategyPort {
|
||||
private String bucket;
|
||||
|
||||
public String uploadFile(ImageFile imageFile) {
|
||||
MultipartFile file = imageFile.getMultipartFile();
|
||||
ObjectMetadata metadata = createObjectMetadata(file);
|
||||
try(InputStream inputStream = file.getInputStream()) {
|
||||
var file = imageFile.getMultipartFile();
|
||||
var metadata = createObjectMetadata(file);
|
||||
try(var inputStream = file.getInputStream()) {
|
||||
amazonS3.putObject(new PutObjectRequest(bucket, imageFile.getStoredFileName(), inputStream, metadata)
|
||||
.withCannedAcl(CannedAccessControlList.PublicRead));
|
||||
} catch (IOException e) {
|
||||
@@ -41,7 +41,7 @@ public class AwsS3ImgUploadStrategyAdapter implements ImgUploadStrategyPort {
|
||||
* @return s3 api 요구 스펙 dto
|
||||
*/
|
||||
private ObjectMetadata createObjectMetadata(MultipartFile file) {
|
||||
ObjectMetadata metadata = new ObjectMetadata();
|
||||
var metadata = new ObjectMetadata();
|
||||
metadata.setContentLength(file.getSize());
|
||||
metadata.setContentType(file.getContentType());
|
||||
return metadata;
|
||||
|
||||
@@ -18,7 +18,7 @@ public class ImgUploadService implements ImgUploadUseCase {
|
||||
@Override
|
||||
public String storeImg(MultipartFile multipartFile) {
|
||||
validateFile(multipartFile);
|
||||
ImageFile imageFile = ImageFile.from(multipartFile);
|
||||
var imageFile = ImageFile.from(multipartFile);
|
||||
return imgUploadStrategyPort.uploadFile(imageFile);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,15 +24,15 @@ public class ImageFile {
|
||||
- 이미지 중복 방지용 무작위 파일 이름 생성기
|
||||
*/
|
||||
private static String createStoreFileName(String originalFilename) {
|
||||
String ext = extractExt(originalFilename);
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
var ext = extractExt(originalFilename);
|
||||
var uuid = UUID.randomUUID().toString();
|
||||
return uuid + "." + ext;
|
||||
}
|
||||
/*
|
||||
- 파일 이름 추출
|
||||
*/
|
||||
private static String extractExt(String originalFilename) {
|
||||
int pos = originalFilename.lastIndexOf(".");
|
||||
var pos = originalFilename.lastIndexOf(".");
|
||||
return originalFilename.substring(pos + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,10 +28,10 @@ public class Oauth2MemberService extends DefaultOAuth2UserService {
|
||||
*/
|
||||
@Override
|
||||
public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException {
|
||||
OAuth2User oAuth2User = super.loadUser(userRequest);
|
||||
Oauth2UserInfo userInfo =
|
||||
var oAuth2User = super.loadUser(userRequest);
|
||||
var userInfo =
|
||||
userInfoFactory.makeOauth2UserInfoOf(userRequest.getClientRegistration().getRegistrationId(), oAuth2User);
|
||||
Member member = getOrJoinMember(userInfo);
|
||||
var member = getOrJoinMember(userInfo);
|
||||
return new PrincipalDetails(member, userInfo.getAttributes());
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class Oauth2MemberService extends DefaultOAuth2UserService {
|
||||
*/
|
||||
private Member getOrJoinMember(Oauth2UserInfo userInfo) {
|
||||
//DB에서 조회해서 존재시 로그인처리, 미존재시 가입처리
|
||||
Member member = memberRepositoryPort.findByUserId(userInfo.getProviderId());
|
||||
var member = memberRepositoryPort.findByUserId(userInfo.getProviderId());
|
||||
if(member == null) {
|
||||
//Email 중복검증
|
||||
if(memberRepositoryPort.findByEmail(userInfo.getEmail()) != null)
|
||||
|
||||
@@ -39,7 +39,7 @@ public class UserInfoFactory {
|
||||
- 팩토리 메소드
|
||||
*/
|
||||
public Oauth2UserInfo makeOauth2UserInfoOf(String registrationId, OAuth2User oAuth2User) {
|
||||
Optional<ProviderType> providerTypeOptional = createEnumFromString(registrationId);
|
||||
var providerTypeOptional = createEnumFromString(registrationId);
|
||||
return userInfoFactoryMap
|
||||
.get(providerTypeOptional.orElseThrow(() -> new IllegalArgumentException("지원하지 않는 소셜 로그인 API 제공자입니다.")))
|
||||
.apply(oAuth2User);
|
||||
|
||||
@@ -29,9 +29,9 @@ public class RssService implements RssUseCase {
|
||||
@Override
|
||||
@Cacheable(value = "seoCaching", key = "0")
|
||||
public String getRssFeed() {
|
||||
List<Article> articles = articleUseCase.getTotalArticle();
|
||||
RssFeed rssFeed = RssFeed.from(articles);
|
||||
XMLOutputter xmlOutputter = XMLOutPutterBuildHelper.getXmlOutputter();
|
||||
var articles = articleUseCase.getTotalArticle();
|
||||
var rssFeed = RssFeed.from(articles);
|
||||
var xmlOutputter = XMLOutPutterBuildHelper.getXmlOutputter();
|
||||
return xmlOutputter.outputString(rssFeed.getRssDoc());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,10 +26,10 @@ public class SiteMapService implements SiteMapUseCase {
|
||||
@Override
|
||||
@Cacheable(value = "seoCaching", key = "1")
|
||||
public String getSiteMap(){
|
||||
List<Article> articles = articleUseCase.getTotalArticle();
|
||||
List<Category> allCategories = categoryUseCase.getAllCategories();
|
||||
SiteMap siteMap = SiteMap.from(articles, allCategories);
|
||||
XMLOutputter xmlOutputter = XMLOutPutterBuildHelper.getXmlOutputter();
|
||||
var articles = articleUseCase.getTotalArticle();
|
||||
var allCategories = categoryUseCase.getAllCategories();
|
||||
var siteMap = SiteMap.from(articles, allCategories);
|
||||
var xmlOutputter = XMLOutPutterBuildHelper.getXmlOutputter();
|
||||
return xmlOutputter.outputString(siteMap.getSiteMapDoc());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.jdom2.output.XMLOutputter;
|
||||
|
||||
public class XMLOutPutterBuildHelper {
|
||||
static public XMLOutputter getXmlOutputter() {
|
||||
Format format = Format.getPrettyFormat();
|
||||
var format = Format.getPrettyFormat();
|
||||
format.setEncoding("UTF-8");
|
||||
format.setLineSeparator("\r\n");
|
||||
return new XMLOutputter(format);
|
||||
|
||||
@@ -23,23 +23,23 @@ public class RssFeed {
|
||||
}
|
||||
|
||||
static public RssFeed from(List<Article> articles){
|
||||
Document doc = new Document();
|
||||
Element rss = buildRssRoot();
|
||||
var doc = new Document();
|
||||
var rss = buildRssRoot();
|
||||
doc.setRootElement(rss);
|
||||
Element channel = buildChannel();
|
||||
var channel = buildChannel();
|
||||
rss.addContent(channel);
|
||||
addArticleItemsToChannel(articles, channel, new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH));
|
||||
return new RssFeed(doc);
|
||||
}
|
||||
|
||||
static private Element buildRssRoot() {
|
||||
Element rss = new Element("rss");
|
||||
var rss = new Element("rss");
|
||||
rss.setAttribute(new Attribute("version", "2.0"));
|
||||
return rss;
|
||||
}
|
||||
|
||||
static private Element buildChannel() {
|
||||
Element channel = new Element("channel");
|
||||
var channel = new Element("channel");
|
||||
channel.addContent(new Element("title").addContent(new CDATA("Jinia's LOG")));
|
||||
channel.addContent(new Element("link").setText("https://www.jiniaslog.co.kr"));
|
||||
channel.addContent(new Element("description").addContent(new CDATA("비전공 출신, 개발자 지망생의 공부 내용을 기록하는 블로그입니다.")));
|
||||
@@ -48,13 +48,13 @@ public class RssFeed {
|
||||
|
||||
static private void addArticleItemsToChannel(List<Article> articles, Element channel, SimpleDateFormat dateFormat) {
|
||||
for (Article article : articles) {
|
||||
Element item = createItemTo(article, dateFormat);
|
||||
var item = createItemTo(article, dateFormat);
|
||||
channel.addContent(item);
|
||||
}
|
||||
}
|
||||
|
||||
static private Element createItemTo(Article article, SimpleDateFormat dateFormat) {
|
||||
Element item = new Element("item");
|
||||
var item = new Element("item");
|
||||
item
|
||||
.addContent(new Element("title").addContent(new CDATA(article.getTitle())))
|
||||
.addContent(new Element("link").setText(ITEM_ROOT + article.getId()))
|
||||
|
||||
@@ -25,10 +25,10 @@ public class SiteMap {
|
||||
}
|
||||
|
||||
static public SiteMap from(List<Article> articles, List<Category> allCategories) {
|
||||
Document doc = new Document();
|
||||
Element siteMap = new Element("urlset", NAMESPACE);
|
||||
var doc = new Document();
|
||||
var siteMap = new Element("urlset", NAMESPACE);
|
||||
doc.setRootElement(siteMap);
|
||||
Element main = createMainElement();
|
||||
var main = createMainElement();
|
||||
siteMap.addContent(main);
|
||||
addCategoryUrlsToSiteMap(allCategories, siteMap);
|
||||
addArticleUrlToSiteMap(articles, siteMap);
|
||||
@@ -36,7 +36,7 @@ public class SiteMap {
|
||||
}
|
||||
|
||||
static private Element createMainElement() {
|
||||
Element main = new Element("url",NAMESPACE);
|
||||
var main = new Element("url",NAMESPACE);
|
||||
main.addContent(new Element("loc",NAMESPACE).setText(ROOT));
|
||||
main.addContent(new Element("lastmod",NAMESPACE).setText(
|
||||
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH))));
|
||||
@@ -45,8 +45,8 @@ public class SiteMap {
|
||||
}
|
||||
|
||||
static private void addArticleUrlToSiteMap(List<Article> articles, Element siteMap) {
|
||||
for (Article article : articles) {
|
||||
Element articleUrl = new Element("url",NAMESPACE);
|
||||
for (var article : articles) {
|
||||
var articleUrl = new Element("url",NAMESPACE);
|
||||
articleUrl.addContent(new Element("loc",NAMESPACE)
|
||||
.setText(ROOT + ARTICLEPREV + article.getId()));
|
||||
siteMap.addContent(articleUrl);
|
||||
@@ -55,7 +55,7 @@ public class SiteMap {
|
||||
|
||||
static private void addCategoryUrlsToSiteMap(List<Category> allCategories, Element siteMap) {
|
||||
for (Category category : allCategories) {
|
||||
Element categoryUrl = new Element("url",NAMESPACE);
|
||||
var categoryUrl = new Element("url",NAMESPACE);
|
||||
categoryUrl.addContent(new Element("loc",NAMESPACE)
|
||||
.setText(ROOT + CATEGORYPRE + "category="+category.getTitle()+"&tier="+category.getTier()+CATEGORYPRO));
|
||||
siteMap.addContent(categoryUrl);
|
||||
|
||||
@@ -25,8 +25,8 @@ public class LayoutRenderingQueries implements LayoutRenderingUseCase {
|
||||
*/
|
||||
@Override
|
||||
public void AddLayoutTo(Model model) {
|
||||
CategoryViewForLayout categoryViewForLayout = categoryQueriesUseCase.getCategoryViewForLayout();
|
||||
List<CommentDtoForLayout> comments = commentQueriesUseCase.recentCommentListForLayout();
|
||||
var categoryViewForLayout = categoryQueriesUseCase.getCategoryViewForLayout();
|
||||
var comments = commentQueriesUseCase.recentCommentListForLayout();
|
||||
model.addAttribute("category", categoryViewForLayout);
|
||||
model.addAttribute("commentsList", comments);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.List;
|
||||
public class MetaTagBuildUtils {
|
||||
static public String buildMetaTags(List<String> tags){
|
||||
var metaTags = new StringBuilder();
|
||||
for (String tag : tags) {
|
||||
for (var tag : tags) {
|
||||
metaTags.append(tag).append(", ");
|
||||
}
|
||||
return metaTags.toString();
|
||||
|
||||
Reference in New Issue
Block a user