diff options
author | Vidhu Kant Sharma <vidhukant@vidhukant.com> | 2024-11-21 23:54:32 +0530 |
---|---|---|
committer | Vidhu Kant Sharma <vidhukant@vidhukant.com> | 2024-11-21 23:54:32 +0530 |
commit | 3b16f36d497151ea1628491a057da292855a46f1 (patch) | |
tree | 65f15c93f550f86a64ff58816a3c8dbf11f6cc3c /src/Store | |
parent | 279415dfe3386e624727d204b304430299d4a6cf (diff) |
Diffstat (limited to 'src/Store')
-rw-r--r-- | src/Store/Book.java | 72 | ||||
-rw-r--r-- | src/Store/User.java | 66 |
2 files changed, 90 insertions, 48 deletions
diff --git a/src/Store/Book.java b/src/Store/Book.java index 4232d77..fe2d63e 100644 --- a/src/Store/Book.java +++ b/src/Store/Book.java @@ -164,38 +164,66 @@ public class Book { public static DataListener<JSONMessage> getListHandler(boolean availableOnly) { return ((client, data, ackSender) -> { - ArrayList<Book> books = getAll(availableOnly); - client.sendEvent(availableOnly ? "availableBooksList" : "allBooksList", books); + Thread t = new Thread(() -> { + ArrayList<Book> books = null; + try { + books = getAll(availableOnly); + } catch (SQLException e) { + throw new RuntimeException(e); + } + client.sendEvent(availableOnly ? "availableBooksList" : "allBooksList", books); + }); + + t.start(); + t.join(); }); } public static DataListener<JSONMessage> issueHandler() { return ((client, data, ackSender) -> { - Map d = data.getData(); - - int userId = (int) d.get("id"); - Book b = new Book((int) d.get("bookId")); - - if (b.issue(userId)) { - client.sendEvent("issued"); - } else { - client.sendEvent("alreadyIssued"); - } + Thread t = new Thread(() -> { + Map d = data.getData(); + + int userId = (int) d.get("id"); + Book b = new Book((int) d.get("bookId")); + + try { + if (b.issue(userId)) { + client.sendEvent("issued"); + } else { + client.sendEvent("alreadyIssued"); + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + }); + + t.start(); + t.join(); }); } public static DataListener<JSONMessage> returnHandler() { return ((client, data, ackSender) -> { - Map d = data.getData(); - - int userId = (int) d.get("id"); - Book b = new Book((int) d.get("bookId")); - - if (b.returnBook(userId)) { - client.sendEvent("returned"); - } else { - client.sendEvent("returnFailed"); - } + Thread t = new Thread(() -> { + Map d = data.getData(); + + int userId = (int) d.get("id"); + Book b = new Book((int) d.get("bookId")); + + try { + if (b.returnBook(userId)) { + client.sendEvent("returned"); + } else { + client.sendEvent("returnFailed"); + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + }); + + t.start(); + t.join(); }); } diff --git a/src/Store/User.java b/src/Store/User.java index e414520..c253421 100644 --- a/src/Store/User.java +++ b/src/Store/User.java @@ -74,39 +74,53 @@ public class User { public static DataListener<JSONMessage> signUpHandler() { return ((client, data, ackSender) -> { - Map<String,String> d = data.getData(); - - User user = new User(d.get("userName"), d.get("password")); - try { - if (user.save()) { - client.sendEvent("signedUp"); - } else { - client.sendEvent("usernameTaken"); + Thread t = new Thread(() -> { + Map<String,String> d = data.getData(); + + User user = new User(d.get("userName"), d.get("password")); + try { + if (user.save()) { + client.sendEvent("signedUp"); + } else { + client.sendEvent("usernameTaken"); + client.sendEvent("signUpFailed"); + } + } catch (SQLException e) { client.sendEvent("signUpFailed"); + System.out.println(e.getMessage()); } - } catch (SQLException e) { - client.sendEvent("signUpFailed"); - System.out.println(e.getMessage()); - } + }); + + t.start(); + t.join(); }); } public static DataListener<JSONMessage> loginHandler() { return ((client, data, ackSender) -> { - Map<String,String> d = data.getData(); - - User user = new User(d.get("userName"), d.get("password")); - try { - user.login(); - } catch (SQLException e) { - System.out.println(e.getMessage()); - } - - if (user.login()) { - client.sendEvent("loggedIn", user.id); - } else { - client.sendEvent("loginFailed"); - } + Thread t = new Thread(() -> { + Map<String,String> d = data.getData(); + + User user = new User(d.get("userName"), d.get("password")); + try { + user.login(); + } catch (SQLException e) { + System.out.println(e.getMessage()); + } + + try { + if (user.login()) { + client.sendEvent("loggedIn", user.id); + } else { + client.sendEvent("loginFailed"); + } + } catch (SQLException e) { + throw new RuntimeException(e); + } + }); + + t.start(); + t.join(); }); } |