From d39b2288776c04edd4e3c63d85657b4fcb5a9230 Mon Sep 17 00:00:00 2001 From: Raghav Labs Date: Sat, 29 Feb 2020 21:21:24 +0530 Subject: [PATCH] user controller made --- build.gradle | 2 +- .../simplechat/client/SimpleChatClient.java | 43 +++++++++++++++++++ .../java/com/simplechat/db/SimpleChatDB.java | 23 ++++++++++ .../server/controller/UserController.java | 21 +++++++++ .../server/model/dao/DaoManager.java | 17 ++++++++ .../server/model/dao/MessageDuoDao.java | 18 ++++++++ .../simplechat/server/model/dao/UserDao.java | 25 +++++++++++ .../server/model/entity/MessageDuo.java | 29 +++++++++++++ .../simplechat/server/model/entity/User.java | 34 +++++++++++++++ .../server/service/UserService.java | 27 ++++++++++++ 10 files changed, 238 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/simplechat/client/SimpleChatClient.java create mode 100644 src/main/java/com/simplechat/server/controller/UserController.java create mode 100644 src/main/java/com/simplechat/server/model/dao/DaoManager.java create mode 100644 src/main/java/com/simplechat/server/model/dao/MessageDuoDao.java create mode 100644 src/main/java/com/simplechat/server/model/dao/UserDao.java create mode 100644 src/main/java/com/simplechat/server/model/entity/MessageDuo.java create mode 100644 src/main/java/com/simplechat/server/model/entity/User.java create mode 100644 src/main/java/com/simplechat/server/service/UserService.java diff --git a/build.gradle b/build.gradle index 272e0bf..d9887d2 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ version '1.0-SNAPSHOT' apply plugin: 'java' -sourceCompatibility = 1.5 +sourceCompatibility = 1.8 repositories { mavenCentral() diff --git a/src/main/java/com/simplechat/client/SimpleChatClient.java b/src/main/java/com/simplechat/client/SimpleChatClient.java new file mode 100644 index 0000000..89a249f --- /dev/null +++ b/src/main/java/com/simplechat/client/SimpleChatClient.java @@ -0,0 +1,43 @@ +package com.simplechat.client; + +import com.simplechat.server.controller.UserController; +import com.simplechat.server.model.entity.User; + +import java.util.List; +import java.util.Scanner; + +/** + * Created by raghvendra.mishra on 29/02/20. + */ +public class SimpleChatClient { + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + int choice = -1; + while (choice != 4) { + System.out.println("Enter choice : "); + System.out.println("1. add new user"); + System.out.println("2. display all user"); + System.out.println("3. show user count"); + System.out.println("4. exit"); + + choice = sc.nextInt(); + switch (choice) { + case 1: + sc.nextLine(); + System.out.println("Enter name"); + String name = sc.nextLine(); + UserController.addUser(name); + break; + + case 2: + List users = UserController.getAllUser(); + users.forEach(e -> System.out.println(e.getName())); + break; + + default: + break; + } + } + } +} diff --git a/src/main/java/com/simplechat/db/SimpleChatDB.java b/src/main/java/com/simplechat/db/SimpleChatDB.java index d69510e..da8b8a8 100644 --- a/src/main/java/com/simplechat/db/SimpleChatDB.java +++ b/src/main/java/com/simplechat/db/SimpleChatDB.java @@ -1,7 +1,30 @@ package com.simplechat.db; +import com.simplechat.server.model.entity.MessageDuo; +import com.simplechat.server.model.entity.User; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * Created by raghvendra.mishra on 29/02/20. */ public class SimpleChatDB { + private static List users = new ArrayList(); + private static Map idVsUser = new HashMap(); + private static List messageDuos = new ArrayList(); + + public static List getUsers() { + return users; + } + + public static Map getIdVsUser() { + return idVsUser; + } + + public static List getMessageDuos() { + return messageDuos; + } } diff --git a/src/main/java/com/simplechat/server/controller/UserController.java b/src/main/java/com/simplechat/server/controller/UserController.java new file mode 100644 index 0000000..0e80e41 --- /dev/null +++ b/src/main/java/com/simplechat/server/controller/UserController.java @@ -0,0 +1,21 @@ +package com.simplechat.server.controller; + +import com.simplechat.server.model.entity.User; +import com.simplechat.server.service.UserService; + +import java.util.List; + +/** + * Created by raghvendra.mishra on 29/02/20. + */ +public class UserController { + + public static boolean addUser(String name) { + UserService.addUser(name); + return true; + } + + public static List getAllUser() { + return UserService.getAllUsers(); + } +} diff --git a/src/main/java/com/simplechat/server/model/dao/DaoManager.java b/src/main/java/com/simplechat/server/model/dao/DaoManager.java new file mode 100644 index 0000000..9914f14 --- /dev/null +++ b/src/main/java/com/simplechat/server/model/dao/DaoManager.java @@ -0,0 +1,17 @@ +package com.simplechat.server.model.dao; + +/** + * Created by raghvendra.mishra on 29/02/20. + */ +public class DaoManager { + private static UserDao userDao = new UserDao(); + private static MessageDuoDao messageDuoDao = new MessageDuoDao(); + + public static UserDao userDao() { + return userDao; + } + + public static MessageDuoDao messageDuoDao() { + return messageDuoDao; + } +} diff --git a/src/main/java/com/simplechat/server/model/dao/MessageDuoDao.java b/src/main/java/com/simplechat/server/model/dao/MessageDuoDao.java new file mode 100644 index 0000000..ad80f53 --- /dev/null +++ b/src/main/java/com/simplechat/server/model/dao/MessageDuoDao.java @@ -0,0 +1,18 @@ +package com.simplechat.server.model.dao; + +import com.simplechat.db.SimpleChatDB; +import com.simplechat.server.model.entity.MessageDuo; + +/** + * Created by raghvendra.mishra on 29/02/20. + */ +public class MessageDuoDao { + + public static void addMessage(MessageDuo message) { + SimpleChatDB.getMessageDuos().add(message); + } + +// public static User getMessageBySenderIdNReceiverId(long id) { +// return SimpleChatDB.getIdVsUser().get(id); +// } +} diff --git a/src/main/java/com/simplechat/server/model/dao/UserDao.java b/src/main/java/com/simplechat/server/model/dao/UserDao.java new file mode 100644 index 0000000..96a57a9 --- /dev/null +++ b/src/main/java/com/simplechat/server/model/dao/UserDao.java @@ -0,0 +1,25 @@ +package com.simplechat.server.model.dao; + +import com.simplechat.db.SimpleChatDB; +import com.simplechat.server.model.entity.User; + +import java.util.List; + +/** + * Created by raghvendra.mishra on 29/02/20. + */ +public class UserDao { + + public static void addUser(User user) { + SimpleChatDB.getUsers().add(user); + SimpleChatDB.getIdVsUser().put(user.getId(), user); + } + + public static User getUserById(long id) { + return SimpleChatDB.getIdVsUser().get(id); + } + + public static List getUsers() { + return SimpleChatDB.getUsers(); + } +} diff --git a/src/main/java/com/simplechat/server/model/entity/MessageDuo.java b/src/main/java/com/simplechat/server/model/entity/MessageDuo.java new file mode 100644 index 0000000..ac8782a --- /dev/null +++ b/src/main/java/com/simplechat/server/model/entity/MessageDuo.java @@ -0,0 +1,29 @@ +package com.simplechat.server.model.entity; + +import java.time.LocalDateTime; + +/** + * Created by raghvendra.mishra on 29/02/20. + */ +public class MessageDuo { + private long id; + private long senderId; + private long receiverId; + private LocalDateTime time; + + public long getId() { + return id; + } + + public long getSenderId() { + return senderId; + } + + public long getReceiverId() { + return receiverId; + } + + public LocalDateTime getTime() { + return time; + } +} diff --git a/src/main/java/com/simplechat/server/model/entity/User.java b/src/main/java/com/simplechat/server/model/entity/User.java new file mode 100644 index 0000000..46e5697 --- /dev/null +++ b/src/main/java/com/simplechat/server/model/entity/User.java @@ -0,0 +1,34 @@ +package com.simplechat.server.model.entity; + +/** + * Created by raghvendra.mishra on 29/02/20. + */ +public class User { + private long id; + private String name; + private String imageUrl; + + public long getId() { + return id; + } + + public String getName() { + return name; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setId(long id) { + this.id = id; + } + + public void setName(String name) { + this.name = name; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } +} diff --git a/src/main/java/com/simplechat/server/service/UserService.java b/src/main/java/com/simplechat/server/service/UserService.java new file mode 100644 index 0000000..bf46e33 --- /dev/null +++ b/src/main/java/com/simplechat/server/service/UserService.java @@ -0,0 +1,27 @@ +package com.simplechat.server.service; + +import com.simplechat.server.model.dao.DaoManager; +import com.simplechat.server.model.entity.User; + +import java.util.List; + +/** + * Created by raghvendra.mishra on 29/02/20. + */ +public class UserService { + + public static User getUserById(long id) { + return DaoManager.userDao().getUserById(id); + } + + public static List getAllUsers() { + return DaoManager.userDao().getUsers(); + } + + public static void addUser(String name) { + User user = new User(); + user.setId(3); + user.setName(name); + DaoManager.userDao().addUser(user); + } +}