From e6f0a894ab0c6df86c37e35a3800887b528f81d2 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Thu, 10 Dec 2020 23:59:37 +0900
Subject: [PATCH 01/24] =?UTF-8?q?docs=20:=20=EA=B8=B0=EB=8A=A5=EA=B5=AC?=
=?UTF-8?q?=ED=98=84=EB=AA=A9=EB=A1=9D=20=EB=AA=A9=EC=B0=A8=20=EC=A0=95?=
=?UTF-8?q?=EB=A6=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/README.md b/README.md
index 00410ae50..caf86dcda 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,39 @@
+
+# 기능구현 목록
+
+- 상수 관리 클래스
+
+### View
+- 입력 클래스
+
+- 출력 클래스
+
+### 비즈니스 로직
+- 역 관리
+ - [ ] 역 등록
+ - [ ] 역 삭제
+ - [ ] 역 조회
+ - [ ] 돌아가기
+
+- 노선 관리
+ - [ ] 노선 등록
+ - [ ] 노선 삭제
+ - [ ] 노선 조회
+
+- 구간 관리
+ - [ ] 구간 등록
+ - [ ] 구간 삭제
+
+
+- 지하철 노선도 출력
+
+
+
# 지하철 노선도 미션
- 지하철 역과 노선을 관리하는 지하철 노선도 기능을 구현한다.
+
+
## 🚀 기능 요구사항
From 3cac41748c1eda9a4a17a40ae514c9ae95161b05 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 16:49:18 +0900
Subject: [PATCH 02/24] =?UTF-8?q?docs=20:=20=EA=B8=B0=EB=8A=A5=EA=B5=AC?=
=?UTF-8?q?=ED=98=84=EB=AA=A9=EB=A1=9D=20=EB=AA=A9=EC=B0=A8=20=EC=A0=95?=
=?UTF-8?q?=EB=A6=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 33 ++++++++++++++++++++++++++-------
1 file changed, 26 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index caf86dcda..308c63eb5 100644
--- a/README.md
+++ b/README.md
@@ -5,28 +5,47 @@
### View
- 입력 클래스
+ - [ ] 기능 선택 입력 함수
- 출력 클래스
+ - [ ] 메인 화면 출력 함수
+ - [ ] 역 관리 화면 출력함수
+ - [ ] 노선 관리 화면 출력함수
+ - [ ] 구간 관리 화면 출력함수
+ - [ ] 선택한 기능 질문 출력함수
+ - [ ] 기능결과(INFO) 출력함수
+ - [ ] 에러 출력함수
+ - [ ] 지하철 노선도 출력함수
### 비즈니스 로직
- 역 관리
- - [ ] 역 등록
- - [ ] 역 삭제
+ - 역 등록
+ - [ ] 중복된 이름 불가
+ - [ ] 이름은 2글자 이상
+ - 역 삭제
+ - [ ] 노선에 등록된 역은 삭제 불가
- [ ] 역 조회
- - [ ] 돌아가기
- 노선 관리
- - [ ] 노선 등록
+ - 노선 등록
+ - [ ] 중복 이름 불가
+ - [ ] 이름은 2글자 이상
+ - [ ] 상,하 종점역은 달라야 한다
- [ ] 노선 삭제
- [ ] 노선 조회
- 구간 관리
- - [ ] 구간 등록
- - [ ] 구간 삭제
+ - 구간 등록
+ - [ ] 등록되어 있는 노선인지 확인
+ - [ ] 등록된 역인지 확인
+ - [ ] 입력받은 순서가 올바른 순서인지 확인
+ - 구간 삭제
+ - [ ] 등록된 노선인지 확인
+ - [ ] 노선에 등록된 역인지 확인
- 지하철 노선도 출력
-
+ - [ ] 노선이 없을 경우 None 출력
# 지하철 노선도 미션
From 801762b9824f9276373192050802b43de6831cc1 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 17:38:40 +0900
Subject: [PATCH 03/24] =?UTF-8?q?feat=20:=20=EB=A9=94=EC=9D=B8=EB=A9=94?=
=?UTF-8?q?=EB=89=B4=20=EC=B6=9C=EB=A0=A5=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC?=
=?UTF-8?q?=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Application.java | 4 +++
src/main/java/subway/Constant.java | 9 ++++++
src/main/java/subway/domain/Menu.java | 27 ++++++++++++++++
src/main/java/subway/view/InputView.java | 4 +++
src/main/java/subway/view/OutputView.java | 39 +++++++++++++++++++++++
5 files changed, 83 insertions(+)
create mode 100644 src/main/java/subway/Constant.java
create mode 100644 src/main/java/subway/domain/Menu.java
create mode 100644 src/main/java/subway/view/InputView.java
create mode 100644 src/main/java/subway/view/OutputView.java
diff --git a/src/main/java/subway/Application.java b/src/main/java/subway/Application.java
index 0bcf786cc..34fe5a21d 100644
--- a/src/main/java/subway/Application.java
+++ b/src/main/java/subway/Application.java
@@ -1,10 +1,14 @@
package subway;
+import subway.view.OutputView;
+
import java.util.Scanner;
public class Application {
public static void main(String[] args) {
final Scanner scanner = new Scanner(System.in);
// TODO: 프로그램 구현
+
+ OutputView.printMainView();
}
}
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
new file mode 100644
index 000000000..ba29ee3cd
--- /dev/null
+++ b/src/main/java/subway/Constant.java
@@ -0,0 +1,9 @@
+package subway;
+
+public class Constant {
+
+ public static final String VIEW_HEADER = "## ";
+ public static final String VIEW_FORMAT = "%s. %s\n";
+ public static final String MAIN_VIEW_HEADER = "메인 화면";
+
+}
diff --git a/src/main/java/subway/domain/Menu.java b/src/main/java/subway/domain/Menu.java
new file mode 100644
index 000000000..bd9ad7515
--- /dev/null
+++ b/src/main/java/subway/domain/Menu.java
@@ -0,0 +1,27 @@
+package subway.domain;
+
+public class Menu {
+
+ public enum MainMenu{
+ STATION("1", "역 관리"), LINE("2", "노선 관리")
+ , SECTION("3", "구간 관리"), MAP("4", "지하철 노선도 출력")
+ , END("Q", "종료");
+
+ final private String order;
+ final private String message;
+
+ MainMenu(String order, String message) {
+ this.order = order;
+ this.message = message;
+ }
+
+ public String getOrder() {
+ return order;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+ }
+
+}
diff --git a/src/main/java/subway/view/InputView.java b/src/main/java/subway/view/InputView.java
new file mode 100644
index 000000000..1bf196eb9
--- /dev/null
+++ b/src/main/java/subway/view/InputView.java
@@ -0,0 +1,4 @@
+package subway.view;
+
+public class InputView {
+}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
new file mode 100644
index 000000000..0fbbafcc4
--- /dev/null
+++ b/src/main/java/subway/view/OutputView.java
@@ -0,0 +1,39 @@
+package subway.view;
+
+import subway.Constant;
+import subway.domain.Menu;
+
+public class OutputView {
+
+ public OutputView() {
+ }
+
+ public static void printMainView(){
+ System.out.print(Constant.VIEW_HEADER);
+ System.out.println(Constant.MAIN_VIEW_HEADER);
+ for(Menu.MainMenu menu : Menu.MainMenu.values()) {
+ System.out.printf(Constant.VIEW_FORMAT, menu.getOrder(), menu.getMessage());
+ }
+ System.out.println("");
+ }
+
+ public static void printManagementView(String menu){
+
+ }
+
+ public static void printSubwayMap(){
+
+ }
+
+ public static void printSelectFunction(String askingMessage){
+
+ }
+
+ public static void printFunctionResult(String resultMessage){
+
+ }
+
+ public static void printError(String errorMessage){
+
+ }
+}
From 65876284e021fc2a3712667449f9f3636066b392 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 17:39:32 +0900
Subject: [PATCH 04/24] =?UTF-8?q?docs=20:=20=EA=B8=B0=EB=8A=A5=EA=B5=AC?=
=?UTF-8?q?=ED=98=84=EB=AA=A9=EB=A1=9D=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index 308c63eb5..585027c8d 100644
--- a/README.md
+++ b/README.md
@@ -8,10 +8,8 @@
- [ ] 기능 선택 입력 함수
- 출력 클래스
- - [ ] 메인 화면 출력 함수
- - [ ] 역 관리 화면 출력함수
- - [ ] 노선 관리 화면 출력함수
- - [ ] 구간 관리 화면 출력함수
+ - [x] 메인 화면 출력 함수
+ - [ ] 역, 노선, 구간 관리 화면 출력함수
- [ ] 선택한 기능 질문 출력함수
- [ ] 기능결과(INFO) 출력함수
- [ ] 에러 출력함수
From 1e147ad9f6632329ce05eac4b0487f9dd2064ccf Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 17:42:08 +0900
Subject: [PATCH 05/24] =?UTF-8?q?refactor=20:=20menu=20enum=EC=9D=84=20?=
=?UTF-8?q?=EC=83=88=20=ED=8C=A8=ED=82=A4=EC=A7=80=EC=97=90=20=EC=B6=94?=
=?UTF-8?q?=EA=B0=80,=20=EA=B8=B0=EC=A1=B4=20menu=ED=81=B4=EB=9E=98?=
=?UTF-8?q?=EC=8A=A4=20=EC=82=AD=EC=A0=9C=20=EB=B0=8F=20enum=20=EB=B6=84?=
=?UTF-8?q?=ED=95=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/domain/Menu.java | 27 -------------------
.../java/subway/domain/menu/MainMenu.java | 22 +++++++++++++++
src/main/java/subway/view/OutputView.java | 6 ++---
3 files changed, 25 insertions(+), 30 deletions(-)
delete mode 100644 src/main/java/subway/domain/Menu.java
create mode 100644 src/main/java/subway/domain/menu/MainMenu.java
diff --git a/src/main/java/subway/domain/Menu.java b/src/main/java/subway/domain/Menu.java
deleted file mode 100644
index bd9ad7515..000000000
--- a/src/main/java/subway/domain/Menu.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package subway.domain;
-
-public class Menu {
-
- public enum MainMenu{
- STATION("1", "역 관리"), LINE("2", "노선 관리")
- , SECTION("3", "구간 관리"), MAP("4", "지하철 노선도 출력")
- , END("Q", "종료");
-
- final private String order;
- final private String message;
-
- MainMenu(String order, String message) {
- this.order = order;
- this.message = message;
- }
-
- public String getOrder() {
- return order;
- }
-
- public String getMessage() {
- return message;
- }
- }
-
-}
diff --git a/src/main/java/subway/domain/menu/MainMenu.java b/src/main/java/subway/domain/menu/MainMenu.java
new file mode 100644
index 000000000..435015e3a
--- /dev/null
+++ b/src/main/java/subway/domain/menu/MainMenu.java
@@ -0,0 +1,22 @@
+package subway.domain.menu;
+
+public enum MainMenu {
+ STATION("1", "역 관리"), LINE("2", "노선 관리"), SECTION("3", "구간 관리"), MAP("4", "지하철 노선도 출력"), END("Q", "종료");
+
+ final private String order;
+ final private String message;
+
+ MainMenu(String order, String message) {
+ this.order = order;
+ this.message = message;
+ }
+
+ public String getOrder() {
+ return order;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 0fbbafcc4..01b807695 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -1,7 +1,7 @@
package subway.view;
import subway.Constant;
-import subway.domain.Menu;
+import subway.domain.menu.MainMenu;
public class OutputView {
@@ -11,10 +11,10 @@ public OutputView() {
public static void printMainView(){
System.out.print(Constant.VIEW_HEADER);
System.out.println(Constant.MAIN_VIEW_HEADER);
- for(Menu.MainMenu menu : Menu.MainMenu.values()) {
+ for(MainMenu menu : MainMenu.values()) {
System.out.printf(Constant.VIEW_FORMAT, menu.getOrder(), menu.getMessage());
}
- System.out.println("");
+ System.out.println();
}
public static void printManagementView(String menu){
From fdecfe2e15bb10b2175e9d52817b4f7f1d0705ca Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 17:53:36 +0900
Subject: [PATCH 06/24] =?UTF-8?q?refactor=20:=20menu=20=EC=9D=B4=EB=A6=84?=
=?UTF-8?q?=EB=93=A4=EC=9D=84=20MenuList=EB=A1=9C=20=EB=B6=84=ED=95=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/domain/menu/MainMenu.java | 6 +++++-
.../java/subway/domain/menu/ManagementMenu.java | 9 +++++++++
src/main/java/subway/domain/menu/MenuList.java | 15 +++++++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
create mode 100644 src/main/java/subway/domain/menu/ManagementMenu.java
create mode 100644 src/main/java/subway/domain/menu/MenuList.java
diff --git a/src/main/java/subway/domain/menu/MainMenu.java b/src/main/java/subway/domain/menu/MainMenu.java
index 435015e3a..98bd261d7 100644
--- a/src/main/java/subway/domain/menu/MainMenu.java
+++ b/src/main/java/subway/domain/menu/MainMenu.java
@@ -1,7 +1,11 @@
package subway.domain.menu;
public enum MainMenu {
- STATION("1", "역 관리"), LINE("2", "노선 관리"), SECTION("3", "구간 관리"), MAP("4", "지하철 노선도 출력"), END("Q", "종료");
+ STATION("1", MenuList.STATION.getName()+" 관리")
+ , LINE("2", MenuList.LINE.getName()+" 관리")
+ , SECTION("3", MenuList.SECTION.getName()+" 관리")
+ , MAP("4", MenuList.MAP.getName()+" 출력")
+ , END("Q", "종료");
final private String order;
final private String message;
diff --git a/src/main/java/subway/domain/menu/ManagementMenu.java b/src/main/java/subway/domain/menu/ManagementMenu.java
new file mode 100644
index 000000000..1c01814f1
--- /dev/null
+++ b/src/main/java/subway/domain/menu/ManagementMenu.java
@@ -0,0 +1,9 @@
+package subway.domain.menu;
+
+public class ManagementMenu {
+
+ enum Station{
+
+ }
+
+}
diff --git a/src/main/java/subway/domain/menu/MenuList.java b/src/main/java/subway/domain/menu/MenuList.java
new file mode 100644
index 000000000..defaf1582
--- /dev/null
+++ b/src/main/java/subway/domain/menu/MenuList.java
@@ -0,0 +1,15 @@
+package subway.domain.menu;
+
+public enum MenuList {
+ STATION("역"), LINE("노선"), SECTION("구간"), MAP("지하철 노선도");
+
+ final private String name;
+
+ MenuList(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
From 60906bda66775e79ccfb275222f1657eb4663400 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 18:27:40 +0900
Subject: [PATCH 07/24] =?UTF-8?q?feat=20:=20=EA=B4=80=EB=A6=AC=20=ED=99=94?=
=?UTF-8?q?=EB=A9=B4=20=EB=A9=94=EB=89=B4=20=EC=B6=9C=EB=A0=A5=20=EA=B8=B0?=
=?UTF-8?q?=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
src/main/java/subway/Application.java | 2 ++
src/main/java/subway/Constant.java | 3 +++
.../menu/{MenuList.java => DataList.java} | 4 ++--
.../java/subway/domain/menu/MainMenu.java | 8 ++++----
.../subway/domain/menu/ManagementMenu.java | 20 +++++++++++++++++--
src/main/java/subway/view/OutputView.java | 14 ++++++++++++-
7 files changed, 43 insertions(+), 10 deletions(-)
rename src/main/java/subway/domain/menu/{MenuList.java => DataList.java} (82%)
diff --git a/README.md b/README.md
index 585027c8d..b30080308 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
- 출력 클래스
- [x] 메인 화면 출력 함수
- - [ ] 역, 노선, 구간 관리 화면 출력함수
+ - [x] 역, 노선, 구간 관리 화면 출력함수
- [ ] 선택한 기능 질문 출력함수
- [ ] 기능결과(INFO) 출력함수
- [ ] 에러 출력함수
diff --git a/src/main/java/subway/Application.java b/src/main/java/subway/Application.java
index 34fe5a21d..e2b3a4d40 100644
--- a/src/main/java/subway/Application.java
+++ b/src/main/java/subway/Application.java
@@ -1,5 +1,6 @@
package subway;
+import subway.domain.menu.DataList;
import subway.view.OutputView;
import java.util.Scanner;
@@ -10,5 +11,6 @@ public static void main(String[] args) {
// TODO: 프로그램 구현
OutputView.printMainView();
+ OutputView.printManagementView(DataList.SECTION);
}
}
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index ba29ee3cd..d17e75afd 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -6,4 +6,7 @@ public class Constant {
public static final String VIEW_FORMAT = "%s. %s\n";
public static final String MAIN_VIEW_HEADER = "메인 화면";
+ public static final String MANAGEMENT_VIEW_HEADER_FORMAT = "%s 관리 화면\n";
+ public static final String MANAGEMENT_VIEW_BODY_FORMAT = "%s. %s %s\n";
+
}
diff --git a/src/main/java/subway/domain/menu/MenuList.java b/src/main/java/subway/domain/menu/DataList.java
similarity index 82%
rename from src/main/java/subway/domain/menu/MenuList.java
rename to src/main/java/subway/domain/menu/DataList.java
index defaf1582..6cec95f91 100644
--- a/src/main/java/subway/domain/menu/MenuList.java
+++ b/src/main/java/subway/domain/menu/DataList.java
@@ -1,11 +1,11 @@
package subway.domain.menu;
-public enum MenuList {
+public enum DataList {
STATION("역"), LINE("노선"), SECTION("구간"), MAP("지하철 노선도");
final private String name;
- MenuList(String name) {
+ DataList(String name) {
this.name = name;
}
diff --git a/src/main/java/subway/domain/menu/MainMenu.java b/src/main/java/subway/domain/menu/MainMenu.java
index 98bd261d7..95e48e039 100644
--- a/src/main/java/subway/domain/menu/MainMenu.java
+++ b/src/main/java/subway/domain/menu/MainMenu.java
@@ -1,10 +1,10 @@
package subway.domain.menu;
public enum MainMenu {
- STATION("1", MenuList.STATION.getName()+" 관리")
- , LINE("2", MenuList.LINE.getName()+" 관리")
- , SECTION("3", MenuList.SECTION.getName()+" 관리")
- , MAP("4", MenuList.MAP.getName()+" 출력")
+ STATION(String.valueOf(DataList.STATION.ordinal()+1), DataList.STATION.getName()+" 관리")
+ , LINE(String.valueOf(DataList.LINE.ordinal()+1), DataList.LINE.getName()+" 관리")
+ , SECTION(String.valueOf(DataList.SECTION.ordinal()+1), DataList.SECTION.getName()+" 관리")
+ , MAP(String.valueOf(DataList.MAP.ordinal()+1), DataList.MAP.getName()+" 출력")
, END("Q", "종료");
final private String order;
diff --git a/src/main/java/subway/domain/menu/ManagementMenu.java b/src/main/java/subway/domain/menu/ManagementMenu.java
index 1c01814f1..dc394577f 100644
--- a/src/main/java/subway/domain/menu/ManagementMenu.java
+++ b/src/main/java/subway/domain/menu/ManagementMenu.java
@@ -1,9 +1,25 @@
package subway.domain.menu;
-public class ManagementMenu {
+public enum ManagementMenu {
- enum Station{
+ REGISTER("1", "등록")
+ , DELETE("2", "삭제")
+ , FIND("3", "조회")
+ , BACK("B", "돌아가기");
+ final private String order;
+ final private String message;
+
+ ManagementMenu(String order, String message) {
+ this.order = order;
+ this.message = message;
+ }
+
+ public String getOrder() {
+ return order;
}
+ public String getMessage() {
+ return message;
+ }
}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 01b807695..9ae8e4650 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -2,6 +2,8 @@
import subway.Constant;
import subway.domain.menu.MainMenu;
+import subway.domain.menu.ManagementMenu;
+import subway.domain.menu.DataList;
public class OutputView {
@@ -17,7 +19,17 @@ public static void printMainView(){
System.out.println();
}
- public static void printManagementView(String menu){
+ public static void printManagementView(DataList data){
+ System.out.print(Constant.VIEW_HEADER);
+ System.out.printf(Constant.MANAGEMENT_VIEW_HEADER_FORMAT, data.getName());
+ for(ManagementMenu managementMenu : ManagementMenu.values()) {
+ if(data == DataList.SECTION && managementMenu == ManagementMenu.FIND ){ /*구간 관리 화면에는 조회 없음*/
+ continue;
+ }
+
+ System.out.printf(Constant.MANAGEMENT_VIEW_BODY_FORMAT, managementMenu.getOrder()
+ , data.getName(), managementMenu.getMessage());
+ }
}
From 9f120ae5113bc106e7731d87607d102f5e2ac392 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 18:48:17 +0900
Subject: [PATCH 08/24] =?UTF-8?q?feat=20:=20=EC=A7=80=ED=95=98=EC=B2=A0=20?=
=?UTF-8?q?=EB=85=B8=EC=84=A0=EB=8F=84=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?=
=?UTF-8?q?=EC=83=9D=EC=84=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Application.java | 6 +-----
src/main/java/subway/SubwayMap.java | 29 +++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 5 deletions(-)
create mode 100644 src/main/java/subway/SubwayMap.java
diff --git a/src/main/java/subway/Application.java b/src/main/java/subway/Application.java
index e2b3a4d40..f56091958 100644
--- a/src/main/java/subway/Application.java
+++ b/src/main/java/subway/Application.java
@@ -1,8 +1,5 @@
package subway;
-import subway.domain.menu.DataList;
-import subway.view.OutputView;
-
import java.util.Scanner;
public class Application {
@@ -10,7 +7,6 @@ public static void main(String[] args) {
final Scanner scanner = new Scanner(System.in);
// TODO: 프로그램 구현
- OutputView.printMainView();
- OutputView.printManagementView(DataList.SECTION);
+ new SubwayMap(scanner); /**프로그램 시작*/
}
}
diff --git a/src/main/java/subway/SubwayMap.java b/src/main/java/subway/SubwayMap.java
new file mode 100644
index 000000000..2b917c00f
--- /dev/null
+++ b/src/main/java/subway/SubwayMap.java
@@ -0,0 +1,29 @@
+package subway;
+
+import subway.domain.LineRepository;
+import subway.domain.StationRepository;
+
+import java.util.Scanner;
+
+public class SubwayMap {
+
+ private Scanner scanner;
+ private LineRepository lineRepository;
+ private StationRepository stationRepository;
+
+ public SubwayMap(Scanner scanner) {
+ lineRepository = new LineRepository();
+ stationRepository = new StationRepository();
+ startService();
+ }
+
+ private void startService() {
+ selectService();
+ }
+
+ private void selectService() {
+
+ }
+
+
+}
From 96488abb6074112ca28b88eda5309a3eaeb0f5f9 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 18:52:59 +0900
Subject: [PATCH 09/24] =?UTF-8?q?feat=20:=20=EB=A9=94=EC=9D=B8=ED=99=94?=
=?UTF-8?q?=EB=A9=B4=20=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=9E=85=EB=A0=A5=20?=
=?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/SubwayMap.java | 4 +++-
src/main/java/subway/view/InputView.java | 12 ++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/main/java/subway/SubwayMap.java b/src/main/java/subway/SubwayMap.java
index 2b917c00f..056f71e42 100644
--- a/src/main/java/subway/SubwayMap.java
+++ b/src/main/java/subway/SubwayMap.java
@@ -2,6 +2,7 @@
import subway.domain.LineRepository;
import subway.domain.StationRepository;
+import subway.view.OutputView;
import java.util.Scanner;
@@ -22,7 +23,8 @@ private void startService() {
}
private void selectService() {
-
+ OutputView.printMainView();
+
}
diff --git a/src/main/java/subway/view/InputView.java b/src/main/java/subway/view/InputView.java
index 1bf196eb9..e14b5eab4 100644
--- a/src/main/java/subway/view/InputView.java
+++ b/src/main/java/subway/view/InputView.java
@@ -1,4 +1,16 @@
package subway.view;
+import java.util.Scanner;
+
public class InputView {
+
+ public InputView() {
+ }
+
+ public static String inputMainMenu(Scanner scanner){
+ String inputData = scanner.nextLine();
+
+ return inputData;
+ }
+
}
From d9ab16cae69d7d2373c7e009e1ce8a5c7815b400 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 19:07:04 +0900
Subject: [PATCH 10/24] =?UTF-8?q?feat=20:=20=EB=A9=94=EC=9D=B8=ED=99=94?=
=?UTF-8?q?=EB=A9=B4=20=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=9E=85=EB=A0=A5=20?=
=?UTF-8?q?=EC=9C=A0=ED=9A=A8=EC=84=B1=20=EA=B2=80=EC=82=AC=20=EA=B8=B0?=
=?UTF-8?q?=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/SubwayMap.java | 4 +++-
src/main/java/subway/domain/menu/MainMenu.java | 9 +++++++++
src/main/java/subway/view/InputView.java | 9 ++++++---
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/main/java/subway/SubwayMap.java b/src/main/java/subway/SubwayMap.java
index 056f71e42..77b9acdcd 100644
--- a/src/main/java/subway/SubwayMap.java
+++ b/src/main/java/subway/SubwayMap.java
@@ -2,6 +2,7 @@
import subway.domain.LineRepository;
import subway.domain.StationRepository;
+import subway.view.InputView;
import subway.view.OutputView;
import java.util.Scanner;
@@ -13,6 +14,7 @@ public class SubwayMap {
private StationRepository stationRepository;
public SubwayMap(Scanner scanner) {
+ this.scanner = scanner;
lineRepository = new LineRepository();
stationRepository = new StationRepository();
startService();
@@ -24,7 +26,7 @@ private void startService() {
private void selectService() {
OutputView.printMainView();
-
+ String inputData = InputView.inputMainMenu(scanner);
}
diff --git a/src/main/java/subway/domain/menu/MainMenu.java b/src/main/java/subway/domain/menu/MainMenu.java
index 95e48e039..b43431066 100644
--- a/src/main/java/subway/domain/menu/MainMenu.java
+++ b/src/main/java/subway/domain/menu/MainMenu.java
@@ -23,4 +23,13 @@ public String getMessage() {
return message;
}
+ public static boolean isValidOrder(String order){
+ for(MainMenu mainMenu : MainMenu.values()){
+ if(mainMenu.getOrder().equals(order)){
+ return true;
+ }
+ }
+ return false;
+ }
+
}
diff --git a/src/main/java/subway/view/InputView.java b/src/main/java/subway/view/InputView.java
index e14b5eab4..b2472ab8c 100644
--- a/src/main/java/subway/view/InputView.java
+++ b/src/main/java/subway/view/InputView.java
@@ -1,5 +1,7 @@
package subway.view;
+import subway.domain.menu.MainMenu;
+
import java.util.Scanner;
public class InputView {
@@ -9,8 +11,9 @@ public InputView() {
public static String inputMainMenu(Scanner scanner){
String inputData = scanner.nextLine();
-
- return inputData;
+ if(MainMenu.isValidOrder(inputData)){
+ return inputData;
+ }
+ return inputMainMenu(scanner);
}
-
}
From 5fc1ae90eb91f7f7a08e68ede51838c4c29642ff Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 19:11:09 +0900
Subject: [PATCH 11/24] =?UTF-8?q?refactor=20:=20=EB=8D=B0=EC=9D=B4?=
=?UTF-8?q?=ED=84=B0=20=ED=8C=A8=ED=82=A4=EC=A7=80=20=EC=83=9D=EC=84=B1=20?=
=?UTF-8?q?=EB=B0=8F=20=EA=B8=B0=EC=A1=B4=20=ED=81=B4=EB=9E=98=EC=8A=A4=20?=
=?UTF-8?q?=ED=8C=A8=ED=82=A4=EC=A7=80=20=EC=9D=B4=EB=8F=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Application.java | 2 ++
src/main/java/subway/{ => domain}/SubwayMap.java | 6 +++---
src/main/java/subway/domain/{ => data}/Line.java | 2 +-
src/main/java/subway/domain/{ => data}/LineRepository.java | 2 +-
src/main/java/subway/domain/{ => data}/Station.java | 2 +-
.../java/subway/domain/{ => data}/StationRepository.java | 2 +-
6 files changed, 9 insertions(+), 7 deletions(-)
rename src/main/java/subway/{ => domain}/SubwayMap.java (85%)
rename src/main/java/subway/domain/{ => data}/Line.java (87%)
rename src/main/java/subway/domain/{ => data}/LineRepository.java (94%)
rename src/main/java/subway/domain/{ => data}/Station.java (87%)
rename src/main/java/subway/domain/{ => data}/StationRepository.java (95%)
diff --git a/src/main/java/subway/Application.java b/src/main/java/subway/Application.java
index f56091958..d6349ac8d 100644
--- a/src/main/java/subway/Application.java
+++ b/src/main/java/subway/Application.java
@@ -1,5 +1,7 @@
package subway;
+import subway.domain.SubwayMap;
+
import java.util.Scanner;
public class Application {
diff --git a/src/main/java/subway/SubwayMap.java b/src/main/java/subway/domain/SubwayMap.java
similarity index 85%
rename from src/main/java/subway/SubwayMap.java
rename to src/main/java/subway/domain/SubwayMap.java
index 77b9acdcd..8377ae61d 100644
--- a/src/main/java/subway/SubwayMap.java
+++ b/src/main/java/subway/domain/SubwayMap.java
@@ -1,7 +1,7 @@
-package subway;
+package subway.domain;
-import subway.domain.LineRepository;
-import subway.domain.StationRepository;
+import subway.domain.data.LineRepository;
+import subway.domain.data.StationRepository;
import subway.view.InputView;
import subway.view.OutputView;
diff --git a/src/main/java/subway/domain/Line.java b/src/main/java/subway/domain/data/Line.java
similarity index 87%
rename from src/main/java/subway/domain/Line.java
rename to src/main/java/subway/domain/data/Line.java
index f4d738d5a..6a19ead79 100644
--- a/src/main/java/subway/domain/Line.java
+++ b/src/main/java/subway/domain/data/Line.java
@@ -1,4 +1,4 @@
-package subway.domain;
+package subway.domain.data;
public class Line {
private String name;
diff --git a/src/main/java/subway/domain/LineRepository.java b/src/main/java/subway/domain/data/LineRepository.java
similarity index 94%
rename from src/main/java/subway/domain/LineRepository.java
rename to src/main/java/subway/domain/data/LineRepository.java
index 49132ddb6..4deb3332d 100644
--- a/src/main/java/subway/domain/LineRepository.java
+++ b/src/main/java/subway/domain/data/LineRepository.java
@@ -1,4 +1,4 @@
-package subway.domain;
+package subway.domain.data;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/src/main/java/subway/domain/Station.java b/src/main/java/subway/domain/data/Station.java
similarity index 87%
rename from src/main/java/subway/domain/Station.java
rename to src/main/java/subway/domain/data/Station.java
index bdb142590..9d2e697a0 100644
--- a/src/main/java/subway/domain/Station.java
+++ b/src/main/java/subway/domain/data/Station.java
@@ -1,4 +1,4 @@
-package subway.domain;
+package subway.domain.data;
public class Station {
private String name;
diff --git a/src/main/java/subway/domain/StationRepository.java b/src/main/java/subway/domain/data/StationRepository.java
similarity index 95%
rename from src/main/java/subway/domain/StationRepository.java
rename to src/main/java/subway/domain/data/StationRepository.java
index b7245c0f3..a67636d3c 100644
--- a/src/main/java/subway/domain/StationRepository.java
+++ b/src/main/java/subway/domain/data/StationRepository.java
@@ -1,4 +1,4 @@
-package subway.domain;
+package subway.domain.data;
import java.util.ArrayList;
import java.util.Collections;
From 1183af74c47fc7582211b47abac77e59b2c33cf6 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 19:11:50 +0900
Subject: [PATCH 12/24] =?UTF-8?q?refactor=20:=20=ED=81=B4=EB=9E=98?=
=?UTF-8?q?=EC=8A=A4=20=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD=20DataList?=
=?UTF-8?q?=20->=20ServiceList?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/domain/menu/MainMenu.java | 8 ++++----
.../domain/menu/{DataList.java => ServiceList.java} | 4 ++--
src/main/java/subway/view/OutputView.java | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
rename src/main/java/subway/domain/menu/{DataList.java => ServiceList.java} (80%)
diff --git a/src/main/java/subway/domain/menu/MainMenu.java b/src/main/java/subway/domain/menu/MainMenu.java
index b43431066..4855548d9 100644
--- a/src/main/java/subway/domain/menu/MainMenu.java
+++ b/src/main/java/subway/domain/menu/MainMenu.java
@@ -1,10 +1,10 @@
package subway.domain.menu;
public enum MainMenu {
- STATION(String.valueOf(DataList.STATION.ordinal()+1), DataList.STATION.getName()+" 관리")
- , LINE(String.valueOf(DataList.LINE.ordinal()+1), DataList.LINE.getName()+" 관리")
- , SECTION(String.valueOf(DataList.SECTION.ordinal()+1), DataList.SECTION.getName()+" 관리")
- , MAP(String.valueOf(DataList.MAP.ordinal()+1), DataList.MAP.getName()+" 출력")
+ STATION(String.valueOf(ServiceList.STATION.ordinal()+1), ServiceList.STATION.getName()+" 관리")
+ , LINE(String.valueOf(ServiceList.LINE.ordinal()+1), ServiceList.LINE.getName()+" 관리")
+ , SECTION(String.valueOf(ServiceList.SECTION.ordinal()+1), ServiceList.SECTION.getName()+" 관리")
+ , MAP(String.valueOf(ServiceList.MAP.ordinal()+1), ServiceList.MAP.getName()+" 출력")
, END("Q", "종료");
final private String order;
diff --git a/src/main/java/subway/domain/menu/DataList.java b/src/main/java/subway/domain/menu/ServiceList.java
similarity index 80%
rename from src/main/java/subway/domain/menu/DataList.java
rename to src/main/java/subway/domain/menu/ServiceList.java
index 6cec95f91..c5bd3d2d1 100644
--- a/src/main/java/subway/domain/menu/DataList.java
+++ b/src/main/java/subway/domain/menu/ServiceList.java
@@ -1,11 +1,11 @@
package subway.domain.menu;
-public enum DataList {
+public enum ServiceList {
STATION("역"), LINE("노선"), SECTION("구간"), MAP("지하철 노선도");
final private String name;
- DataList(String name) {
+ ServiceList(String name) {
this.name = name;
}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 9ae8e4650..94305af39 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -3,7 +3,7 @@
import subway.Constant;
import subway.domain.menu.MainMenu;
import subway.domain.menu.ManagementMenu;
-import subway.domain.menu.DataList;
+import subway.domain.menu.ServiceList;
public class OutputView {
@@ -19,11 +19,11 @@ public static void printMainView(){
System.out.println();
}
- public static void printManagementView(DataList data){
+ public static void printManagementView(ServiceList data){
System.out.print(Constant.VIEW_HEADER);
System.out.printf(Constant.MANAGEMENT_VIEW_HEADER_FORMAT, data.getName());
for(ManagementMenu managementMenu : ManagementMenu.values()) {
- if(data == DataList.SECTION && managementMenu == ManagementMenu.FIND ){ /*구간 관리 화면에는 조회 없음*/
+ if(data == ServiceList.SECTION && managementMenu == ManagementMenu.FIND ){ /*구간 관리 화면에는 조회 없음*/
continue;
}
From 4f8f315bbe7f0c95b7665bb6f231bd290f453bd7 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 19:35:22 +0900
Subject: [PATCH 13/24] =?UTF-8?q?feat=20:=20=EA=B0=81=20=EA=B8=B0=EB=8A=A5?=
=?UTF-8?q?=20=EA=B4=80=EB=A6=AC=20=EC=B6=9C=EB=A0=A5=EB=A9=94=EC=84=B8?=
=?UTF-8?q?=EC=A7=80=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/domain/Services.java | 25 +++++++++++++++++++
src/main/java/subway/domain/SubwayMap.java | 12 +++++++--
.../domain/management/StationManagement.java | 18 +++++++++++++
.../subway/domain/menu/ManagementMenu.java | 9 +++++++
src/main/java/subway/view/InputView.java | 2 ++
5 files changed, 64 insertions(+), 2 deletions(-)
create mode 100644 src/main/java/subway/domain/Services.java
create mode 100644 src/main/java/subway/domain/management/StationManagement.java
diff --git a/src/main/java/subway/domain/Services.java b/src/main/java/subway/domain/Services.java
new file mode 100644
index 000000000..f6c6471e6
--- /dev/null
+++ b/src/main/java/subway/domain/Services.java
@@ -0,0 +1,25 @@
+package subway.domain;
+
+import subway.domain.menu.MainMenu;
+import subway.domain.management.StationManagement;
+
+import java.util.Scanner;
+
+public class Services {
+
+ public static void doService(String inputData, Scanner scanner) {
+ if (inputData.equals(MainMenu.STATION.getOrder())) {
+ StationManagement.doStationManagement(scanner);
+ return;
+ }
+ if (inputData.equals(MainMenu.LINE.getOrder())) {
+
+ }
+ if (inputData.equals(MainMenu.SECTION.getOrder())) {
+
+ }
+ if (inputData.equals(MainMenu.MAP.getOrder())) {
+
+ }
+ }
+}
diff --git a/src/main/java/subway/domain/SubwayMap.java b/src/main/java/subway/domain/SubwayMap.java
index 8377ae61d..9344f2ed2 100644
--- a/src/main/java/subway/domain/SubwayMap.java
+++ b/src/main/java/subway/domain/SubwayMap.java
@@ -2,6 +2,7 @@
import subway.domain.data.LineRepository;
import subway.domain.data.StationRepository;
+import subway.domain.menu.MainMenu;
import subway.view.InputView;
import subway.view.OutputView;
@@ -21,12 +22,19 @@ public SubwayMap(Scanner scanner) {
}
private void startService() {
- selectService();
+ while (true) {
+ String inputData = selectService();
+ if (inputData.equals(MainMenu.END.getOrder())){
+ return;
+ }
+ Services.doService(inputData, scanner);
+ }
}
- private void selectService() {
+ private String selectService() {
OutputView.printMainView();
String inputData = InputView.inputMainMenu(scanner);
+ return inputData;
}
diff --git a/src/main/java/subway/domain/management/StationManagement.java b/src/main/java/subway/domain/management/StationManagement.java
new file mode 100644
index 000000000..941f25a59
--- /dev/null
+++ b/src/main/java/subway/domain/management/StationManagement.java
@@ -0,0 +1,18 @@
+package subway.domain.management;
+
+import subway.domain.menu.ServiceList;
+import subway.view.InputView;
+import subway.view.OutputView;
+
+import java.util.Scanner;
+
+public class StationManagement {
+
+ public StationManagement() {
+ }
+
+ public static void doStationManagement(Scanner scanner){
+ OutputView.printManagementView(ServiceList.STATION);
+ String inputData = InputView.inputMainMenu(scanner);
+ }
+}
diff --git a/src/main/java/subway/domain/menu/ManagementMenu.java b/src/main/java/subway/domain/menu/ManagementMenu.java
index dc394577f..36f191b4f 100644
--- a/src/main/java/subway/domain/menu/ManagementMenu.java
+++ b/src/main/java/subway/domain/menu/ManagementMenu.java
@@ -22,4 +22,13 @@ public String getOrder() {
public String getMessage() {
return message;
}
+
+ public static boolean isValidOrder(String order){
+ for(ManagementMenu managementMenu : ManagementMenu.values()){
+ if(managementMenu.getOrder().equals(order)){
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/src/main/java/subway/view/InputView.java b/src/main/java/subway/view/InputView.java
index b2472ab8c..07ce7c963 100644
--- a/src/main/java/subway/view/InputView.java
+++ b/src/main/java/subway/view/InputView.java
@@ -1,6 +1,7 @@
package subway.view;
import subway.domain.menu.MainMenu;
+import subway.domain.menu.ManagementMenu;
import java.util.Scanner;
@@ -16,4 +17,5 @@ public static String inputMainMenu(Scanner scanner){
}
return inputMainMenu(scanner);
}
+
}
From 72820e8759f1c2a3075dc5612339d6aa258354bf Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 20:13:44 +0900
Subject: [PATCH 14/24] =?UTF-8?q?refactor=20:=20=EA=B0=81=20=EA=B8=B0?=
=?UTF-8?q?=EB=8A=A5=20=ED=81=B4=EB=9E=98=EC=8A=A4=20=EB=B6=84=EB=A6=AC=20?=
=?UTF-8?q?=EB=B0=8F=20=EC=B6=9C=EB=A0=B4=ED=95=A8=EC=88=98=20=EC=88=98?=
=?UTF-8?q?=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/domain/Services.java | 15 +++++++---
.../subway/domain/management/LineManager.java | 30 +++++++++++++++++++
.../domain/management/SectionManager.java | 29 ++++++++++++++++++
.../domain/management/ServiceManager.java | 23 ++++++++++++++
.../domain/management/StationManagement.java | 18 -----------
.../domain/management/StationManager.java | 29 ++++++++++++++++++
.../subway/domain/menu/ManagementMenu.java | 8 -----
src/main/java/subway/view/InputView.java | 7 +++++
src/main/java/subway/view/OutputView.java | 17 +++++------
9 files changed, 136 insertions(+), 40 deletions(-)
create mode 100644 src/main/java/subway/domain/management/LineManager.java
create mode 100644 src/main/java/subway/domain/management/SectionManager.java
create mode 100644 src/main/java/subway/domain/management/ServiceManager.java
delete mode 100644 src/main/java/subway/domain/management/StationManagement.java
create mode 100644 src/main/java/subway/domain/management/StationManager.java
diff --git a/src/main/java/subway/domain/Services.java b/src/main/java/subway/domain/Services.java
index f6c6471e6..8fb45485c 100644
--- a/src/main/java/subway/domain/Services.java
+++ b/src/main/java/subway/domain/Services.java
@@ -1,7 +1,9 @@
package subway.domain;
+import subway.domain.management.LineManager;
+import subway.domain.management.SectionManager;
import subway.domain.menu.MainMenu;
-import subway.domain.management.StationManagement;
+import subway.domain.management.StationManager;
import java.util.Scanner;
@@ -9,14 +11,19 @@ public class Services {
public static void doService(String inputData, Scanner scanner) {
if (inputData.equals(MainMenu.STATION.getOrder())) {
- StationManagement.doStationManagement(scanner);
+ StationManager stationManager = new StationManager();
+ stationManager.doStationManagement(scanner);
return;
}
if (inputData.equals(MainMenu.LINE.getOrder())) {
-
+ LineManager lineManager = new LineManager();
+ lineManager.doStationManagement(scanner);
+ return;
}
if (inputData.equals(MainMenu.SECTION.getOrder())) {
-
+ SectionManager sectionManager = new SectionManager();
+ sectionManager.doStationManagement(scanner);
+ return;
}
if (inputData.equals(MainMenu.MAP.getOrder())) {
diff --git a/src/main/java/subway/domain/management/LineManager.java b/src/main/java/subway/domain/management/LineManager.java
new file mode 100644
index 000000000..044debd91
--- /dev/null
+++ b/src/main/java/subway/domain/management/LineManager.java
@@ -0,0 +1,30 @@
+package subway.domain.management;
+
+import subway.domain.menu.ManagementMenu;
+import subway.domain.menu.ServiceList;
+import subway.view.InputView;
+import subway.view.OutputView;
+
+import java.util.Scanner;
+
+public class LineManager extends ServiceManager{
+
+ public LineManager() {
+ super();
+ }
+
+ @Override
+ public void doStationManagement(Scanner scanner) {
+ OutputView.printManagementView(ServiceList.LINE, menuList);
+ String inputData = InputView.inputMainMenu(scanner);
+
+ }
+
+ @Override
+ protected void initMenuList() {
+ menuList.add(ManagementMenu.REGISTER);
+ menuList.add(ManagementMenu.DELETE);
+ menuList.add(ManagementMenu.FIND);
+ menuList.add(ManagementMenu.BACK);
+ }
+}
diff --git a/src/main/java/subway/domain/management/SectionManager.java b/src/main/java/subway/domain/management/SectionManager.java
new file mode 100644
index 000000000..c97159231
--- /dev/null
+++ b/src/main/java/subway/domain/management/SectionManager.java
@@ -0,0 +1,29 @@
+package subway.domain.management;
+
+import subway.domain.menu.ManagementMenu;
+import subway.domain.menu.ServiceList;
+import subway.view.InputView;
+import subway.view.OutputView;
+
+import java.util.Scanner;
+
+public class SectionManager extends ServiceManager {
+
+ public SectionManager() {
+ super();
+ }
+
+ @Override
+ public void doStationManagement(Scanner scanner) {
+ OutputView.printManagementView(ServiceList.SECTION, menuList);
+ String inputData = InputView.inputMainMenu(scanner);
+
+ }
+
+ @Override
+ protected void initMenuList() {
+ menuList.add(ManagementMenu.REGISTER);
+ menuList.add(ManagementMenu.DELETE);
+ menuList.add(ManagementMenu.BACK);
+ }
+}
diff --git a/src/main/java/subway/domain/management/ServiceManager.java b/src/main/java/subway/domain/management/ServiceManager.java
new file mode 100644
index 000000000..c89696931
--- /dev/null
+++ b/src/main/java/subway/domain/management/ServiceManager.java
@@ -0,0 +1,23 @@
+package subway.domain.management;
+
+import subway.domain.menu.ManagementMenu;
+import subway.domain.menu.ServiceList;
+import subway.view.InputView;
+import subway.view.OutputView;
+
+import java.awt.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
+
+public abstract class ServiceManager {
+ protected List menuList = new ArrayList<>();
+
+ public ServiceManager() {
+ initMenuList();
+ }
+
+ public abstract void doStationManagement(Scanner scanner);
+
+ protected abstract void initMenuList();
+}
diff --git a/src/main/java/subway/domain/management/StationManagement.java b/src/main/java/subway/domain/management/StationManagement.java
deleted file mode 100644
index 941f25a59..000000000
--- a/src/main/java/subway/domain/management/StationManagement.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package subway.domain.management;
-
-import subway.domain.menu.ServiceList;
-import subway.view.InputView;
-import subway.view.OutputView;
-
-import java.util.Scanner;
-
-public class StationManagement {
-
- public StationManagement() {
- }
-
- public static void doStationManagement(Scanner scanner){
- OutputView.printManagementView(ServiceList.STATION);
- String inputData = InputView.inputMainMenu(scanner);
- }
-}
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
new file mode 100644
index 000000000..03a44ab58
--- /dev/null
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -0,0 +1,29 @@
+package subway.domain.management;
+
+import subway.domain.menu.ManagementMenu;
+import subway.domain.menu.ServiceList;
+import subway.view.InputView;
+import subway.view.OutputView;
+
+import java.util.Scanner;
+
+public class StationManager extends ServiceManager {
+
+ public StationManager() {
+ super();
+ }
+
+ @Override
+ public void doStationManagement(Scanner scanner) {
+ OutputView.printManagementView(ServiceList.STATION, menuList);
+ String inputData = InputView.inputMainMenu(scanner);
+ }
+
+ @Override
+ protected void initMenuList() {
+ menuList.add(ManagementMenu.REGISTER);
+ menuList.add(ManagementMenu.DELETE);
+ menuList.add(ManagementMenu.FIND);
+ menuList.add(ManagementMenu.BACK);
+ }
+}
diff --git a/src/main/java/subway/domain/menu/ManagementMenu.java b/src/main/java/subway/domain/menu/ManagementMenu.java
index 36f191b4f..b27cf7328 100644
--- a/src/main/java/subway/domain/menu/ManagementMenu.java
+++ b/src/main/java/subway/domain/menu/ManagementMenu.java
@@ -23,12 +23,4 @@ public String getMessage() {
return message;
}
- public static boolean isValidOrder(String order){
- for(ManagementMenu managementMenu : ManagementMenu.values()){
- if(managementMenu.getOrder().equals(order)){
- return true;
- }
- }
- return false;
- }
}
diff --git a/src/main/java/subway/view/InputView.java b/src/main/java/subway/view/InputView.java
index 07ce7c963..4cf00632f 100644
--- a/src/main/java/subway/view/InputView.java
+++ b/src/main/java/subway/view/InputView.java
@@ -18,4 +18,11 @@ public static String inputMainMenu(Scanner scanner){
return inputMainMenu(scanner);
}
+ public static String inputManagementMenu(Scanner scanner, ManagementMenu menu){
+ String inputData = scanner.nextLine();
+ if(MainMenu.isValidOrder(inputData)){
+ return inputData;
+ }
+ return inputMainMenu(scanner);
+ }
}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 94305af39..780130bc3 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -5,6 +5,8 @@
import subway.domain.menu.ManagementMenu;
import subway.domain.menu.ServiceList;
+import java.util.List;
+
public class OutputView {
public OutputView() {
@@ -19,18 +21,13 @@ public static void printMainView(){
System.out.println();
}
- public static void printManagementView(ServiceList data){
+ public static void printManagementView(ServiceList service, List menuList){
System.out.print(Constant.VIEW_HEADER);
- System.out.printf(Constant.MANAGEMENT_VIEW_HEADER_FORMAT, data.getName());
- for(ManagementMenu managementMenu : ManagementMenu.values()) {
- if(data == ServiceList.SECTION && managementMenu == ManagementMenu.FIND ){ /*구간 관리 화면에는 조회 없음*/
- continue;
- }
-
- System.out.printf(Constant.MANAGEMENT_VIEW_BODY_FORMAT, managementMenu.getOrder()
- , data.getName(), managementMenu.getMessage());
+ System.out.printf(Constant.MANAGEMENT_VIEW_HEADER_FORMAT, service.getName());
+ for(ManagementMenu menu : menuList) {
+ System.out.printf(Constant.MANAGEMENT_VIEW_BODY_FORMAT, menu.getOrder(), service.getName(), menu.getMessage());
}
-
+ System.out.println();
}
public static void printSubwayMap(){
From d72cac20f180c0c01143ddb2859ce021bb9b6149 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 20:26:43 +0900
Subject: [PATCH 15/24] =?UTF-8?q?refactor=20:=20=ED=81=B4=EB=9E=98?=
=?UTF-8?q?=EC=8A=A4=20=EB=B6=84=EB=A6=AC=EC=97=90=20=EB=94=B0=EB=A5=B8=20?=
=?UTF-8?q?=EC=9E=85=EB=A0=A5=ED=95=A8=EC=88=98=20=EB=B0=8F=20=EC=9C=A0?=
=?UTF-8?q?=ED=9A=A8=EC=84=B1=EA=B2=80=EC=82=AC=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Constant.java | 3 +++
src/main/java/subway/domain/SubwayMap.java | 8 ++++++--
.../subway/domain/management/LineManager.java | 2 --
.../domain/management/SectionManager.java | 1 -
.../domain/management/StationManager.java | 8 +++++++-
src/main/java/subway/view/InputView.java | 18 +++++++++++-------
src/main/java/subway/view/OutputView.java | 4 +++-
7 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index d17e75afd..662ee1f6b 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -9,4 +9,7 @@ public class Constant {
public static final String MANAGEMENT_VIEW_HEADER_FORMAT = "%s 관리 화면\n";
public static final String MANAGEMENT_VIEW_BODY_FORMAT = "%s. %s %s\n";
+ public static final String ILLEGAL_ARGUMENT_EXCEPTION_HEADER = "[ERROR] ";
+ public static final String ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER = "선택할 수 없는 기능입니다.";
+
}
diff --git a/src/main/java/subway/domain/SubwayMap.java b/src/main/java/subway/domain/SubwayMap.java
index 9344f2ed2..72039c442 100644
--- a/src/main/java/subway/domain/SubwayMap.java
+++ b/src/main/java/subway/domain/SubwayMap.java
@@ -33,8 +33,12 @@ private void startService() {
private String selectService() {
OutputView.printMainView();
- String inputData = InputView.inputMainMenu(scanner);
- return inputData;
+ try {
+ return InputView.inputMainMenu(scanner);
+ } catch (IllegalArgumentException e){
+ OutputView.printError(e.getMessage());
+ return selectService();
+ }
}
diff --git a/src/main/java/subway/domain/management/LineManager.java b/src/main/java/subway/domain/management/LineManager.java
index 044debd91..059addce3 100644
--- a/src/main/java/subway/domain/management/LineManager.java
+++ b/src/main/java/subway/domain/management/LineManager.java
@@ -16,8 +16,6 @@ public LineManager() {
@Override
public void doStationManagement(Scanner scanner) {
OutputView.printManagementView(ServiceList.LINE, menuList);
- String inputData = InputView.inputMainMenu(scanner);
-
}
@Override
diff --git a/src/main/java/subway/domain/management/SectionManager.java b/src/main/java/subway/domain/management/SectionManager.java
index c97159231..1965f70ca 100644
--- a/src/main/java/subway/domain/management/SectionManager.java
+++ b/src/main/java/subway/domain/management/SectionManager.java
@@ -16,7 +16,6 @@ public SectionManager() {
@Override
public void doStationManagement(Scanner scanner) {
OutputView.printManagementView(ServiceList.SECTION, menuList);
- String inputData = InputView.inputMainMenu(scanner);
}
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
index 03a44ab58..d1f14dc15 100644
--- a/src/main/java/subway/domain/management/StationManager.java
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -16,7 +16,13 @@ public StationManager() {
@Override
public void doStationManagement(Scanner scanner) {
OutputView.printManagementView(ServiceList.STATION, menuList);
- String inputData = InputView.inputMainMenu(scanner);
+ try{
+ String inputData = InputView.inputManagementMenu(scanner, menuList);
+ } catch (IllegalArgumentException e){
+ OutputView.printError(e.getMessage());
+ doStationManagement(scanner);
+ }
+
}
@Override
diff --git a/src/main/java/subway/view/InputView.java b/src/main/java/subway/view/InputView.java
index 4cf00632f..48e9704d8 100644
--- a/src/main/java/subway/view/InputView.java
+++ b/src/main/java/subway/view/InputView.java
@@ -1,8 +1,10 @@
package subway.view;
+import subway.Constant;
import subway.domain.menu.MainMenu;
import subway.domain.menu.ManagementMenu;
+import java.util.List;
import java.util.Scanner;
public class InputView {
@@ -12,17 +14,19 @@ public InputView() {
public static String inputMainMenu(Scanner scanner){
String inputData = scanner.nextLine();
- if(MainMenu.isValidOrder(inputData)){
- return inputData;
+ if(!MainMenu.isValidOrder(inputData)){
+ throw new IllegalArgumentException(Constant.ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER);
}
- return inputMainMenu(scanner);
+ return inputData;
}
- public static String inputManagementMenu(Scanner scanner, ManagementMenu menu){
+ public static String inputManagementMenu(Scanner scanner, List menuList){
String inputData = scanner.nextLine();
- if(MainMenu.isValidOrder(inputData)){
- return inputData;
+ for(ManagementMenu menu : menuList){
+ if(menu.getOrder().equals(inputData)){
+ return inputData;
+ }
}
- return inputMainMenu(scanner);
+ throw new IllegalArgumentException(Constant.ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER);
}
}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 780130bc3..d7cee25f6 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -43,6 +43,8 @@ public static void printFunctionResult(String resultMessage){
}
public static void printError(String errorMessage){
-
+ System.out.print(Constant.ILLEGAL_ARGUMENT_EXCEPTION_HEADER);
+ System.out.println(errorMessage);
+ System.out.println();
}
}
From 978c43119aa7dfabc1efe153a3ec3e4437bf3539 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 20:31:19 +0900
Subject: [PATCH 16/24] =?UTF-8?q?feat=20:=20=EC=9E=85=EB=A0=A5=20=EA=B8=B0?=
=?UTF-8?q?=EB=8B=A4=EB=A6=AC=EB=8A=94=20=EB=AC=B8=EC=9E=A5=20=EC=B6=9C?=
=?UTF-8?q?=EB=A0=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Constant.java | 2 ++
src/main/java/subway/domain/SubwayMap.java | 5 ++++-
src/main/java/subway/domain/management/StationManager.java | 1 -
src/main/java/subway/view/OutputView.java | 4 +++-
4 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index 662ee1f6b..d86d6ac30 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -6,6 +6,8 @@ public class Constant {
public static final String VIEW_FORMAT = "%s. %s\n";
public static final String MAIN_VIEW_HEADER = "메인 화면";
+ public static final String ASKING_FUNCTION_BODY = "원하는 기능을 선택하세요.";
+
public static final String MANAGEMENT_VIEW_HEADER_FORMAT = "%s 관리 화면\n";
public static final String MANAGEMENT_VIEW_BODY_FORMAT = "%s. %s %s\n";
diff --git a/src/main/java/subway/domain/SubwayMap.java b/src/main/java/subway/domain/SubwayMap.java
index 72039c442..97a411972 100644
--- a/src/main/java/subway/domain/SubwayMap.java
+++ b/src/main/java/subway/domain/SubwayMap.java
@@ -1,5 +1,6 @@
package subway.domain;
+import subway.Constant;
import subway.domain.data.LineRepository;
import subway.domain.data.StationRepository;
import subway.domain.menu.MainMenu;
@@ -22,6 +23,8 @@ public SubwayMap(Scanner scanner) {
}
private void startService() {
+ OutputView.printMainView();
+
while (true) {
String inputData = selectService();
if (inputData.equals(MainMenu.END.getOrder())){
@@ -32,8 +35,8 @@ private void startService() {
}
private String selectService() {
- OutputView.printMainView();
try {
+ OutputView.printSelectFunction(Constant.ASKING_FUNCTION_BODY);
return InputView.inputMainMenu(scanner);
} catch (IllegalArgumentException e){
OutputView.printError(e.getMessage());
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
index d1f14dc15..b91019a63 100644
--- a/src/main/java/subway/domain/management/StationManager.java
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -22,7 +22,6 @@ public void doStationManagement(Scanner scanner) {
OutputView.printError(e.getMessage());
doStationManagement(scanner);
}
-
}
@Override
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index d7cee25f6..61d3d8a90 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -13,6 +13,7 @@ public OutputView() {
}
public static void printMainView(){
+ System.out.println();
System.out.print(Constant.VIEW_HEADER);
System.out.println(Constant.MAIN_VIEW_HEADER);
for(MainMenu menu : MainMenu.values()) {
@@ -35,7 +36,8 @@ public static void printSubwayMap(){
}
public static void printSelectFunction(String askingMessage){
-
+ System.out.print(Constant.VIEW_HEADER);
+ System.out.println(askingMessage);
}
public static void printFunctionResult(String resultMessage){
From 45c78a79c27f133b3ea2f0b16b4b2fea7f0101da Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 20:56:47 +0900
Subject: [PATCH 17/24] =?UTF-8?q?feat=20:=20=EC=97=AD=20=EC=9D=B4=EB=A6=84?=
=?UTF-8?q?=20=EC=9E=85=EB=A0=A5=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Constant.java | 4 ++-
src/main/java/subway/domain/Services.java | 12 +++----
src/main/java/subway/domain/SubwayMap.java | 5 ++-
.../subway/domain/management/LineManager.java | 6 ++--
.../domain/management/SectionManager.java | 6 ++--
.../domain/management/ServiceManager.java | 17 ++++++++--
.../domain/management/StationManager.java | 31 +++++++++++++++----
src/main/java/subway/view/InputView.java | 7 +++++
src/main/java/subway/view/OutputView.java | 14 ++++++---
9 files changed, 74 insertions(+), 28 deletions(-)
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index d86d6ac30..2e4ac835b 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -6,7 +6,9 @@ public class Constant {
public static final String VIEW_FORMAT = "%s. %s\n";
public static final String MAIN_VIEW_HEADER = "메인 화면";
- public static final String ASKING_FUNCTION_BODY = "원하는 기능을 선택하세요.";
+ public static final String ASKING_FUNCTION_INPUT_FUNCTION_ORDER = "원하는 기능을 선택하세요.";
+
+ public static final String INPUT_DATA_REGISTER_FORMAT = "등록할 %s 이름을 입력하세요.\n";
public static final String MANAGEMENT_VIEW_HEADER_FORMAT = "%s 관리 화면\n";
public static final String MANAGEMENT_VIEW_BODY_FORMAT = "%s. %s %s\n";
diff --git a/src/main/java/subway/domain/Services.java b/src/main/java/subway/domain/Services.java
index 8fb45485c..2c0213063 100644
--- a/src/main/java/subway/domain/Services.java
+++ b/src/main/java/subway/domain/Services.java
@@ -11,18 +11,18 @@ public class Services {
public static void doService(String inputData, Scanner scanner) {
if (inputData.equals(MainMenu.STATION.getOrder())) {
- StationManager stationManager = new StationManager();
- stationManager.doStationManagement(scanner);
+ StationManager stationManager = new StationManager(scanner);
+ stationManager.doStationManagement();
return;
}
if (inputData.equals(MainMenu.LINE.getOrder())) {
- LineManager lineManager = new LineManager();
- lineManager.doStationManagement(scanner);
+ LineManager lineManager = new LineManager(scanner);
+ lineManager.doStationManagement();
return;
}
if (inputData.equals(MainMenu.SECTION.getOrder())) {
- SectionManager sectionManager = new SectionManager();
- sectionManager.doStationManagement(scanner);
+ SectionManager sectionManager = new SectionManager(scanner);
+ sectionManager.doStationManagement();
return;
}
if (inputData.equals(MainMenu.MAP.getOrder())) {
diff --git a/src/main/java/subway/domain/SubwayMap.java b/src/main/java/subway/domain/SubwayMap.java
index 97a411972..52682a4ac 100644
--- a/src/main/java/subway/domain/SubwayMap.java
+++ b/src/main/java/subway/domain/SubwayMap.java
@@ -23,9 +23,8 @@ public SubwayMap(Scanner scanner) {
}
private void startService() {
- OutputView.printMainView();
-
while (true) {
+ OutputView.printMainView();
String inputData = selectService();
if (inputData.equals(MainMenu.END.getOrder())){
return;
@@ -36,7 +35,7 @@ private void startService() {
private String selectService() {
try {
- OutputView.printSelectFunction(Constant.ASKING_FUNCTION_BODY);
+ OutputView.printAskingFunction(Constant.ASKING_FUNCTION_INPUT_FUNCTION_ORDER);
return InputView.inputMainMenu(scanner);
} catch (IllegalArgumentException e){
OutputView.printError(e.getMessage());
diff --git a/src/main/java/subway/domain/management/LineManager.java b/src/main/java/subway/domain/management/LineManager.java
index 059addce3..c0c98608a 100644
--- a/src/main/java/subway/domain/management/LineManager.java
+++ b/src/main/java/subway/domain/management/LineManager.java
@@ -9,12 +9,12 @@
public class LineManager extends ServiceManager{
- public LineManager() {
- super();
+ public LineManager(Scanner scanner) {
+ super(scanner);
}
@Override
- public void doStationManagement(Scanner scanner) {
+ public void doStationManagement() {
OutputView.printManagementView(ServiceList.LINE, menuList);
}
diff --git a/src/main/java/subway/domain/management/SectionManager.java b/src/main/java/subway/domain/management/SectionManager.java
index 1965f70ca..708a8c13e 100644
--- a/src/main/java/subway/domain/management/SectionManager.java
+++ b/src/main/java/subway/domain/management/SectionManager.java
@@ -9,12 +9,12 @@
public class SectionManager extends ServiceManager {
- public SectionManager() {
- super();
+ public SectionManager(Scanner scanner) {
+ super(scanner);
}
@Override
- public void doStationManagement(Scanner scanner) {
+ public void doStationManagement() {
OutputView.printManagementView(ServiceList.SECTION, menuList);
}
diff --git a/src/main/java/subway/domain/management/ServiceManager.java b/src/main/java/subway/domain/management/ServiceManager.java
index c89696931..56fc21c21 100644
--- a/src/main/java/subway/domain/management/ServiceManager.java
+++ b/src/main/java/subway/domain/management/ServiceManager.java
@@ -1,5 +1,6 @@
package subway.domain.management;
+import subway.Constant;
import subway.domain.menu.ManagementMenu;
import subway.domain.menu.ServiceList;
import subway.view.InputView;
@@ -12,12 +13,24 @@
public abstract class ServiceManager {
protected List menuList = new ArrayList<>();
+ protected Scanner scanner;
- public ServiceManager() {
+ public ServiceManager(Scanner scanner) {
initMenuList();
+ this.scanner = scanner;
}
- public abstract void doStationManagement(Scanner scanner);
+ protected String getInputData(Scanner scanner){
+ try{
+ OutputView.printAskingFunction(Constant.ASKING_FUNCTION_INPUT_FUNCTION_ORDER);
+ return InputView.inputManagementMenu(scanner, menuList);
+ } catch (IllegalArgumentException e){
+ OutputView.printError(e.getMessage());
+ return getInputData(scanner);
+ }
+ }
+
+ public abstract void doStationManagement();
protected abstract void initMenuList();
}
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
index b91019a63..6bbfd1bbf 100644
--- a/src/main/java/subway/domain/management/StationManager.java
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -1,5 +1,6 @@
package subway.domain.management;
+import subway.Constant;
import subway.domain.menu.ManagementMenu;
import subway.domain.menu.ServiceList;
import subway.view.InputView;
@@ -7,23 +8,41 @@
import java.util.Scanner;
+
public class StationManager extends ServiceManager {
- public StationManager() {
- super();
+ private Scanner scanner;
+ public StationManager(Scanner scanner) {
+ super(scanner);
}
@Override
- public void doStationManagement(Scanner scanner) {
+ public void doStationManagement() {
OutputView.printManagementView(ServiceList.STATION, menuList);
+ String inputData = getInputData(scanner);
+
+ if(inputData.equals(ManagementMenu.REGISTER.getOrder())){
+ registerStation();
+ return;
+ }
+ }
+
+ private void registerStation() {
+ String name = getStationName();
+
+ }
+
+ private String getStationName() {
try{
- String inputData = InputView.inputManagementMenu(scanner, menuList);
- } catch (IllegalArgumentException e){
+ OutputView.printInputData(Constant.INPUT_DATA_REGISTER_FORMAT, ServiceList.STATION.getName());
+ return InputView.inputData(scanner);
+ }catch (IllegalArgumentException e){
OutputView.printError(e.getMessage());
- doStationManagement(scanner);
+ return getStationName();
}
}
+
@Override
protected void initMenuList() {
menuList.add(ManagementMenu.REGISTER);
diff --git a/src/main/java/subway/view/InputView.java b/src/main/java/subway/view/InputView.java
index 48e9704d8..49fa49db0 100644
--- a/src/main/java/subway/view/InputView.java
+++ b/src/main/java/subway/view/InputView.java
@@ -4,6 +4,7 @@
import subway.domain.menu.MainMenu;
import subway.domain.menu.ManagementMenu;
+import javax.xml.validation.Validator;
import java.util.List;
import java.util.Scanner;
@@ -29,4 +30,10 @@ public static String inputManagementMenu(Scanner scanner, List m
}
throw new IllegalArgumentException(Constant.ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER);
}
+
+ public static String inputData(Scanner scanner){
+ String inputData = scanner.nextLine();
+
+ return inputData;
+ }
}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 61d3d8a90..ecc312361 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -19,34 +19,40 @@ public static void printMainView(){
for(MainMenu menu : MainMenu.values()) {
System.out.printf(Constant.VIEW_FORMAT, menu.getOrder(), menu.getMessage());
}
- System.out.println();
}
public static void printManagementView(ServiceList service, List menuList){
+ System.out.println();
System.out.print(Constant.VIEW_HEADER);
System.out.printf(Constant.MANAGEMENT_VIEW_HEADER_FORMAT, service.getName());
for(ManagementMenu menu : menuList) {
System.out.printf(Constant.MANAGEMENT_VIEW_BODY_FORMAT, menu.getOrder(), service.getName(), menu.getMessage());
}
- System.out.println();
}
public static void printSubwayMap(){
}
- public static void printSelectFunction(String askingMessage){
+ public static void printAskingFunction(String askingMessage){
+ System.out.println();
System.out.print(Constant.VIEW_HEADER);
System.out.println(askingMessage);
}
+ public static void printInputData(String format, String service){
+ System.out.println();
+ System.out.print(Constant.VIEW_HEADER);
+ System.out.printf(format, service);
+ }
+
public static void printFunctionResult(String resultMessage){
}
public static void printError(String errorMessage){
+ System.out.println();
System.out.print(Constant.ILLEGAL_ARGUMENT_EXCEPTION_HEADER);
System.out.println(errorMessage);
- System.out.println();
}
}
From 46aff8d84f0388c1d761cf9d692959c3eec1600b Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 21:23:30 +0900
Subject: [PATCH 18/24] =?UTF-8?q?feat=20:=20=EC=97=AD=20=EC=9D=B4=EB=A6=84?=
=?UTF-8?q?=20=EB=93=B1=EB=A1=9D=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/Utils/Validator.java | 14 ++++++
src/main/java/subway/Constant.java | 5 +++
src/main/java/subway/domain/SubwayMap.java | 2 -
.../domain/management/StationManager.java | 43 ++++++++++++++-----
src/main/java/subway/view/InputView.java | 16 +++----
src/main/java/subway/view/OutputView.java | 9 ++++
6 files changed, 68 insertions(+), 21 deletions(-)
create mode 100644 src/main/java/Utils/Validator.java
diff --git a/src/main/java/Utils/Validator.java b/src/main/java/Utils/Validator.java
new file mode 100644
index 000000000..abcea7952
--- /dev/null
+++ b/src/main/java/Utils/Validator.java
@@ -0,0 +1,14 @@
+package Utils;
+
+import subway.Constant;
+
+import java.util.IllformedLocaleException;
+
+public class Validator {
+
+ public static void checkDataLength(String data){
+ if(data.length() < Constant.MINIMUM_LENGTH){
+ throw new IllegalArgumentException(Constant.ILLEGAL_ARGUMENT_EXCEPTION_MINIMUM_LENGTH);
+ }
+ }
+}
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index 2e4ac835b..98926c2ee 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -5,6 +5,7 @@ public class Constant {
public static final String VIEW_HEADER = "## ";
public static final String VIEW_FORMAT = "%s. %s\n";
public static final String MAIN_VIEW_HEADER = "메인 화면";
+ public static final int MINIMUM_LENGTH = 2;
public static final String ASKING_FUNCTION_INPUT_FUNCTION_ORDER = "원하는 기능을 선택하세요.";
@@ -15,5 +16,9 @@ public class Constant {
public static final String ILLEGAL_ARGUMENT_EXCEPTION_HEADER = "[ERROR] ";
public static final String ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER = "선택할 수 없는 기능입니다.";
+ public static final String ILLEGAL_ARGUMENT_EXCEPTION_MINIMUM_LENGTH = "이름은 "+MINIMUM_LENGTH+" 글자 이상입니다.";
+
+ public static final String REGISTER_DUPLICATE_DATA_ERROR_FORMAT = "이미 등록된 %s 이름입니다.";
+ public static final String REGISTER_DUPLICATE_DATA_RESULT_FORMAT = "%s 이 등록되었습니다.";
}
diff --git a/src/main/java/subway/domain/SubwayMap.java b/src/main/java/subway/domain/SubwayMap.java
index 52682a4ac..d8e472d05 100644
--- a/src/main/java/subway/domain/SubwayMap.java
+++ b/src/main/java/subway/domain/SubwayMap.java
@@ -17,8 +17,6 @@ public class SubwayMap {
public SubwayMap(Scanner scanner) {
this.scanner = scanner;
- lineRepository = new LineRepository();
- stationRepository = new StationRepository();
startService();
}
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
index 6bbfd1bbf..de29a3dfe 100644
--- a/src/main/java/subway/domain/management/StationManager.java
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -1,17 +1,19 @@
package subway.domain.management;
import subway.Constant;
+import subway.domain.data.Station;
+import subway.domain.data.StationRepository;
import subway.domain.menu.ManagementMenu;
import subway.domain.menu.ServiceList;
import subway.view.InputView;
import subway.view.OutputView;
+import java.util.List;
import java.util.Scanner;
public class StationManager extends ServiceManager {
- private Scanner scanner;
public StationManager(Scanner scanner) {
super(scanner);
}
@@ -21,25 +23,44 @@ public void doStationManagement() {
OutputView.printManagementView(ServiceList.STATION, menuList);
String inputData = getInputData(scanner);
- if(inputData.equals(ManagementMenu.REGISTER.getOrder())){
- registerStation();
- return;
+ try {
+ if(inputData.equals(ManagementMenu.REGISTER.getOrder())){
+ registerStation();
+ return;
+ }
+ if(inputData.equals(ManagementMenu.FIND.getOrder())){
+ findStation();
+ return;
+ }
+ } catch (IllegalArgumentException e){
+ OutputView.printError(e.getMessage());
+ doStationManagement();
}
+
+ }
+
+ private void findStation() {
+
}
private void registerStation() {
String name = getStationName();
+ Station station = new Station(name);
+ List stations = StationRepository.stations();
+ if(stations.contains(station)){
+ OutputView.printErrorWithFormat(Constant.REGISTER_DUPLICATE_DATA_ERROR_FORMAT, ServiceList.STATION.getName());
+ return;
+ }
+
+ OutputView.printFunctionResult();
+ return;
}
private String getStationName() {
- try{
- OutputView.printInputData(Constant.INPUT_DATA_REGISTER_FORMAT, ServiceList.STATION.getName());
- return InputView.inputData(scanner);
- }catch (IllegalArgumentException e){
- OutputView.printError(e.getMessage());
- return getStationName();
- }
+ OutputView.printInputData(Constant.INPUT_DATA_REGISTER_FORMAT, ServiceList.STATION.getName());
+ String data = InputView.inputData(scanner);
+ return data;
}
diff --git a/src/main/java/subway/view/InputView.java b/src/main/java/subway/view/InputView.java
index 49fa49db0..c964af355 100644
--- a/src/main/java/subway/view/InputView.java
+++ b/src/main/java/subway/view/InputView.java
@@ -1,10 +1,10 @@
package subway.view;
+import Utils.Validator;
import subway.Constant;
import subway.domain.menu.MainMenu;
import subway.domain.menu.ManagementMenu;
-import javax.xml.validation.Validator;
import java.util.List;
import java.util.Scanner;
@@ -13,27 +13,27 @@ public class InputView {
public InputView() {
}
- public static String inputMainMenu(Scanner scanner){
+ public static String inputMainMenu(Scanner scanner) {
String inputData = scanner.nextLine();
- if(!MainMenu.isValidOrder(inputData)){
+ if (!MainMenu.isValidOrder(inputData)) {
throw new IllegalArgumentException(Constant.ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER);
}
return inputData;
}
- public static String inputManagementMenu(Scanner scanner, List menuList){
+ public static String inputManagementMenu(Scanner scanner, List menuList) {
String inputData = scanner.nextLine();
- for(ManagementMenu menu : menuList){
- if(menu.getOrder().equals(inputData)){
+ for (ManagementMenu menu : menuList) {
+ if (menu.getOrder().equals(inputData)) {
return inputData;
}
}
throw new IllegalArgumentException(Constant.ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER);
}
- public static String inputData(Scanner scanner){
+ public static String inputData(Scanner scanner) {
String inputData = scanner.nextLine();
-
+ Validator.checkDataLength(inputData);
return inputData;
}
}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index ecc312361..2bd5c87aa 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -54,5 +54,14 @@ public static void printError(String errorMessage){
System.out.println();
System.out.print(Constant.ILLEGAL_ARGUMENT_EXCEPTION_HEADER);
System.out.println(errorMessage);
+ System.out.println();
}
+
+ public static void printErrorWithFormat(String errorFormat, String service){
+ System.out.println();
+ System.out.print(Constant.ILLEGAL_ARGUMENT_EXCEPTION_HEADER);
+ System.out.printf(errorFormat, service);
+ System.out.println();
+ }
+
}
From c99b7326e5fe7007c5bd4cf0988db9627897e611 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 21:39:05 +0900
Subject: [PATCH 19/24] =?UTF-8?q?feat=20:=20=EC=97=AD=20=EC=9D=B4=EB=A6=84?=
=?UTF-8?q?=20=EC=A1=B0=ED=9A=8C=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Constant.java | 8 +++++--
.../domain/management/StationManager.java | 5 ++--
src/main/java/subway/view/OutputView.java | 24 +++++++++++++++++--
3 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index 98926c2ee..f1c6c10ae 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -5,6 +5,9 @@ public class Constant {
public static final String VIEW_HEADER = "## ";
public static final String VIEW_FORMAT = "%s. %s\n";
public static final String MAIN_VIEW_HEADER = "메인 화면";
+ public static final String STATION_LIST_HEADER = "역 목록";
+ public static final String RESULT_HEADER = "[INFO] ";
+ public static final String ILLEGAL_ARGUMENT_EXCEPTION_HEADER = "[ERROR] ";
public static final int MINIMUM_LENGTH = 2;
public static final String ASKING_FUNCTION_INPUT_FUNCTION_ORDER = "원하는 기능을 선택하세요.";
@@ -14,11 +17,12 @@ public class Constant {
public static final String MANAGEMENT_VIEW_HEADER_FORMAT = "%s 관리 화면\n";
public static final String MANAGEMENT_VIEW_BODY_FORMAT = "%s. %s %s\n";
- public static final String ILLEGAL_ARGUMENT_EXCEPTION_HEADER = "[ERROR] ";
public static final String ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER = "선택할 수 없는 기능입니다.";
public static final String ILLEGAL_ARGUMENT_EXCEPTION_MINIMUM_LENGTH = "이름은 "+MINIMUM_LENGTH+" 글자 이상입니다.";
public static final String REGISTER_DUPLICATE_DATA_ERROR_FORMAT = "이미 등록된 %s 이름입니다.";
- public static final String REGISTER_DUPLICATE_DATA_RESULT_FORMAT = "%s 이 등록되었습니다.";
+ public static final String REGISTER_RESULT_FORMAT = "%s이 등록되었습니다.";
+
+ public static final String FIND_EMPTY_LIST = "등록된 %s이 없습니다.";
}
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
index de29a3dfe..07221f452 100644
--- a/src/main/java/subway/domain/management/StationManager.java
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -40,7 +40,7 @@ public void doStationManagement() {
}
private void findStation() {
-
+ OutputView.printStationList(StationRepository.stations(), ServiceList.STATION.getName());
}
private void registerStation() {
@@ -53,7 +53,8 @@ private void registerStation() {
return;
}
- OutputView.printFunctionResult();
+ StationRepository.addStation(station);
+ OutputView.printFunctionResult(Constant.REGISTER_RESULT_FORMAT, ServiceList.STATION.getName());
return;
}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 2bd5c87aa..1e9f5bec2 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -1,6 +1,7 @@
package subway.view;
import subway.Constant;
+import subway.domain.data.Station;
import subway.domain.menu.MainMenu;
import subway.domain.menu.ManagementMenu;
import subway.domain.menu.ServiceList;
@@ -46,8 +47,11 @@ public static void printInputData(String format, String service){
System.out.printf(format, service);
}
- public static void printFunctionResult(String resultMessage){
-
+ public static void printFunctionResult(String resultMessageFormat, String service){
+ System.out.println();
+ System.out.print(Constant.RESULT_HEADER);
+ System.out.printf(resultMessageFormat, service);
+ System.out.println();
}
public static void printError(String errorMessage){
@@ -64,4 +68,20 @@ public static void printErrorWithFormat(String errorFormat, String service){
System.out.println();
}
+ public static void printStationList(List list, String service){
+ System.out.println();
+
+ if(list.isEmpty()){
+ System.out.print(Constant.ILLEGAL_ARGUMENT_EXCEPTION_HEADER);
+ System.out.printf(Constant.FIND_EMPTY_LIST, service);
+ }
+
+ System.out.print(Constant.VIEW_HEADER);
+ System.out.println(Constant.STATION_LIST_HEADER);
+ for(Station station : list) {
+ System.out.print(Constant.RESULT_HEADER);
+ System.out.println(station.getName());
+ }
+ System.out.println();
+ }
}
From 98c25b2a0559ff8bbc20f3fcb589415a9a1d2108 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 21:48:16 +0900
Subject: [PATCH 20/24] =?UTF-8?q?feat=20:=20=EC=97=AD=20=EC=9D=B4=EB=A6=84?=
=?UTF-8?q?=20=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Constant.java | 2 +
.../domain/management/StationManager.java | 50 ++++++++++++++-----
src/main/java/subway/view/OutputView.java | 2 +
3 files changed, 41 insertions(+), 13 deletions(-)
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index f1c6c10ae..9202b59ec 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -22,6 +22,8 @@ public class Constant {
public static final String REGISTER_DUPLICATE_DATA_ERROR_FORMAT = "이미 등록된 %s 이름입니다.";
public static final String REGISTER_RESULT_FORMAT = "%s이 등록되었습니다.";
+ public static final String DELETE_DATA_ERROR_FORMAT = "등록되지 않은 %s 이름입니다.";
+ public static final String DELETE_RESULT_FORMAT = "%s이 삭제되었습니다.";
public static final String FIND_EMPTY_LIST = "등록된 %s이 없습니다.";
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
index 07221f452..290c619c0 100644
--- a/src/main/java/subway/domain/management/StationManager.java
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -24,14 +24,7 @@ public void doStationManagement() {
String inputData = getInputData(scanner);
try {
- if(inputData.equals(ManagementMenu.REGISTER.getOrder())){
- registerStation();
- return;
- }
- if(inputData.equals(ManagementMenu.FIND.getOrder())){
- findStation();
- return;
- }
+ checkInputData(inputData);
} catch (IllegalArgumentException e){
OutputView.printError(e.getMessage());
doStationManagement();
@@ -39,20 +32,51 @@ public void doStationManagement() {
}
+ private void checkInputData(String inputData) {
+ if(inputData.equals(ManagementMenu.REGISTER.getOrder())){
+ registerStation();
+ return;
+ }
+ if(inputData.equals(ManagementMenu.DELETE.getOrder())){
+ deleteStation();
+ return;
+ }
+ if(inputData.equals(ManagementMenu.FIND.getOrder())){
+ findStation();
+ return;
+ }
+ }
+
+ private void deleteStation() {
+ String name = getStationName();
+
+ for(Station savedStation : StationRepository.stations()){
+ if(savedStation.getName().equals(name)){
+ OutputView.printFunctionResult(Constant.DELETE_RESULT_FORMAT, ServiceList.STATION.getName());
+ StationRepository.deleteStation(name);
+ return;
+ }
+ }
+
+ OutputView.printErrorWithFormat(Constant.DELETE_DATA_ERROR_FORMAT, ServiceList.STATION.getName());
+ return;
+ }
+
private void findStation() {
OutputView.printStationList(StationRepository.stations(), ServiceList.STATION.getName());
}
private void registerStation() {
String name = getStationName();
- Station station = new Station(name);
- List stations = StationRepository.stations();
- if(stations.contains(station)){
- OutputView.printErrorWithFormat(Constant.REGISTER_DUPLICATE_DATA_ERROR_FORMAT, ServiceList.STATION.getName());
- return;
+ for(Station savedStation : StationRepository.stations()){
+ if(savedStation.getName().equals(name)){
+ OutputView.printErrorWithFormat(Constant.REGISTER_DUPLICATE_DATA_ERROR_FORMAT, ServiceList.STATION.getName());
+ return;
+ }
}
+ Station station = new Station(name);
StationRepository.addStation(station);
OutputView.printFunctionResult(Constant.REGISTER_RESULT_FORMAT, ServiceList.STATION.getName());
return;
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 1e9f5bec2..52bddb637 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -74,6 +74,8 @@ public static void printStationList(List list, String service){
if(list.isEmpty()){
System.out.print(Constant.ILLEGAL_ARGUMENT_EXCEPTION_HEADER);
System.out.printf(Constant.FIND_EMPTY_LIST, service);
+ System.out.println();
+ return;
}
System.out.print(Constant.VIEW_HEADER);
From e12200a49624302b2ec87568a227b7b30c5dd606 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 22:18:59 +0900
Subject: [PATCH 21/24] =?UTF-8?q?feat=20:=20=EB=85=B8=EC=84=A0=20=EB=93=B1?=
=?UTF-8?q?=EB=A1=9D,=20=EC=82=AD=EC=A0=9C,=20=EC=A1=B0=ED=9A=8C=20?=
=?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Constant.java | 2 +
src/main/java/subway/domain/SubwayMap.java | 10 +++
.../subway/domain/management/LineManager.java | 74 +++++++++++++++++++
.../domain/management/StationManager.java | 21 ++++--
src/main/java/subway/view/OutputView.java | 23 ++++--
5 files changed, 117 insertions(+), 13 deletions(-)
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index 9202b59ec..86009e4ad 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -6,6 +6,7 @@ public class Constant {
public static final String VIEW_FORMAT = "%s. %s\n";
public static final String MAIN_VIEW_HEADER = "메인 화면";
public static final String STATION_LIST_HEADER = "역 목록";
+ public static final String LINE_LIST_HEADER = "노선 목록";
public static final String RESULT_HEADER = "[INFO] ";
public static final String ILLEGAL_ARGUMENT_EXCEPTION_HEADER = "[ERROR] ";
public static final int MINIMUM_LENGTH = 2;
@@ -13,6 +14,7 @@ public class Constant {
public static final String ASKING_FUNCTION_INPUT_FUNCTION_ORDER = "원하는 기능을 선택하세요.";
public static final String INPUT_DATA_REGISTER_FORMAT = "등록할 %s 이름을 입력하세요.\n";
+ public static final String INPUT_DATA_DELETE_FORMAT = "삭제할 %s 이름을 입력하세요.\n";
public static final String MANAGEMENT_VIEW_HEADER_FORMAT = "%s 관리 화면\n";
public static final String MANAGEMENT_VIEW_BODY_FORMAT = "%s. %s %s\n";
diff --git a/src/main/java/subway/domain/SubwayMap.java b/src/main/java/subway/domain/SubwayMap.java
index d8e472d05..b963f9db4 100644
--- a/src/main/java/subway/domain/SubwayMap.java
+++ b/src/main/java/subway/domain/SubwayMap.java
@@ -2,6 +2,7 @@
import subway.Constant;
import subway.domain.data.LineRepository;
+import subway.domain.data.Station;
import subway.domain.data.StationRepository;
import subway.domain.menu.MainMenu;
import subway.view.InputView;
@@ -17,9 +18,18 @@ public class SubwayMap {
public SubwayMap(Scanner scanner) {
this.scanner = scanner;
+ initData();
startService();
}
+ private void initData() {
+ String[] initStation = {
+ "교대역", "강남역" ,"역삼역" ,"남부터미널역", "양재역", "양재시민의숲역", "매봉역"};
+ for(String stationName : initStation){
+ StationRepository.addStation(new Station(stationName));
+ }
+ }
+
private void startService() {
while (true) {
OutputView.printMainView();
diff --git a/src/main/java/subway/domain/management/LineManager.java b/src/main/java/subway/domain/management/LineManager.java
index c0c98608a..22a52c06c 100644
--- a/src/main/java/subway/domain/management/LineManager.java
+++ b/src/main/java/subway/domain/management/LineManager.java
@@ -1,5 +1,10 @@
package subway.domain.management;
+import subway.Constant;
+import subway.domain.data.Line;
+import subway.domain.data.LineRepository;
+import subway.domain.data.Station;
+import subway.domain.data.StationRepository;
import subway.domain.menu.ManagementMenu;
import subway.domain.menu.ServiceList;
import subway.view.InputView;
@@ -16,6 +21,75 @@ public LineManager(Scanner scanner) {
@Override
public void doStationManagement() {
OutputView.printManagementView(ServiceList.LINE, menuList);
+ String inputData = getInputData(scanner);
+
+ try {
+ checkInputData(inputData);
+ } catch (IllegalArgumentException e){
+ OutputView.printError(e.getMessage());
+ doStationManagement();
+ }
+ }
+
+ private void checkInputData(String inputData) {
+ if(inputData.equals(ManagementMenu.REGISTER.getOrder())){
+ registerLine(ManagementMenu.REGISTER);
+ return;
+ }
+ if(inputData.equals(ManagementMenu.DELETE.getOrder())){
+ deleteLine(ManagementMenu.DELETE);
+ return;
+ }
+ if(inputData.equals(ManagementMenu.FIND.getOrder())){
+ findLine();
+ return;
+ }
+ }
+
+ private void registerLine(ManagementMenu menu) {
+ String name = getLineName(menu);
+
+ for(Line savedLine : LineRepository.lines()){
+ if(savedLine.getName().equals(name)){
+ OutputView.printErrorWithFormat(Constant.REGISTER_DUPLICATE_DATA_ERROR_FORMAT, ServiceList.LINE.getName());
+ return;
+ }
+ }
+
+ Line line = new Line(name);
+ LineRepository.addLine(line);
+ OutputView.printFunctionResult(Constant.REGISTER_RESULT_FORMAT, ServiceList.LINE.getName());
+ return;
+ }
+
+ private void deleteLine(ManagementMenu menu) {
+ String name = getLineName(menu);
+
+ for(Line savedLine : LineRepository.lines()){
+ if(savedLine.getName().equals(name)){
+ OutputView.printFunctionResult(Constant.DELETE_RESULT_FORMAT, ServiceList.LINE.getName());
+ LineRepository.deleteLineByName(name);
+ return;
+ }
+ }
+
+ OutputView.printErrorWithFormat(Constant.DELETE_DATA_ERROR_FORMAT, ServiceList.LINE.getName());
+ return;
+ }
+
+ private void findLine() {
+ OutputView.printLineList(LineRepository.lines(), ServiceList.LINE.getName());
+ }
+
+ private String getLineName(ManagementMenu menu) {
+ if(menu.equals(ManagementMenu.REGISTER)) {
+ OutputView.printInputData(Constant.INPUT_DATA_REGISTER_FORMAT, ServiceList.LINE.getName());
+ }
+ if(menu.equals(ManagementMenu.DELETE)) {
+ OutputView.printInputData(Constant.INPUT_DATA_DELETE_FORMAT, ServiceList.LINE.getName());
+ }
+ String data = InputView.inputData(scanner);
+ return data;
}
@Override
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
index 290c619c0..7004386b0 100644
--- a/src/main/java/subway/domain/management/StationManager.java
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -34,11 +34,11 @@ public void doStationManagement() {
private void checkInputData(String inputData) {
if(inputData.equals(ManagementMenu.REGISTER.getOrder())){
- registerStation();
+ registerStation(ManagementMenu.REGISTER);
return;
}
if(inputData.equals(ManagementMenu.DELETE.getOrder())){
- deleteStation();
+ deleteStation(ManagementMenu.DELETE);
return;
}
if(inputData.equals(ManagementMenu.FIND.getOrder())){
@@ -47,8 +47,8 @@ private void checkInputData(String inputData) {
}
}
- private void deleteStation() {
- String name = getStationName();
+ private void deleteStation(ManagementMenu menu) {
+ String name = getStationName(menu);
for(Station savedStation : StationRepository.stations()){
if(savedStation.getName().equals(name)){
@@ -66,8 +66,8 @@ private void findStation() {
OutputView.printStationList(StationRepository.stations(), ServiceList.STATION.getName());
}
- private void registerStation() {
- String name = getStationName();
+ private void registerStation(ManagementMenu menu) {
+ String name = getStationName(menu);
for(Station savedStation : StationRepository.stations()){
if(savedStation.getName().equals(name)){
@@ -82,8 +82,13 @@ private void registerStation() {
return;
}
- private String getStationName() {
- OutputView.printInputData(Constant.INPUT_DATA_REGISTER_FORMAT, ServiceList.STATION.getName());
+ private String getStationName(ManagementMenu menu) {
+ if(menu.equals(ManagementMenu.REGISTER)) {
+ OutputView.printInputData(Constant.INPUT_DATA_REGISTER_FORMAT, ServiceList.STATION.getName());
+ }
+ if(menu.equals(ManagementMenu.DELETE)) {
+ OutputView.printInputData(Constant.INPUT_DATA_DELETE_FORMAT, ServiceList.STATION.getName());
+ }
String data = InputView.inputData(scanner);
return data;
}
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index 52bddb637..e53363e30 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -1,6 +1,7 @@
package subway.view;
import subway.Constant;
+import subway.domain.data.Line;
import subway.domain.data.Station;
import subway.domain.menu.MainMenu;
import subway.domain.menu.ManagementMenu;
@@ -70,19 +71,31 @@ public static void printErrorWithFormat(String errorFormat, String service){
public static void printStationList(List list, String service){
System.out.println();
-
if(list.isEmpty()){
System.out.print(Constant.ILLEGAL_ARGUMENT_EXCEPTION_HEADER);
- System.out.printf(Constant.FIND_EMPTY_LIST, service);
- System.out.println();
+ System.out.printf(Constant.FIND_EMPTY_LIST + "\n", service);
return;
}
System.out.print(Constant.VIEW_HEADER);
System.out.println(Constant.STATION_LIST_HEADER);
for(Station station : list) {
- System.out.print(Constant.RESULT_HEADER);
- System.out.println(station.getName());
+ System.out.println(Constant.RESULT_HEADER + station.getName());
+ }
+ System.out.println();
+ }
+ public static void printLineList(List list, String service){
+ System.out.println();
+ if(list.isEmpty()){
+ System.out.print(Constant.ILLEGAL_ARGUMENT_EXCEPTION_HEADER);
+ System.out.printf(Constant.FIND_EMPTY_LIST + "\n", service);
+ return;
+ }
+
+ System.out.print(Constant.VIEW_HEADER);
+ System.out.println(Constant.LINE_LIST_HEADER);
+ for(Line line : list) {
+ System.out.println(Constant.RESULT_HEADER + line.getName());
}
System.out.println();
}
From 42ce69f54894ba9a71f267212aa63a8f8456860b Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 22:21:30 +0900
Subject: [PATCH 22/24] =?UTF-8?q?feat=20:=20=EB=85=B8=EC=84=A0=20=EC=B4=88?=
=?UTF-8?q?=EA=B8=B0=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=A0=80=EC=9E=A5=20?=
=?UTF-8?q?=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/domain/SubwayMap.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/main/java/subway/domain/SubwayMap.java b/src/main/java/subway/domain/SubwayMap.java
index b963f9db4..fc22c7248 100644
--- a/src/main/java/subway/domain/SubwayMap.java
+++ b/src/main/java/subway/domain/SubwayMap.java
@@ -1,6 +1,7 @@
package subway.domain;
import subway.Constant;
+import subway.domain.data.Line;
import subway.domain.data.LineRepository;
import subway.domain.data.Station;
import subway.domain.data.StationRepository;
@@ -23,9 +24,22 @@ public SubwayMap(Scanner scanner) {
}
private void initData() {
- String[] initStation = {
+ initStation();
+ initLine();
+ }
+
+ private void initLine() {
+ String[] initLineData = {
+ "2호선", "3호선", "신분당선"};
+ for(String lineName : initLineData){
+ LineRepository.addLine(new Line(lineName));
+ }
+ }
+
+ private void initStation() {
+ String[] initStationData = {
"교대역", "강남역" ,"역삼역" ,"남부터미널역", "양재역", "양재시민의숲역", "매봉역"};
- for(String stationName : initStation){
+ for(String stationName : initStationData){
StationRepository.addStation(new Station(stationName));
}
}
From b8da0aa80d9f39c5b04dc0b8d8f062ff492de2ef Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 22:58:59 +0900
Subject: [PATCH 23/24] =?UTF-8?q?feat=20:=20=EA=B5=AC=EA=B0=84=20=EC=82=AD?=
=?UTF-8?q?=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/subway/Constant.java | 7 ++
src/main/java/subway/domain/data/Line.java | 26 ++++++
.../domain/management/SectionManager.java | 80 +++++++++++++++++++
.../domain/management/StationManager.java | 1 -
src/main/java/subway/view/OutputView.java | 4 +
5 files changed, 117 insertions(+), 1 deletion(-)
diff --git a/src/main/java/subway/Constant.java b/src/main/java/subway/Constant.java
index 86009e4ad..99b3cf679 100644
--- a/src/main/java/subway/Constant.java
+++ b/src/main/java/subway/Constant.java
@@ -9,6 +9,7 @@ public class Constant {
public static final String LINE_LIST_HEADER = "노선 목록";
public static final String RESULT_HEADER = "[INFO] ";
public static final String ILLEGAL_ARGUMENT_EXCEPTION_HEADER = "[ERROR] ";
+ public static final String BACK_KEY = "B";
public static final int MINIMUM_LENGTH = 2;
public static final String ASKING_FUNCTION_INPUT_FUNCTION_ORDER = "원하는 기능을 선택하세요.";
@@ -16,8 +17,14 @@ public class Constant {
public static final String INPUT_DATA_REGISTER_FORMAT = "등록할 %s 이름을 입력하세요.\n";
public static final String INPUT_DATA_DELETE_FORMAT = "삭제할 %s 이름을 입력하세요.\n";
+ public static final String INPUT_SECTION_LINE_DATA_REGISTER_FORMAT = "노선을 입력하세요.\n";
+ public static final String INPUT_SECTION_LINE_DATA_DELETE_FORMAT = "삭제할 구간의 노선을 입력하세요.\n";
+ public static final String INPUT_SECTION_STATION_DATA_REGISTER_FORMAT = "역 이름을 입력하세요.\n";
+ public static final String INPUT_SECTION_STATION_DATA_DELETE_FORMAT = "삭제할 구간의 역을 입력하세요.\n";
+
public static final String MANAGEMENT_VIEW_HEADER_FORMAT = "%s 관리 화면\n";
public static final String MANAGEMENT_VIEW_BODY_FORMAT = "%s. %s %s\n";
+ public static final String MANAGEMENT_VIEW_BODY_BACK_FORMAT = "%s. %s\n";
public static final String ILLEGAL_ARGUMENT_EXCEPTION_INVALID_MENU_ORDER = "선택할 수 없는 기능입니다.";
public static final String ILLEGAL_ARGUMENT_EXCEPTION_MINIMUM_LENGTH = "이름은 "+MINIMUM_LENGTH+" 글자 이상입니다.";
diff --git a/src/main/java/subway/domain/data/Line.java b/src/main/java/subway/domain/data/Line.java
index 6a19ead79..ffc83f604 100644
--- a/src/main/java/subway/domain/data/Line.java
+++ b/src/main/java/subway/domain/data/Line.java
@@ -1,7 +1,13 @@
package subway.domain.data;
+import java.util.List;
+import java.util.Objects;
+
public class Line {
private String name;
+ private Station firstStation;
+ private Station lastStation;
+ private List stations;
public Line(String name) {
this.name = name;
@@ -11,5 +17,25 @@ public String getName() {
return name;
}
+ public Station getFirstStation() {
+ return firstStation;
+ }
+
+ public Station getLastStation() {
+ return lastStation;
+ }
+
+ public List getStations() {
+ return stations;
+ }
+
+ public void addStation(Station station){
+
+ }
+
+ public boolean deleteSection(String name) {
+ return stations.removeIf(station -> Objects.equals(station.getName(), name));
+ }
+
// 추가 기능 구현
}
diff --git a/src/main/java/subway/domain/management/SectionManager.java b/src/main/java/subway/domain/management/SectionManager.java
index 708a8c13e..b69a6f784 100644
--- a/src/main/java/subway/domain/management/SectionManager.java
+++ b/src/main/java/subway/domain/management/SectionManager.java
@@ -1,5 +1,10 @@
package subway.domain.management;
+import subway.Constant;
+import subway.domain.data.Line;
+import subway.domain.data.LineRepository;
+import subway.domain.data.Station;
+import subway.domain.data.StationRepository;
import subway.domain.menu.ManagementMenu;
import subway.domain.menu.ServiceList;
import subway.view.InputView;
@@ -16,7 +21,82 @@ public SectionManager(Scanner scanner) {
@Override
public void doStationManagement() {
OutputView.printManagementView(ServiceList.SECTION, menuList);
+ String inputData = getInputData(scanner);
+ try {
+ checkInputData(inputData);
+ } catch (IllegalArgumentException e) {
+ OutputView.printError(e.getMessage());
+ doStationManagement();
+ }
+ }
+
+ private void checkInputData(String inputData) {
+ if (inputData.equals(ManagementMenu.REGISTER.getOrder())) {
+ //registerStation(ManagementMenu.REGISTER);
+ return;
+ }
+ if (inputData.equals(ManagementMenu.DELETE.getOrder())) {
+ deleteSection(ManagementMenu.DELETE);
+ return;
+ }
+ }
+
+ private void deleteSection(ManagementMenu menu) {
+ Line line = getLineName(menu);
+ Station station = getStationName(line, menu);
+
+ line.deleteSection(station.getName());
+ }
+
+ private Line checkValidLineName(String lineName) {
+ for (Line savedLine : LineRepository.lines()) {
+ if (savedLine.getName().equals(lineName)) {
+ return savedLine;
+ }
+ }
+ throw new IllegalArgumentException("등록되지 않은 노선입니다.");
+ }
+
+ private Station checkValidStationName(Line line, String stationName) {
+ for (Station station : line.getStations()) {
+ if (station.getName().equals(stationName)) {
+ return station;
+ }
+ }
+ throw new IllegalArgumentException("해당 구간에 등록되지 않은 노선입니다.");
+ }
+
+ private Line getLineName(ManagementMenu menu) {
+ try {
+ if (menu.equals(ManagementMenu.REGISTER)) {
+ OutputView.printInputData(Constant.INPUT_SECTION_LINE_DATA_REGISTER_FORMAT, ServiceList.SECTION.getName());
+ }
+ if (menu.equals(ManagementMenu.DELETE)) {
+ OutputView.printInputData(Constant.INPUT_SECTION_LINE_DATA_DELETE_FORMAT, ServiceList.SECTION.getName());
+ }
+ String data = InputView.inputData(scanner);
+ return checkValidLineName(data);
+ } catch (IllegalArgumentException e) {
+ OutputView.printError(e.getMessage());
+ return getLineName(menu);
+ }
+ }
+
+ private Station getStationName(Line line, ManagementMenu menu) {
+ try{
+ if (menu.equals(ManagementMenu.REGISTER)) {
+ OutputView.printInputData(Constant.INPUT_SECTION_STATION_DATA_REGISTER_FORMAT, ServiceList.SECTION.getName());
+ }
+ if (menu.equals(ManagementMenu.DELETE)) {
+ OutputView.printInputData(Constant.INPUT_SECTION_STATION_DATA_DELETE_FORMAT, ServiceList.SECTION.getName());
+ }
+ String data = InputView.inputData(scanner);
+ return checkValidStationName(line, data);
+ } catch (IllegalArgumentException e){
+ OutputView.printError(e.getMessage());
+ return getStationName(line, menu);
+ }
}
@Override
diff --git a/src/main/java/subway/domain/management/StationManager.java b/src/main/java/subway/domain/management/StationManager.java
index 7004386b0..d9f118ec2 100644
--- a/src/main/java/subway/domain/management/StationManager.java
+++ b/src/main/java/subway/domain/management/StationManager.java
@@ -29,7 +29,6 @@ public void doStationManagement() {
OutputView.printError(e.getMessage());
doStationManagement();
}
-
}
private void checkInputData(String inputData) {
diff --git a/src/main/java/subway/view/OutputView.java b/src/main/java/subway/view/OutputView.java
index e53363e30..c4aecec5e 100644
--- a/src/main/java/subway/view/OutputView.java
+++ b/src/main/java/subway/view/OutputView.java
@@ -28,6 +28,10 @@ public static void printManagementView(ServiceList service, List
System.out.print(Constant.VIEW_HEADER);
System.out.printf(Constant.MANAGEMENT_VIEW_HEADER_FORMAT, service.getName());
for(ManagementMenu menu : menuList) {
+ if(menu.getOrder().equals(Constant.BACK_KEY)){
+ System.out.printf(Constant.MANAGEMENT_VIEW_BODY_BACK_FORMAT, menu.getOrder(), menu.getMessage());
+ continue;
+ }
System.out.printf(Constant.MANAGEMENT_VIEW_BODY_FORMAT, menu.getOrder(), service.getName(), menu.getMessage());
}
}
From 01ed9522ec707deb67962cb59ad192a106cd1c26 Mon Sep 17 00:00:00 2001
From: KOREAparksh <45682868+KOREAparksh@users.noreply.github.com>
Date: Tue, 15 Dec 2020 23:10:46 +0900
Subject: [PATCH 24/24] =?UTF-8?q?docs=20:=20=EA=B8=B0=EB=8A=A5=EA=B5=AC?=
=?UTF-8?q?=ED=98=84=EB=AA=A9=EB=A1=9D=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 24 ++++++++++---------
src/main/java/subway/domain/data/Line.java | 8 ++++++-
.../subway/domain/management/LineManager.java | 2 --
3 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/README.md b/README.md
index b30080308..929d63475 100644
--- a/README.md
+++ b/README.md
@@ -5,32 +5,34 @@
### View
- 입력 클래스
- - [ ] 기능 선택 입력 함수
+ - [x] 기능 선택 입력 함수
+ - [x] 메인뷰 입력함수
+ - [x] 기능뷰 입력함수
- 출력 클래스
- [x] 메인 화면 출력 함수
- [x] 역, 노선, 구간 관리 화면 출력함수
- - [ ] 선택한 기능 질문 출력함수
- - [ ] 기능결과(INFO) 출력함수
- - [ ] 에러 출력함수
+ - [x] 선택한 기능 질문 출력함수
+ - [x] 기능결과(INFO) 출력함수
+ - [x] 에러 출력함수
- [ ] 지하철 노선도 출력함수
### 비즈니스 로직
- 역 관리
- 역 등록
- - [ ] 중복된 이름 불가
- - [ ] 이름은 2글자 이상
+ - [x] 중복된 이름 불가
+ - [x] 이름은 2글자 이상
- 역 삭제
- [ ] 노선에 등록된 역은 삭제 불가
- - [ ] 역 조회
+ - [x] 역 조회
- 노선 관리
- 노선 등록
- - [ ] 중복 이름 불가
- - [ ] 이름은 2글자 이상
+ - [x] 중복 이름 불가
+ - [x] 이름은 2글자 이상
- [ ] 상,하 종점역은 달라야 한다
- - [ ] 노선 삭제
- - [ ] 노선 조회
+ - [x] 노선 삭제
+ - [x] 노선 조회
- 구간 관리
- 구간 등록
diff --git a/src/main/java/subway/domain/data/Line.java b/src/main/java/subway/domain/data/Line.java
index ffc83f604..64d425e21 100644
--- a/src/main/java/subway/domain/data/Line.java
+++ b/src/main/java/subway/domain/data/Line.java
@@ -29,7 +29,13 @@ public List getStations() {
return stations;
}
- public void addStation(Station station){
+ public void initLineSection(Station firstStation, Station lastStation, List stations){
+ this.firstStation = firstStation;
+ this.lastStation = lastStation;
+ this.stations = stations;
+ }
+
+ public void addSection(Station station, int position){
}
diff --git a/src/main/java/subway/domain/management/LineManager.java b/src/main/java/subway/domain/management/LineManager.java
index 22a52c06c..9bd98024f 100644
--- a/src/main/java/subway/domain/management/LineManager.java
+++ b/src/main/java/subway/domain/management/LineManager.java
@@ -3,8 +3,6 @@
import subway.Constant;
import subway.domain.data.Line;
import subway.domain.data.LineRepository;
-import subway.domain.data.Station;
-import subway.domain.data.StationRepository;
import subway.domain.menu.ManagementMenu;
import subway.domain.menu.ServiceList;
import subway.view.InputView;