From 492b8bf368959cb92257a1e98f4f5f65f493adc5 Mon Sep 17 00:00:00 2001 From: yejiahn Date: Mon, 9 Nov 2020 20:57:03 +0900 Subject: [PATCH 01/13] =?UTF-8?q?refactor:=20HandlebarsHelper=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=EC=9D=98=20=EB=A9=94=EC=84=9C=EB=93=9C?= =?UTF-8?q?=EB=A5=BC=20static=EC=9C=BC=EB=A1=9C=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/web/HandlebarsHelper.java | 15 ++++++--------- .../application/controller/ListController.java | 3 +-- .../web/application/HandlebarsHelperTest.java | 4 +--- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/main/java/web/HandlebarsHelper.java b/src/main/java/web/HandlebarsHelper.java index 94e18e5e0..fa130d6a7 100644 --- a/src/main/java/web/HandlebarsHelper.java +++ b/src/main/java/web/HandlebarsHelper.java @@ -9,15 +9,16 @@ public class HandlebarsHelper { - public static HandlebarsHelper getInstance() { - return Cache.HANDLEBARS_HELPER; - } + private static final Handlebars handlebars; - public String apply(String path, ResponseDto responseDto) { + static { TemplateLoader loader = new ClassPathTemplateLoader(); loader.setPrefix("/templates"); loader.setSuffix(".html"); - Handlebars handlebars = new Handlebars(loader); + handlebars = new Handlebars(loader); + } + + public static String apply(String path, ResponseDto responseDto) { try { Template template = handlebars.compile(path); return template.apply(responseDto); @@ -26,8 +27,4 @@ public String apply(String path, ResponseDto responseDto) { } } - private static class Cache { - - private static final HandlebarsHelper HANDLEBARS_HELPER = new HandlebarsHelper(); - } } diff --git a/src/main/java/web/application/controller/ListController.java b/src/main/java/web/application/controller/ListController.java index 001710ab7..2f479d1e9 100644 --- a/src/main/java/web/application/controller/ListController.java +++ b/src/main/java/web/application/controller/ListController.java @@ -27,9 +27,8 @@ public void doGet(HttpRequest httpRequest, HttpResponse httpResponse) { return; } - HandlebarsHelper handlebarsHelper = HandlebarsHelper.getInstance(); UserListResponse userListResponse = UserListResponse.of(new ArrayList<>(DataBase.findAll())); - String content = handlebarsHelper.apply("user/list", userListResponse); + String content = HandlebarsHelper.apply("user/list", userListResponse); httpResponse.forward(content); } diff --git a/src/test/java/web/application/HandlebarsHelperTest.java b/src/test/java/web/application/HandlebarsHelperTest.java index ccbcd7e36..85414277e 100644 --- a/src/test/java/web/application/HandlebarsHelperTest.java +++ b/src/test/java/web/application/HandlebarsHelperTest.java @@ -34,12 +34,10 @@ void setUp() { @DisplayName("템플릿 경로와 모델을 입력하면 해당 동적 페이지를 반환한다.") @Test void handlebarsApplyTest() { - HandlebarsHelper handlebarsHelper = HandlebarsHelper.getInstance(); - List users = new ArrayList<>(DataBase.findAll()); UserListResponse userListResponse = UserListResponse.of(users); - String contents = handlebarsHelper.apply("user/list", userListResponse); + String contents = HandlebarsHelper.apply("user/list", userListResponse); assertAll( () -> assertThat(contents).contains("자바지기"), From ecd47baef229b0c60e0fe560c57ff28c5a8207ba Mon Sep 17 00:00:00 2001 From: yejiahn Date: Mon, 9 Nov 2020 20:58:22 +0900 Subject: [PATCH 02/13] =?UTF-8?q?refactor:=20UrlMapper=20=EC=9D=B8?= =?UTF-8?q?=EC=8A=A4=ED=84=B4=EC=8A=A4=20=EB=B3=80=EC=88=98=EC=97=90=20fin?= =?UTF-8?q?al=20=ED=82=A4=EC=9B=8C=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/web/application/UrlMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/web/application/UrlMapper.java b/src/main/java/web/application/UrlMapper.java index 393d77b3e..15d328aa7 100644 --- a/src/main/java/web/application/UrlMapper.java +++ b/src/main/java/web/application/UrlMapper.java @@ -11,7 +11,7 @@ public class UrlMapper { - private Map mapper; + private final Map mapper; public UrlMapper() { this.mapper = new HashMap<>(); From a9f53cd5d78df9307e2e9279c78cf0406a0083cc Mon Sep 17 00:00:00 2001 From: yejiahn Date: Mon, 9 Nov 2020 21:02:32 +0900 Subject: [PATCH 03/13] =?UTF-8?q?refactor:=20=EC=8B=B1=EA=B8=80=ED=84=B4?= =?UTF-8?q?=ED=8C=A8=ED=84=B4=EC=9D=84=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EB=8A=94=20UrlMapper=20=ED=81=B4=EB=9E=98=EC=8A=A4=EC=9D=98=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=EC=9E=90=20=EC=A0=91=EA=B7=BC=EC=A0=9C?= =?UTF-8?q?=EC=96=B4=EC=9E=90=20private=EC=9C=BC=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/web/application/UrlMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/web/application/UrlMapper.java b/src/main/java/web/application/UrlMapper.java index 15d328aa7..a39721d75 100644 --- a/src/main/java/web/application/UrlMapper.java +++ b/src/main/java/web/application/UrlMapper.java @@ -13,7 +13,7 @@ public class UrlMapper { private final Map mapper; - public UrlMapper() { + private UrlMapper() { this.mapper = new HashMap<>(); this.mapper.put("/user/create", CreateUserController.getInstance()); this.mapper.put("/user/login", UserLoginController.getInstance()); From 8579ca7f7cffb68073d809ae954d4b019fa80103 Mon Sep 17 00:00:00 2001 From: yejiahn Date: Tue, 10 Nov 2020 10:30:01 +0900 Subject: [PATCH 04/13] =?UTF-8?q?refactor:=20=EC=8B=B1=EA=B8=80=ED=84=B4?= =?UTF-8?q?=ED=8C=A8=ED=84=B4=EC=9D=84=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=ED=81=B4=EB=9E=98=EC=8A=A4=EB=93=A4=EC=9D=98=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=EC=9E=90=20=EC=A0=91=EA=B7=BC=EC=A0=9C?= =?UTF-8?q?=EC=96=B4=EC=9E=90=20private=EC=9C=BC=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/web/application/controller/ListController.java | 7 +++++-- .../web/application/controller/UserLoginController.java | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/web/application/controller/ListController.java b/src/main/java/web/application/controller/ListController.java index 2f479d1e9..8d724667a 100644 --- a/src/main/java/web/application/controller/ListController.java +++ b/src/main/java/web/application/controller/ListController.java @@ -1,9 +1,8 @@ package web.application.controller; +import db.DataBase; import java.util.ArrayList; import java.util.Optional; - -import db.DataBase; import web.HandlebarsHelper; import web.application.dto.UserListResponse; import web.server.domain.request.HttpRequest; @@ -12,6 +11,10 @@ public class ListController extends AbstractController { + private ListController() { + super(); + } + public static ListController getInstance() { return ListController.Cache.LIST_CONTROLLER; } diff --git a/src/main/java/web/application/controller/UserLoginController.java b/src/main/java/web/application/controller/UserLoginController.java index 666e499fa..058eb0200 100644 --- a/src/main/java/web/application/controller/UserLoginController.java +++ b/src/main/java/web/application/controller/UserLoginController.java @@ -10,6 +10,10 @@ public class UserLoginController extends AbstractController { + private UserLoginController() { + super(); + } + public static UserLoginController getInstance() { return Cache.USER_LOGIN_CONTROLLER; } From daca8383c64f2d9fef7e3466df334865b7fcd0dc Mon Sep 17 00:00:00 2001 From: yejiahn Date: Tue, 10 Nov 2020 11:25:32 +0900 Subject: [PATCH 05/13] =?UTF-8?q?refactor:=20=EC=97=AC=EB=9F=AC=20?= =?UTF-8?q?=EC=8A=A4=EB=A0=88=EB=93=9C=EB=93=A4=EC=9D=B4=20=EC=A0=91?= =?UTF-8?q?=EA=B7=BC=ED=95=A0=20=EC=88=98=20=EC=9E=88=EB=8A=94=20HashMap?= =?UTF-8?q?=EC=9D=84=20ConcurrentHashMap=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/web/server/domain/request/HttpSessionStorage.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/web/server/domain/request/HttpSessionStorage.java b/src/main/java/web/server/domain/request/HttpSessionStorage.java index 234fdeccb..5d99bdcb5 100644 --- a/src/main/java/web/server/domain/request/HttpSessionStorage.java +++ b/src/main/java/web/server/domain/request/HttpSessionStorage.java @@ -1,15 +1,15 @@ package web.server.domain.request; -import java.util.HashMap; import java.util.Map; import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; public class HttpSessionStorage { private Map sessionStorage; private HttpSessionStorage() { - this.sessionStorage = new HashMap<>(); + this.sessionStorage = new ConcurrentHashMap<>(); } public static HttpSessionStorage getInstance() { From d1cc99918be00e020db034d99b49b1ccd9d69a25 Mon Sep 17 00:00:00 2001 From: yejiahn Date: Tue, 10 Nov 2020 16:11:50 +0900 Subject: [PATCH 06/13] =?UTF-8?q?refactor:=20=EC=93=B0=EC=9D=B4=EC=A7=80?= =?UTF-8?q?=20=EC=95=8A=EB=8A=94=20=ED=81=B4=EB=9E=98=EC=8A=A4=EC=99=80=20?= =?UTF-8?q?=ED=95=84=EC=9A=94=EC=97=86=EB=8A=94=20=EA=B0=9C=ED=96=89=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/web/application/util/CookieUtils.java | 13 ------------- .../server/domain/request/HttpSessionStorage.java | 1 - 2 files changed, 14 deletions(-) delete mode 100644 src/main/java/web/application/util/CookieUtils.java diff --git a/src/main/java/web/application/util/CookieUtils.java b/src/main/java/web/application/util/CookieUtils.java deleted file mode 100644 index de7cfdbb6..000000000 --- a/src/main/java/web/application/util/CookieUtils.java +++ /dev/null @@ -1,13 +0,0 @@ -package web.application.util; - -import java.util.Objects; - -public class CookieUtils { - - public static boolean checkUserIsNotLogined(String cookies) { - if (Objects.isNull(cookies) || cookies.isEmpty()) { - return true; - } - return !cookies.contains("logined=true"); - } -} diff --git a/src/main/java/web/server/domain/request/HttpSessionStorage.java b/src/main/java/web/server/domain/request/HttpSessionStorage.java index 5d99bdcb5..02e590868 100644 --- a/src/main/java/web/server/domain/request/HttpSessionStorage.java +++ b/src/main/java/web/server/domain/request/HttpSessionStorage.java @@ -16,7 +16,6 @@ public static HttpSessionStorage getInstance() { return Cache.HTTP_SESSION_STORAGE; } - public HttpSession createSession() { UUID uuid = UUID.randomUUID(); HttpSession httpSession = new HttpSession(uuid.toString()); From 523ea156ab4abc0dcca7242050905054eb0515cc Mon Sep 17 00:00:00 2001 From: yejiahn Date: Tue, 10 Nov 2020 16:17:13 +0900 Subject: [PATCH 07/13] =?UTF-8?q?refactor:=20build.gradle=EC=97=90=20compi?= =?UTF-8?q?le=20=EC=84=A4=EC=A0=95=EC=9D=84=20implementation=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 55e851231..e40c38b48 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ dependencies { annotationProcessor 'org.projectlombok:lombok:1.18.6' testImplementation 'org.junit.jupiter:junit-jupiter:5.6.2' testImplementation 'org.assertj:assertj-core:3.16.1' - compile 'pl.allegro.tech.boot:handlebars-spring-boot-starter:0.2.15' + implementation 'pl.allegro.tech.boot:handlebars-spring-boot-starter:0.2.15' } test { From 099d2a55cc489106000d2a23420477bac0a59776 Mon Sep 17 00:00:00 2001 From: yejiahn Date: Thu, 12 Nov 2020 14:46:16 +0900 Subject: [PATCH 08/13] =?UTF-8?q?refactor:=20=EC=83=9D=EC=84=B1=EC=9E=90?= =?UTF-8?q?=20=EC=A4=91=EB=B3=B5=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/web/server/domain/response/StatusCode.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/web/server/domain/response/StatusCode.java b/src/main/java/web/server/domain/response/StatusCode.java index 85efe2186..da97f7f79 100644 --- a/src/main/java/web/server/domain/response/StatusCode.java +++ b/src/main/java/web/server/domain/response/StatusCode.java @@ -22,9 +22,7 @@ public enum StatusCode { } StatusCode(String reasonPhrase, int statusCode) { - this.reasonPhrase = reasonPhrase; - this.statusCode = statusCode; - this.headers = Collections.emptyList(); + this(reasonPhrase, statusCode, Collections.emptyList()); } public String getStatusLine() { From 91dc672586f1e9e16783af15610d1ddabe903bd4 Mon Sep 17 00:00:00 2001 From: yejiahn Date: Thu, 12 Nov 2020 15:15:28 +0900 Subject: [PATCH 09/13] =?UTF-8?q?refactor:=20=EB=A7=A4=EC=A7=81=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=A7=81=20=EC=83=81=EC=88=98=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/web/application/controller/ListController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/web/application/controller/ListController.java b/src/main/java/web/application/controller/ListController.java index 8d724667a..d04d01823 100644 --- a/src/main/java/web/application/controller/ListController.java +++ b/src/main/java/web/application/controller/ListController.java @@ -11,6 +11,8 @@ public class ListController extends AbstractController { + private static final String LOGINED = "logined"; + private ListController() { super(); } @@ -21,7 +23,7 @@ public static ListController getInstance() { @Override public void doGet(HttpRequest httpRequest, HttpResponse httpResponse) { - boolean isLogined = Optional.ofNullable(httpRequest.getSession().getAttribute("logined")) + boolean isLogined = Optional.ofNullable(httpRequest.getSession().getAttribute(LOGINED)) .map(value -> Boolean.parseBoolean(value.toString())) .orElse(false); From 4857f5fd058dffe09035c5fa4ff1271a4cca028d Mon Sep 17 00:00:00 2001 From: yejiahn Date: Thu, 12 Nov 2020 15:29:58 +0900 Subject: [PATCH 10/13] =?UTF-8?q?refactor:=20Builder=20=EC=96=B4=EB=85=B8?= =?UTF-8?q?=ED=85=8C=EC=9D=B4=EC=85=98=20=EC=83=9D=EC=84=B1=EC=9E=90?= =?UTF-8?q?=EC=97=90=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/web/application/domain/model/User.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/web/application/domain/model/User.java b/src/main/java/web/application/domain/model/User.java index 0c37405ae..c0f478ed1 100644 --- a/src/main/java/web/application/domain/model/User.java +++ b/src/main/java/web/application/domain/model/User.java @@ -1,15 +1,11 @@ package web.application.domain.model; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.ToString; -@AllArgsConstructor(access = AccessLevel.PRIVATE) @Getter @ToString -@Builder public class User { private String userId; @@ -17,6 +13,14 @@ public class User { private String name; private String email; + @Builder + public User(String userId, String password, String name, String email) { + this.userId = userId; + this.password = password; + this.name = name; + this.email = email; + } + public boolean hasPasswordSameWith(String password) { return this.password.equals(password); } From d4616992a7e6124617408c56ca93c7b01f448088 Mon Sep 17 00:00:00 2001 From: yejiahn Date: Tue, 17 Nov 2020 14:09:46 +0900 Subject: [PATCH 11/13] =?UTF-8?q?test:=20=EA=B9=A8=EC=A7=80=EB=8A=94=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EB=8F=8C=EC=95=84=EA=B0=80?= =?UTF-8?q?=EA=B2=8C=20=EB=A6=AC=ED=8C=A9=ED=84=B0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/common/FilePathMapper.java | 37 ------------------- .../common/FilePathMapperTest.java | 21 ----------- .../common/FilePrefixPathMapperTest.java | 2 +- .../controller/UserLoginControllerTest.java | 2 +- 4 files changed, 2 insertions(+), 60 deletions(-) delete mode 100644 src/main/java/web/application/common/FilePathMapper.java delete mode 100644 src/test/java/web/application/common/FilePathMapperTest.java diff --git a/src/main/java/web/application/common/FilePathMapper.java b/src/main/java/web/application/common/FilePathMapper.java deleted file mode 100644 index 947533d06..000000000 --- a/src/main/java/web/application/common/FilePathMapper.java +++ /dev/null @@ -1,37 +0,0 @@ -package web.application.common; - -import java.util.HashMap; -import java.util.Map; - -import web.server.utils.StaticFileType; - -public class FilePathMapper { - - private final Map map; - - private FilePathMapper() { - map = new HashMap<>(); - map.put("HTML", "templates"); - map.put("STATIC_EXTENSION", "static"); - } - - public static FilePathMapper getInstance() { - return Cache.PREFIX_MAPPER; - } - - public String addPrefix(String path, StaticFileType extension) { - return findPrefix(extension) + path; - } - - private String findPrefix(StaticFileType extension) { - if (map.containsKey(extension.name())) { - return map.get(extension.name()); - } - return map.get("STATIC_EXTENSION"); - } - - private static class Cache { - - private static final FilePathMapper PREFIX_MAPPER = new FilePathMapper(); - } -} diff --git a/src/test/java/web/application/common/FilePathMapperTest.java b/src/test/java/web/application/common/FilePathMapperTest.java deleted file mode 100644 index 72c4295e1..000000000 --- a/src/test/java/web/application/common/FilePathMapperTest.java +++ /dev/null @@ -1,21 +0,0 @@ -package web.application.common; - -import static org.assertj.core.api.Assertions.assertThat; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.CsvSource; -import web.server.utils.StaticFileType; - -class FilePathMapperTest { - - @DisplayName("정적파일의 FullPath를 확인한다") - @ParameterizedTest - @CsvSource(value = {"/index.html, HTML, ./templates/index.html", "/style.css, CSS, ./static/style.css"}) - void addPrefix(String path, StaticFileType staticFileType, String actual) { - FilePathMapper filePathMapper = FilePathMapper.getInstance(); - String filePath = filePathMapper.addPrefix(path, staticFileType); - - assertThat(filePath).isEqualTo(actual); - } -} diff --git a/src/test/java/web/application/common/FilePrefixPathMapperTest.java b/src/test/java/web/application/common/FilePrefixPathMapperTest.java index f3a962e6a..e99208d19 100644 --- a/src/test/java/web/application/common/FilePrefixPathMapperTest.java +++ b/src/test/java/web/application/common/FilePrefixPathMapperTest.java @@ -12,7 +12,7 @@ class FilePrefixPathMapperTest { @DisplayName("정적파일의 FullPath를 확인한다") @ParameterizedTest - @CsvSource(value = {"/index.html, HTML, /index.html", "/style.css, CSS, ./static/style.css"}) + @CsvSource(value = {"/index.html, HTML, templates/index.html", "/style.css, CSS, static/style.css"}) void addPrefix(String path, StaticFileType staticFileType, String actual) { FilePrefixPathMapper filePrefixPathMapper = FilePrefixPathMapper.getInstance(); String filePath = filePrefixPathMapper.addPrefix(path, staticFileType); diff --git a/src/test/java/web/application/controller/UserLoginControllerTest.java b/src/test/java/web/application/controller/UserLoginControllerTest.java index b0128d122..a63d50b9a 100644 --- a/src/test/java/web/application/controller/UserLoginControllerTest.java +++ b/src/test/java/web/application/controller/UserLoginControllerTest.java @@ -41,7 +41,7 @@ void doPost(String fileName, String expected) throws IOException { HttpRequest httpRequest = createRequest(fileName); HttpResponse httpResponse = new HttpResponse(createOutputStream("/out/root_page.txt")); - UserLoginController userLoginController = new UserLoginController(); + UserLoginController userLoginController = UserLoginController.getInstance(); userLoginController.service(httpRequest, httpResponse); String actual = readFile("/out/root_page.txt"); From 3ea4964177485815bf541c3a3379c912ec2b64d9 Mon Sep 17 00:00:00 2001 From: yejiahn Date: Thu, 19 Nov 2020 15:20:00 +0900 Subject: [PATCH 12/13] =?UTF-8?q?refactor:=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98=20=EC=A0=81=EC=A0=88=ED=95=98=EA=B2=8C=20?= =?UTF-8?q?=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/web/{ => application}/HandlebarsHelper.java | 2 +- src/main/java/web/application/controller/ListController.java | 2 +- src/main/java/web/{ => server/domain}/common/Cookie.java | 2 +- src/main/java/web/server/domain/response/ResponseCookie.java | 2 +- src/test/java/web/application/HandlebarsHelperTest.java | 1 - 5 files changed, 4 insertions(+), 5 deletions(-) rename src/main/java/web/{ => application}/HandlebarsHelper.java (97%) rename src/main/java/web/{ => server/domain}/common/Cookie.java (95%) diff --git a/src/main/java/web/HandlebarsHelper.java b/src/main/java/web/application/HandlebarsHelper.java similarity index 97% rename from src/main/java/web/HandlebarsHelper.java rename to src/main/java/web/application/HandlebarsHelper.java index fa130d6a7..067ea3498 100644 --- a/src/main/java/web/HandlebarsHelper.java +++ b/src/main/java/web/application/HandlebarsHelper.java @@ -1,4 +1,4 @@ -package web; +package web.application; import com.github.jknack.handlebars.Handlebars; import com.github.jknack.handlebars.Template; diff --git a/src/main/java/web/application/controller/ListController.java b/src/main/java/web/application/controller/ListController.java index d04d01823..f0b2e1e76 100644 --- a/src/main/java/web/application/controller/ListController.java +++ b/src/main/java/web/application/controller/ListController.java @@ -3,7 +3,7 @@ import db.DataBase; import java.util.ArrayList; import java.util.Optional; -import web.HandlebarsHelper; +import web.application.HandlebarsHelper; import web.application.dto.UserListResponse; import web.server.domain.request.HttpRequest; import web.server.domain.response.HttpResponse; diff --git a/src/main/java/web/common/Cookie.java b/src/main/java/web/server/domain/common/Cookie.java similarity index 95% rename from src/main/java/web/common/Cookie.java rename to src/main/java/web/server/domain/common/Cookie.java index ab913a8e4..e7c2351d1 100644 --- a/src/main/java/web/common/Cookie.java +++ b/src/main/java/web/server/domain/common/Cookie.java @@ -1,4 +1,4 @@ -package web.common; +package web.server.domain.common; import java.util.Objects; diff --git a/src/main/java/web/server/domain/response/ResponseCookie.java b/src/main/java/web/server/domain/response/ResponseCookie.java index c89333660..8f5f01c0c 100644 --- a/src/main/java/web/server/domain/response/ResponseCookie.java +++ b/src/main/java/web/server/domain/response/ResponseCookie.java @@ -5,7 +5,7 @@ import java.util.Objects; import lombok.Getter; -import web.common.Cookie; +import web.server.domain.common.Cookie; @Getter public class ResponseCookie { diff --git a/src/test/java/web/application/HandlebarsHelperTest.java b/src/test/java/web/application/HandlebarsHelperTest.java index 85414277e..d66d2e4e7 100644 --- a/src/test/java/web/application/HandlebarsHelperTest.java +++ b/src/test/java/web/application/HandlebarsHelperTest.java @@ -9,7 +9,6 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import web.HandlebarsHelper; import web.application.domain.model.User; import web.application.dto.UserListResponse; From 855113655267a67a9d5fa348ef4448ae97a46437 Mon Sep 17 00:00:00 2001 From: yejiahn Date: Fri, 20 Nov 2020 21:16:25 +0900 Subject: [PATCH 13/13] =?UTF-8?q?feat:=20=EB=A9=80=ED=8B=B0=EB=AA=A8?= =?UTF-8?q?=EB=93=88=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application-module/build.gradle | 13 ++ .../src/main/java/Application.java | 37 +++++ .../controller/CreateUserController.java | 10 +- .../main/java}/controller/ListController.java | 17 +- .../main/java}/controller/RootController.java | 11 +- .../java}/controller/UserLoginController.java | 19 +-- .../src}/main/java/db/DataBase.java | 2 +- .../src/main/java}/domain/model/User.java | 2 +- .../src/main/java}/dto/ResponseDto.java | 2 +- .../src/main/java}/dto/UserListResponse.java | 4 +- .../src/main/java}/service/UserService.java | 4 +- .../main/java/utils}/HandlebarsHelper.java | 4 +- .../src}/main/resources/logback.xml | 0 .../resources/static/css/bootstrap.min.css | 0 .../src}/main/resources/static/css/styles.css | 0 .../src}/main/resources/static/favicon.ico | Bin .../fonts/glyphicons-halflings-regular.eot | Bin .../fonts/glyphicons-halflings-regular.svg | 0 .../fonts/glyphicons-halflings-regular.ttf | Bin .../fonts/glyphicons-halflings-regular.woff | Bin .../fonts/glyphicons-halflings-regular.woff2 | Bin .../main/resources/static/images/80-text.png | Bin .../main/resources/static/js/bootstrap.min.js | 0 .../resources/static/js/jquery-2.2.0.min.js | 0 .../src}/main/resources/static/js/scripts.js | 0 .../src}/main/resources/templates/index.html | 4 +- .../main/resources/templates/qna/form.html | 0 .../main/resources/templates/qna/show.html | 20 +-- .../main/resources/templates/user/form.html | 0 .../main/resources/templates/user/list.html | 0 .../main/resources/templates/user/login.html | 0 .../templates/user/login_failed.html | 0 .../resources/templates/user/profile.html | 0 .../src/test/java}/HandlebarsHelperTest.java | 7 +- .../src/test/java}/HandlebarsTest.java | 8 +- .../common/FilePrefixPathMapperTest.java | 8 +- .../src/test/java}/common/IoUtil.java | 6 +- .../java/controller/FrontControllerTest.java | 98 +++++++++++ .../controller/UserLoginControllerTest.java | 21 +-- .../src/test}/resources/http_login_failed.txt | 1 + .../test}/resources/http_login_success.txt | 1 + .../resources/http_not_supported_url.txt | 0 .../resources/http_post_with_formdata.txt | 0 .../src/test}/resources/http_root.txt | 0 .../test}/resources/http_template_request.txt | 0 .../http_with_method_not_allowed.txt | 0 build.gradle | 47 ++++-- server-module/build.gradle | 13 ++ .../src/main/java}/RequestHandler.java | 17 +- .../src/main/java}/WebServer.java | 14 +- .../src/main/java/domain/UrlMapper.java | 22 +++ .../src/main/java}/domain/common/Cookie.java | 11 +- .../controller/AbstractController.java | 8 +- .../java/domain/controller/Controller.java | 10 ++ .../domain/controller}/FrontController.java | 9 +- .../domain}/controller/StaticController.java | 10 +- .../java}/domain/request/HeaderParams.java | 2 +- .../java}/domain/request/HttpRequest.java | 8 +- .../java}/domain/request/HttpSession.java | 3 +- .../domain/request/HttpSessionStorage.java | 2 +- .../java}/domain/request/RequestLine.java | 4 +- .../java}/domain/request/RequestMethod.java | 2 +- .../java}/domain/request/RequestParams.java | 2 +- .../main/java}/domain/request/RequestUri.java | 2 +- .../java}/domain/response/HttpResponse.java | 8 +- .../java}/domain/response/ResponseCookie.java | 13 +- .../domain/response/ResponseCookies.java | 2 +- .../java}/domain/response/StatusCode.java | 2 +- .../src/main/java}/utils/FileIoUtils.java | 2 +- .../java/utils}/FilePrefixPathMapper.java | 4 +- .../src/main/java}/utils/IOUtils.java | 2 +- .../src/main/java}/utils/StaticFileType.java | 2 +- .../src/main/resources/templates/index.html | 152 ++++++++++++++++++ .../src/test/java}/ExecutorsTest.java | 2 - .../src/test/java/common/IoUtil.java | 52 ++++++ .../test/java}/domain/RequestLineTest.java | 14 +- .../test/java}/domain/RequestParamsTest.java | 4 +- .../java}/domain/request/HttpRequestTest.java | 4 +- .../request/HttpSessionStorageTest.java | 3 +- .../java}/domain/request/HttpSessionTest.java | 2 +- .../domain/response/HttpResponseTest.java | 8 +- .../src/test/java}/utils/FileIoUtilsTest.java | 2 +- .../src/test/java}/utils/IOUtilsTest.java | 2 +- .../resources/http_get_with_querystring.txt | 0 .../http_get_with_querystring_formdata.txt | 0 .../resources/http_post_with_formdata.txt | 2 +- .../http_post_with_querystring_formdata.txt | 0 settings.gradle | 2 + src/main/java/web/application/UrlMapper.java | 40 ----- .../application/common/StaticFilePath.java | 41 ----- .../application/controller/Controller.java | 10 -- .../controller/PageNotFoundController.java | 25 --- .../ControllerNotFoundException.java | 10 -- .../InvalidStaticFileTypeException.java | 10 -- .../java/web/application/vo/RequestVo.java | 19 --- src/test/java/coordinate/AbstractFigure.java | 25 --- src/test/java/coordinate/Figure.java | 14 -- src/test/java/coordinate/FigureCreator.java | 8 - src/test/java/coordinate/FigureFactory.java | 22 --- .../java/coordinate/FigureFactoryTest.java | 46 ------ src/test/java/coordinate/Line.java | 25 --- src/test/java/coordinate/Point.java | 67 -------- src/test/java/coordinate/Rectangle.java | 25 --- src/test/java/coordinate/Triangle.java | 25 --- src/test/java/resources/http_forward.txt | 152 ------------------ src/test/java/resources/http_get.txt | 4 - src/test/java/resources/http_get2.txt | 9 -- src/test/java/resources/http_post2.txt | 8 - src/test/java/resources/http_redirect.txt | 3 - .../web/application/FrontControllerTest.java | 86 ---------- 110 files changed, 588 insertions(+), 855 deletions(-) create mode 100644 application-module/build.gradle create mode 100644 application-module/src/main/java/Application.java rename {src/main/java/web/application => application-module/src/main/java}/controller/CreateUserController.java (83%) rename {src/main/java/web/application => application-module/src/main/java}/controller/ListController.java (71%) rename {src/main/java/web/application => application-module/src/main/java}/controller/RootController.java (75%) rename {src/main/java/web/application => application-module/src/main/java}/controller/UserLoginController.java (77%) rename {src => application-module/src}/main/java/db/DataBase.java (93%) rename {src/main/java/web/application => application-module/src/main/java}/domain/model/User.java (93%) rename {src/main/java/web/application => application-module/src/main/java}/dto/ResponseDto.java (57%) rename {src/main/java/web/application => application-module/src/main/java}/dto/UserListResponse.java (83%) rename {src/main/java/web/application => application-module/src/main/java}/service/UserService.java (87%) rename {src/main/java/web/application => application-module/src/main/java/utils}/HandlebarsHelper.java (92%) rename {src => application-module/src}/main/resources/logback.xml (100%) rename {src => application-module/src}/main/resources/static/css/bootstrap.min.css (100%) rename {src => application-module/src}/main/resources/static/css/styles.css (100%) rename {src => application-module/src}/main/resources/static/favicon.ico (100%) rename {src => application-module/src}/main/resources/static/fonts/glyphicons-halflings-regular.eot (100%) rename {src => application-module/src}/main/resources/static/fonts/glyphicons-halflings-regular.svg (100%) rename {src => application-module/src}/main/resources/static/fonts/glyphicons-halflings-regular.ttf (100%) rename {src => application-module/src}/main/resources/static/fonts/glyphicons-halflings-regular.woff (100%) rename {src => application-module/src}/main/resources/static/fonts/glyphicons-halflings-regular.woff2 (100%) rename {src => application-module/src}/main/resources/static/images/80-text.png (100%) rename {src => application-module/src}/main/resources/static/js/bootstrap.min.js (100%) rename {src => application-module/src}/main/resources/static/js/jquery-2.2.0.min.js (100%) rename {src => application-module/src}/main/resources/static/js/scripts.js (100%) rename {src => application-module/src}/main/resources/templates/index.html (97%) rename {src => application-module/src}/main/resources/templates/qna/form.html (100%) rename {src => application-module/src}/main/resources/templates/qna/show.html (95%) rename {src => application-module/src}/main/resources/templates/user/form.html (100%) rename {src => application-module/src}/main/resources/templates/user/list.html (100%) rename {src => application-module/src}/main/resources/templates/user/login.html (100%) rename {src => application-module/src}/main/resources/templates/user/login_failed.html (100%) rename {src => application-module/src}/main/resources/templates/user/profile.html (100%) rename {src/test/java/web/application => application-module/src/test/java}/HandlebarsHelperTest.java (92%) rename {src/test/java/web/server/utils => application-module/src/test/java}/HandlebarsTest.java (83%) rename {src/test/java/web/application => application-module/src/test/java}/common/FilePrefixPathMapperTest.java (83%) rename {src/test/java/web/server => application-module/src/test/java}/common/IoUtil.java (91%) create mode 100644 application-module/src/test/java/controller/FrontControllerTest.java rename {src/test/java/web/application => application-module/src/test/java}/controller/UserLoginControllerTest.java (67%) rename {src/test/java => application-module/src/test}/resources/http_login_failed.txt (74%) rename {src/test/java => application-module/src/test}/resources/http_login_success.txt (75%) rename {src/test/java => application-module/src/test}/resources/http_not_supported_url.txt (100%) rename {src/test/java => application-module/src/test}/resources/http_post_with_formdata.txt (100%) rename {src/test/java => application-module/src/test}/resources/http_root.txt (100%) rename {src/test/java => application-module/src/test}/resources/http_template_request.txt (100%) rename {src/test/java => application-module/src/test}/resources/http_with_method_not_allowed.txt (100%) create mode 100644 server-module/build.gradle rename {src/main/java/web/server => server-module/src/main/java}/RequestHandler.java (74%) rename {src/main/java/web/server => server-module/src/main/java}/WebServer.java (67%) create mode 100644 server-module/src/main/java/domain/UrlMapper.java rename {src/main/java/web/server => server-module/src/main/java}/domain/common/Cookie.java (79%) rename {src/main/java/web/application => server-module/src/main/java/domain}/controller/AbstractController.java (84%) create mode 100644 server-module/src/main/java/domain/controller/Controller.java rename {src/main/java/web/application => server-module/src/main/java/domain/controller}/FrontController.java (75%) rename {src/main/java/web/application => server-module/src/main/java/domain}/controller/StaticController.java (77%) rename {src/main/java/web/server => server-module/src/main/java}/domain/request/HeaderParams.java (94%) rename {src/main/java/web/server => server-module/src/main/java}/domain/request/HttpRequest.java (95%) rename {src/main/java/web/server => server-module/src/main/java}/domain/request/HttpSession.java (94%) rename {src/main/java/web/server => server-module/src/main/java}/domain/request/HttpSessionStorage.java (96%) rename {src/main/java/web/server => server-module/src/main/java}/domain/request/RequestLine.java (95%) rename {src/main/java/web/server => server-module/src/main/java}/domain/request/RequestMethod.java (92%) rename {src/main/java/web/server => server-module/src/main/java}/domain/request/RequestParams.java (96%) rename {src/main/java/web/server => server-module/src/main/java}/domain/request/RequestUri.java (96%) rename {src/main/java/web/server => server-module/src/main/java}/domain/response/HttpResponse.java (96%) rename {src/main/java/web/server => server-module/src/main/java}/domain/response/ResponseCookie.java (83%) rename {src/main/java/web/server => server-module/src/main/java}/domain/response/ResponseCookies.java (93%) rename {src/main/java/web/server => server-module/src/main/java}/domain/response/StatusCode.java (97%) rename {src/main/java/web/server => server-module/src/main/java}/utils/FileIoUtils.java (96%) rename {src/main/java/web/application/common => server-module/src/main/java/utils}/FilePrefixPathMapper.java (92%) rename {src/main/java/web/server => server-module/src/main/java}/utils/IOUtils.java (97%) rename {src/main/java/web/server => server-module/src/main/java}/utils/StaticFileType.java (94%) create mode 100644 server-module/src/main/resources/templates/index.html rename {src/test/java/web/server => server-module/src/test/java}/ExecutorsTest.java (98%) create mode 100644 server-module/src/test/java/common/IoUtil.java rename {src/test/java/web/server => server-module/src/test/java}/domain/RequestLineTest.java (73%) rename {src/test/java/web/server => server-module/src/test/java}/domain/RequestParamsTest.java (93%) rename {src/test/java/web/server => server-module/src/test/java}/domain/request/HttpRequestTest.java (97%) rename {src/test/java/web/server => server-module/src/test/java}/domain/request/HttpSessionStorageTest.java (86%) rename {src/test/java/web/server => server-module/src/test/java}/domain/request/HttpSessionTest.java (98%) rename {src/test/java/web/server => server-module/src/test/java}/domain/response/HttpResponseTest.java (92%) rename {src/test/java/web/server => server-module/src/test/java}/utils/FileIoUtilsTest.java (94%) rename {src/test/java/web/server => server-module/src/test/java}/utils/IOUtilsTest.java (95%) rename {src/test/java => server-module/src/test}/resources/http_get_with_querystring.txt (100%) rename {src/test/java => server-module/src/test}/resources/http_get_with_querystring_formdata.txt (100%) rename src/test/java/resources/http_post.txt => server-module/src/test/resources/http_post_with_formdata.txt (87%) rename {src/test/java => server-module/src/test}/resources/http_post_with_querystring_formdata.txt (100%) create mode 100644 settings.gradle delete mode 100644 src/main/java/web/application/UrlMapper.java delete mode 100644 src/main/java/web/application/common/StaticFilePath.java delete mode 100644 src/main/java/web/application/controller/Controller.java delete mode 100644 src/main/java/web/application/controller/PageNotFoundController.java delete mode 100644 src/main/java/web/application/exception/ControllerNotFoundException.java delete mode 100644 src/main/java/web/application/exception/InvalidStaticFileTypeException.java delete mode 100644 src/main/java/web/application/vo/RequestVo.java delete mode 100644 src/test/java/coordinate/AbstractFigure.java delete mode 100644 src/test/java/coordinate/Figure.java delete mode 100644 src/test/java/coordinate/FigureCreator.java delete mode 100644 src/test/java/coordinate/FigureFactory.java delete mode 100644 src/test/java/coordinate/FigureFactoryTest.java delete mode 100644 src/test/java/coordinate/Line.java delete mode 100644 src/test/java/coordinate/Point.java delete mode 100644 src/test/java/coordinate/Rectangle.java delete mode 100644 src/test/java/coordinate/Triangle.java delete mode 100644 src/test/java/resources/http_forward.txt delete mode 100644 src/test/java/resources/http_get.txt delete mode 100644 src/test/java/resources/http_get2.txt delete mode 100644 src/test/java/resources/http_post2.txt delete mode 100644 src/test/java/resources/http_redirect.txt delete mode 100644 src/test/java/web/application/FrontControllerTest.java diff --git a/application-module/build.gradle b/application-module/build.gradle new file mode 100644 index 000000000..aacf047b9 --- /dev/null +++ b/application-module/build.gradle @@ -0,0 +1,13 @@ +plugins { + id 'java' +} + +version '1.0.0' + +repositories { + mavenCentral() +} + +dependencies { + testCompile group: 'junit', name: 'junit', version: '4.12' +} diff --git a/application-module/src/main/java/Application.java b/application-module/src/main/java/Application.java new file mode 100644 index 000000000..234dbb378 --- /dev/null +++ b/application-module/src/main/java/Application.java @@ -0,0 +1,37 @@ +import controller.CreateUserController; +import controller.ListController; +import controller.RootController; +import controller.UserLoginController; +import domain.UrlMapper; +import domain.controller.Controller; +import domain.controller.FrontController; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Application { + + private static final Logger logger = LoggerFactory.getLogger(RequestHandler.class); + + private static final Controller CONTROLLER; + + static { + Map urlMapper = new HashMap<>(); + urlMapper.put("/user/create", CreateUserController.getInstance()); + urlMapper.put("/user/login", UserLoginController.getInstance()); + urlMapper.put("/", RootController.getInstance()); + urlMapper.put("/user/list", ListController.getInstance()); + CONTROLLER = new FrontController(new UrlMapper(urlMapper)); + } + + public static void main(String[] args) throws Exception { + try { + WebServer.main(args, CONTROLLER); + } catch (IOException e) { + logger.error(e.getMessage()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/web/application/controller/CreateUserController.java b/application-module/src/main/java/controller/CreateUserController.java similarity index 83% rename from src/main/java/web/application/controller/CreateUserController.java rename to application-module/src/main/java/controller/CreateUserController.java index 87cd0c718..563ba046d 100644 --- a/src/main/java/web/application/controller/CreateUserController.java +++ b/application-module/src/main/java/controller/CreateUserController.java @@ -1,9 +1,10 @@ -package web.application.controller; +package controller; import db.DataBase; -import web.application.domain.model.User; -import web.server.domain.request.HttpRequest; -import web.server.domain.response.HttpResponse; +import domain.controller.AbstractController; +import domain.model.User; +import domain.request.HttpRequest; +import domain.response.HttpResponse; public class CreateUserController extends AbstractController { @@ -30,5 +31,6 @@ public void doPost(HttpRequest httpRequest, HttpResponse httpResponse) { private static class ControllerCache { private static final CreateUserController CREATE_USER_CONTROLLER = new CreateUserController(); + } } diff --git a/src/main/java/web/application/controller/ListController.java b/application-module/src/main/java/controller/ListController.java similarity index 71% rename from src/main/java/web/application/controller/ListController.java rename to application-module/src/main/java/controller/ListController.java index f0b2e1e76..6f33c322c 100644 --- a/src/main/java/web/application/controller/ListController.java +++ b/application-module/src/main/java/controller/ListController.java @@ -1,13 +1,14 @@ -package web.application.controller; +package controller; +import utils.HandlebarsHelper; import db.DataBase; +import domain.controller.AbstractController; +import domain.request.HttpRequest; +import domain.response.HttpResponse; +import dto.UserListResponse; import java.util.ArrayList; import java.util.Optional; -import web.application.HandlebarsHelper; -import web.application.dto.UserListResponse; -import web.server.domain.request.HttpRequest; -import web.server.domain.response.HttpResponse; -import web.server.utils.StaticFileType; +import utils.StaticFileType; public class ListController extends AbstractController { @@ -18,7 +19,7 @@ private ListController() { } public static ListController getInstance() { - return ListController.Cache.LIST_CONTROLLER; + return Cache.LIST_CONTROLLER; } @Override @@ -28,7 +29,7 @@ public void doGet(HttpRequest httpRequest, HttpResponse httpResponse) { .orElse(false); if (!isLogined) { - httpResponse.forward("templates/index.html", StaticFileType.HTML); + httpResponse.sendRedirect("/"); return; } diff --git a/src/main/java/web/application/controller/RootController.java b/application-module/src/main/java/controller/RootController.java similarity index 75% rename from src/main/java/web/application/controller/RootController.java rename to application-module/src/main/java/controller/RootController.java index 99c30f123..0e8570254 100644 --- a/src/main/java/web/application/controller/RootController.java +++ b/application-module/src/main/java/controller/RootController.java @@ -1,9 +1,10 @@ -package web.application.controller; +package controller; -import web.application.common.FilePrefixPathMapper; -import web.server.domain.request.HttpRequest; -import web.server.domain.response.HttpResponse; -import web.server.utils.StaticFileType; +import domain.controller.AbstractController; +import domain.request.HttpRequest; +import domain.response.HttpResponse; +import utils.FilePrefixPathMapper; +import utils.StaticFileType; public class RootController extends AbstractController { diff --git a/src/main/java/web/application/controller/UserLoginController.java b/application-module/src/main/java/controller/UserLoginController.java similarity index 77% rename from src/main/java/web/application/controller/UserLoginController.java rename to application-module/src/main/java/controller/UserLoginController.java index 058eb0200..0a63f5731 100644 --- a/src/main/java/web/application/controller/UserLoginController.java +++ b/application-module/src/main/java/controller/UserLoginController.java @@ -1,12 +1,13 @@ -package web.application.controller; - -import web.application.common.FilePrefixPathMapper; -import web.application.service.UserService; -import web.server.domain.request.HttpRequest; -import web.server.domain.request.HttpSession; -import web.server.domain.response.HttpResponse; -import web.server.domain.response.ResponseCookie; -import web.server.utils.StaticFileType; +package controller; + +import domain.controller.AbstractController; +import domain.request.HttpRequest; +import domain.request.HttpSession; +import domain.response.HttpResponse; +import domain.response.ResponseCookie; +import service.UserService; +import utils.FilePrefixPathMapper; +import utils.StaticFileType; public class UserLoginController extends AbstractController { diff --git a/src/main/java/db/DataBase.java b/application-module/src/main/java/db/DataBase.java similarity index 93% rename from src/main/java/db/DataBase.java rename to application-module/src/main/java/db/DataBase.java index 8dc8c7fd6..7c24ab476 100644 --- a/src/main/java/db/DataBase.java +++ b/application-module/src/main/java/db/DataBase.java @@ -1,10 +1,10 @@ package db; import com.google.common.collect.Maps; +import domain.model.User; import java.util.Collection; import java.util.Map; import java.util.Optional; -import web.application.domain.model.User; public class DataBase { diff --git a/src/main/java/web/application/domain/model/User.java b/application-module/src/main/java/domain/model/User.java similarity index 93% rename from src/main/java/web/application/domain/model/User.java rename to application-module/src/main/java/domain/model/User.java index c0f478ed1..24f7b4561 100644 --- a/src/main/java/web/application/domain/model/User.java +++ b/application-module/src/main/java/domain/model/User.java @@ -1,4 +1,4 @@ -package web.application.domain.model; +package domain.model; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/web/application/dto/ResponseDto.java b/application-module/src/main/java/dto/ResponseDto.java similarity index 57% rename from src/main/java/web/application/dto/ResponseDto.java rename to application-module/src/main/java/dto/ResponseDto.java index 98b5e322c..3021d777b 100644 --- a/src/main/java/web/application/dto/ResponseDto.java +++ b/application-module/src/main/java/dto/ResponseDto.java @@ -1,4 +1,4 @@ -package web.application.dto; +package dto; public abstract class ResponseDto { diff --git a/src/main/java/web/application/dto/UserListResponse.java b/application-module/src/main/java/dto/UserListResponse.java similarity index 83% rename from src/main/java/web/application/dto/UserListResponse.java rename to application-module/src/main/java/dto/UserListResponse.java index 9bca48f74..c9fd7a566 100644 --- a/src/main/java/web/application/dto/UserListResponse.java +++ b/application-module/src/main/java/dto/UserListResponse.java @@ -1,7 +1,7 @@ -package web.application.dto; +package dto; +import domain.model.User; import java.util.List; -import web.application.domain.model.User; public class UserListResponse extends ResponseDto { diff --git a/src/main/java/web/application/service/UserService.java b/application-module/src/main/java/service/UserService.java similarity index 87% rename from src/main/java/web/application/service/UserService.java rename to application-module/src/main/java/service/UserService.java index 9d714d546..a7f57503f 100644 --- a/src/main/java/web/application/service/UserService.java +++ b/application-module/src/main/java/service/UserService.java @@ -1,8 +1,8 @@ -package web.application.service; +package service; import db.DataBase; +import domain.model.User; import java.util.Optional; -import web.application.domain.model.User; public class UserService { diff --git a/src/main/java/web/application/HandlebarsHelper.java b/application-module/src/main/java/utils/HandlebarsHelper.java similarity index 92% rename from src/main/java/web/application/HandlebarsHelper.java rename to application-module/src/main/java/utils/HandlebarsHelper.java index 067ea3498..45ee42c98 100644 --- a/src/main/java/web/application/HandlebarsHelper.java +++ b/application-module/src/main/java/utils/HandlebarsHelper.java @@ -1,11 +1,11 @@ -package web.application; +package utils; import com.github.jknack.handlebars.Handlebars; import com.github.jknack.handlebars.Template; import com.github.jknack.handlebars.io.ClassPathTemplateLoader; import com.github.jknack.handlebars.io.TemplateLoader; +import dto.ResponseDto; import java.io.IOException; -import web.application.dto.ResponseDto; public class HandlebarsHelper { diff --git a/src/main/resources/logback.xml b/application-module/src/main/resources/logback.xml similarity index 100% rename from src/main/resources/logback.xml rename to application-module/src/main/resources/logback.xml diff --git a/src/main/resources/static/css/bootstrap.min.css b/application-module/src/main/resources/static/css/bootstrap.min.css similarity index 100% rename from src/main/resources/static/css/bootstrap.min.css rename to application-module/src/main/resources/static/css/bootstrap.min.css diff --git a/src/main/resources/static/css/styles.css b/application-module/src/main/resources/static/css/styles.css similarity index 100% rename from src/main/resources/static/css/styles.css rename to application-module/src/main/resources/static/css/styles.css diff --git a/src/main/resources/static/favicon.ico b/application-module/src/main/resources/static/favicon.ico similarity index 100% rename from src/main/resources/static/favicon.ico rename to application-module/src/main/resources/static/favicon.ico diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.eot b/application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.eot similarity index 100% rename from src/main/resources/static/fonts/glyphicons-halflings-regular.eot rename to application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.eot diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.svg b/application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.svg similarity index 100% rename from src/main/resources/static/fonts/glyphicons-halflings-regular.svg rename to application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.svg diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf b/application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf similarity index 100% rename from src/main/resources/static/fonts/glyphicons-halflings-regular.ttf rename to application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.woff b/application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.woff similarity index 100% rename from src/main/resources/static/fonts/glyphicons-halflings-regular.woff rename to application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.woff diff --git a/src/main/resources/static/fonts/glyphicons-halflings-regular.woff2 b/application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.woff2 similarity index 100% rename from src/main/resources/static/fonts/glyphicons-halflings-regular.woff2 rename to application-module/src/main/resources/static/fonts/glyphicons-halflings-regular.woff2 diff --git a/src/main/resources/static/images/80-text.png b/application-module/src/main/resources/static/images/80-text.png similarity index 100% rename from src/main/resources/static/images/80-text.png rename to application-module/src/main/resources/static/images/80-text.png diff --git a/src/main/resources/static/js/bootstrap.min.js b/application-module/src/main/resources/static/js/bootstrap.min.js similarity index 100% rename from src/main/resources/static/js/bootstrap.min.js rename to application-module/src/main/resources/static/js/bootstrap.min.js diff --git a/src/main/resources/static/js/jquery-2.2.0.min.js b/application-module/src/main/resources/static/js/jquery-2.2.0.min.js similarity index 100% rename from src/main/resources/static/js/jquery-2.2.0.min.js rename to application-module/src/main/resources/static/js/jquery-2.2.0.min.js diff --git a/src/main/resources/static/js/scripts.js b/application-module/src/main/resources/static/js/scripts.js similarity index 100% rename from src/main/resources/static/js/scripts.js rename to application-module/src/main/resources/static/js/scripts.js diff --git a/src/main/resources/templates/index.html b/application-module/src/main/resources/templates/index.html similarity index 97% rename from src/main/resources/templates/index.html rename to application-module/src/main/resources/templates/index.html index 9f1a6f6d9..42e383ff8 100644 --- a/src/main/resources/templates/index.html +++ b/application-module/src/main/resources/templates/index.html @@ -17,7 +17,7 @@