Skip to content

Commit 7174742

Browse files
committed
피드백 전체 반영 완료
1 parent 53e0289 commit 7174742

File tree

13 files changed

+105
-94
lines changed

13 files changed

+105
-94
lines changed

src/main/java/com/sprint/mission/discodeit/JavaApplication.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,28 @@
33
import com.sprint.mission.discodeit.menu.ChannelMenu;
44
import com.sprint.mission.discodeit.menu.MessageMenu;
55
import com.sprint.mission.discodeit.menu.UserMenu;
6+
import com.sprint.mission.discodeit.service.ChannelService;
7+
import com.sprint.mission.discodeit.service.MessageService;
8+
import com.sprint.mission.discodeit.service.UserService;
9+
import com.sprint.mission.discodeit.service.jcf.integration.ChannelIntegration;
610
import com.sprint.mission.discodeit.service.jcf.JCFChannelService;
711
import com.sprint.mission.discodeit.service.jcf.JCFMessageService;
812
import com.sprint.mission.discodeit.service.jcf.JCFUserService;
13+
import com.sprint.mission.discodeit.service.jcf.integration.MessageIntegration;
14+
import com.sprint.mission.discodeit.service.jcf.integration.UserIntegration;
915

1016
import java.util.Scanner;
1117

1218
public class JavaApplication {
1319
public static void main(String[] args) {
1420
Scanner scanner = new Scanner(System.in);
15-
JCFUserService userService = new JCFUserService();
16-
JCFMessageService messageService = new JCFMessageService(userService, null);
17-
JCFChannelService channelService = new JCFChannelService();
21+
UserService userService = new JCFUserService();
22+
MessageService messageService = new JCFMessageService();
23+
ChannelService channelService = new JCFChannelService();
1824

19-
messageService.setChannelService(channelService);
20-
userService.setChannelService(channelService);
21-
22-
ChannelApplication channelApplication = new ChannelApplication(channelService, userService, messageService);
25+
UserIntegration userIntegration = new UserIntegration(userService, channelService);
26+
MessageIntegration messageIntegration = new MessageIntegration(messageService, userService, channelService);
27+
ChannelIntegration channelIntegration = new ChannelIntegration(channelService, userService, messageService);
2328

2429
while (true) {
2530
System.out.println("\n===== MAIN MENU =====");
@@ -34,13 +39,13 @@ public static void main(String[] args) {
3439
try {
3540
switch (mainChoice) {
3641
case "1":
37-
UserMenu.manageUsers(scanner, userService);
42+
UserMenu.manageUsers(scanner, userService, userIntegration);
3843
break;
3944
case "2":
40-
ChannelMenu.manageChannels(scanner, channelService, channelApplication);
45+
ChannelMenu.manageChannels(scanner, channelService, channelIntegration);
4146
break;
4247
case "3":
43-
MessageMenu.manageMessages(scanner, messageService);
48+
MessageMenu.manageMessages(scanner, messageService, messageIntegration);
4449
break;
4550
case "0":
4651
System.out.println("종료합니다.");

src/main/java/com/sprint/mission/discodeit/entity/User.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ public User(String userName) {
1313
this.userName = userName;
1414
}
1515

16-
public String getUserName() {
17-
return userName;
16+
public Set<UUID> getChannelIds() {
17+
return channelIds;
1818
}
1919

2020
public void updateUserName(String userName) {

src/main/java/com/sprint/mission/discodeit/menu/ChannelMenu.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package com.sprint.mission.discodeit.menu;
22

3-
import com.sprint.mission.discodeit.ChannelApplication;
3+
import com.sprint.mission.discodeit.service.jcf.integration.ChannelIntegration;
44
import com.sprint.mission.discodeit.entity.Channel;
55
import com.sprint.mission.discodeit.service.ChannelService;
66

77
import java.util.Scanner;
88
import java.util.UUID;
99

1010
public class ChannelMenu {
11-
public static void manageChannels(Scanner scanner, ChannelService channelService, ChannelApplication channelApplication) {
11+
public static void manageChannels(Scanner scanner, ChannelService channelService, ChannelIntegration channelIntegration) {
1212
while (true) {
1313
System.out.println("\n===== CHANNEL MENU =====");
1414
System.out.println("1. 채널 생성");
@@ -52,14 +52,14 @@ public static void manageChannels(Scanner scanner, ChannelService channelService
5252
case "5":
5353
System.out.print("삭제할 채널 ID 입력: ");
5454
UUID delId = UUID.fromString(scanner.nextLine());
55-
channelApplication.deleteChannel(delId);
55+
channelIntegration.deleteChannel(delId);
5656
break;
5757
case "6":
5858
System.out.print("채널 ID 입력: ");
5959
UUID chId = UUID.fromString(scanner.nextLine());
6060
System.out.print("사용자 ID 입력: ");
6161
UUID userId = UUID.fromString(scanner.nextLine());
62-
channelApplication.addUserToChannel(chId, userId);
62+
channelIntegration.addUserToChannel(chId, userId);
6363
break;
6464
case "0":
6565
return;

src/main/java/com/sprint/mission/discodeit/menu/MessageMenu.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.sprint.mission.discodeit.menu;
22

33
import com.sprint.mission.discodeit.entity.Message;
4-
import com.sprint.mission.discodeit.service.jcf.JCFMessageService;
4+
import com.sprint.mission.discodeit.service.MessageService;
5+
import com.sprint.mission.discodeit.service.jcf.integration.MessageIntegration;
56

67
import java.util.Scanner;
78
import java.util.UUID;
89

910
public class MessageMenu {
10-
public static void manageMessages(Scanner scanner, JCFMessageService messageService) {
11+
public static void manageMessages(Scanner scanner, MessageService messageService, MessageIntegration messageIntegration) {
1112
while (true) {
1213
System.out.println("\n===== MESSAGE MENU =====");
1314
System.out.println("1. 메시지 생성");
@@ -28,7 +29,7 @@ public static void manageMessages(Scanner scanner, JCFMessageService messageServ
2829
UUID sender = UUID.fromString(scanner.nextLine());
2930
System.out.print("채널 ID: ");
3031
UUID ch = UUID.fromString(scanner.nextLine());
31-
Message m = messageService.createMessageCheck(content, sender, ch);
32+
Message m = messageIntegration.createMessage(content, sender, ch);
3233
System.out.println("생성된 메시지 ID: " + m.getId());
3334
break;
3435
case "2":
@@ -53,7 +54,7 @@ public static void manageMessages(Scanner scanner, JCFMessageService messageServ
5354
case "5":
5455
System.out.print("삭제할 메시지 ID 입력: ");
5556
UUID delId = UUID.fromString(scanner.nextLine());
56-
messageService.deleteMessage(delId);
57+
messageIntegration.deleteMessage(delId);
5758
break;
5859
case "0":
5960
return;

src/main/java/com/sprint/mission/discodeit/menu/UserMenu.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.sprint.mission.discodeit.menu;
22

33
import com.sprint.mission.discodeit.entity.User;
4-
import com.sprint.mission.discodeit.service.jcf.JCFUserService;
4+
import com.sprint.mission.discodeit.service.UserService;
5+
import com.sprint.mission.discodeit.service.jcf.integration.UserIntegration;
56

67
import java.util.Scanner;
78
import java.util.UUID;
89

910
public class UserMenu {
10-
public static void manageUsers(Scanner scanner, JCFUserService userService) {
11+
public static void manageUsers(Scanner scanner, UserService userService, UserIntegration userIntegration) {
1112
while (true) {
1213
System.out.println("\n===== USER MENU =====");
1314
System.out.println("1. 사용자 등록");
@@ -50,7 +51,7 @@ public static void manageUsers(Scanner scanner, JCFUserService userService) {
5051
case "5":
5152
System.out.print("삭제할 사용자 ID 입력: ");
5253
UUID delId = UUID.fromString(scanner.nextLine());
53-
userService.deleteUser(delId);
54+
userIntegration.deleteUser(delId);
5455
break;
5556
case "0":
5657
return;

src/main/java/com/sprint/mission/discodeit/service/ChannelService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,4 @@ public interface ChannelService {
1212
List<Channel> getAllChannels();
1313
void updateChannel(UUID channelId, String channelName);
1414
void deleteChannel(UUID channelId);
15-
void addMessageId(UUID channelId, UUID messageId);
16-
void addUserId(UUID channelId, UUID userId);
1715
}

src/main/java/com/sprint/mission/discodeit/service/MessageService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,4 @@ public interface MessageService {
1212
List<Message> getAllMessages();
1313
void updateMessage(UUID messageId, String msgContent);
1414
void deleteMessage(UUID messageId);
15-
Message createMessageCheck(String msgContent, UUID senderId, UUID channelId);
1615
}

src/main/java/com/sprint/mission/discodeit/service/jcf/JCFChannelService.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,4 @@ public void updateChannel(UUID channelId, String channelName) {
2828
public void deleteChannel(UUID channelId) {
2929
data.remove(channelId);
3030
}
31-
32-
@Override
33-
public void addMessageId(UUID channelId, UUID messageId) {
34-
getChannel(channelId).ifPresent(channel -> channel.addMessage(messageId));
35-
}
36-
37-
@Override
38-
public void addUserId(UUID channelId, UUID userId) {
39-
getChannel(channelId).ifPresent(channel -> channel.addUser(userId));
40-
}
4131
}
Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,12 @@
11
package com.sprint.mission.discodeit.service.jcf;
22

3-
import com.sprint.mission.discodeit.entity.Channel;
43
import com.sprint.mission.discodeit.entity.Message;
5-
import com.sprint.mission.discodeit.service.ChannelService;
64
import com.sprint.mission.discodeit.service.MessageService;
7-
import com.sprint.mission.discodeit.service.UserService;
85

96
import java.util.*;
107

118
public class JCFMessageService implements MessageService {
129
private final Map<UUID, Message> data = new HashMap<>();
13-
private final UserService userService;
14-
private ChannelService channelService;
15-
16-
public JCFMessageService(UserService userService, ChannelService channelService) {
17-
this.userService = userService;
18-
this.channelService = channelService;
19-
}
2010

2111
public Message createMessage(Message message) {
2212
data.put(message.getId(), message);
@@ -31,10 +21,6 @@ public List<Message> getAllMessages() {
3121
return new ArrayList<>(data.values());
3222
}
3323

34-
public void setChannelService(JCFChannelService channelService) {
35-
this.channelService = channelService;
36-
}
37-
3824
// update 실패 시 피드백 출력
3925
public void updateMessage(UUID messageId, String message) {
4026
getMessage(messageId)
@@ -46,20 +32,4 @@ public void deleteMessage(UUID messageId) {
4632
data.remove(messageId);
4733
}
4834

49-
public Message createMessageCheck(String msgContent, UUID senderId, UUID channelId) {
50-
userService.getUser(senderId)
51-
.orElseThrow(() -> new IllegalArgumentException("존재하지 않는 유저"));
52-
53-
Channel channel = channelService.getChannel(channelId)
54-
.orElseThrow(() -> new IllegalArgumentException("존재하지 않는 채널"));
55-
56-
if(!channel.getUserIds().contains(senderId)) {
57-
throw new SecurityException("채널에 속해있지 않은 유저"); // 권한이 없는 경우이므로 SecurityException으로 수정
58-
}
59-
60-
Message message = new Message(msgContent, senderId, channelId);
61-
Message created = createMessage(message);
62-
channelService.addMessageId(channelId, created.getId());
63-
return created;
64-
}
6535
}

src/main/java/com/sprint/mission/discodeit/service/jcf/JCFUserService.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
package com.sprint.mission.discodeit.service.jcf;
22

33
import com.sprint.mission.discodeit.entity.User;
4-
import com.sprint.mission.discodeit.service.ChannelService;
54
import com.sprint.mission.discodeit.service.UserService;
65

76
import java.util.*;
87

98
public class JCFUserService implements UserService {
109
private final Map<UUID, User> data = new HashMap<>();
11-
private ChannelService channelService; // 복수개 필요가 없으므로 단일로 변경
12-
13-
public void setChannelService(ChannelService channelService) {
14-
this.channelService = channelService;
15-
}
1610

1711
@Override
1812
public User createUser(User user) {
@@ -38,8 +32,5 @@ public void updateUser(UUID userId, String userName) {
3832
@Override
3933
public void deleteUser(UUID userId) {
4034
data.remove(userId);
41-
if (channelService != null) {
42-
channelService.getAllChannels().forEach(channel -> channel.getUserIds().remove(userId));
43-
}
4435
}
4536
}

0 commit comments

Comments
 (0)