Skip to content

Commit 023dcdf

Browse files
committed
Merge branch 'master' into hoang
2 parents 51feac5 + e25e1e4 commit 023dcdf

76 files changed

Lines changed: 2076 additions & 1215 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/java/com/library/controller/admin/ActivityLog.java renamed to src/java/com/library/controller/admin/ActivityLogController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
package com.library.controller.admin;
66

77
import com.library.dao.DaoFactory;
8-
import com.library.model.UserActivityDTO;
8+
import com.library.model.dto.UserActivityDTO;
99
import com.library.service.ActivityService;
1010
import com.library.service.TrackingUserService;
1111
import com.library.service.UserService;
@@ -24,7 +24,7 @@
2424
* @author hieuchu
2525
*/
2626
@WebServlet(name = "ActivityLog", urlPatterns = {"/ActivityLog"})
27-
public class ActivityLog extends HttpServlet {
27+
public class ActivityLogController extends HttpServlet {
2828

2929
private final ActivityService activityService = new ActivityService(
3030
DaoFactory.getActivityDao(),

src/java/com/library/controller/admin/DashBoard.java renamed to src/java/com/library/controller/admin/AdminDashBoardController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
package com.library.controller.admin;
66

77
import com.library.dao.DaoFactory;
8-
import com.library.model.AdminDashBoardDTO;
9-
import com.library.model.UserActivityDTO;
8+
import com.library.model.dto.AdminDashBoardDTO;
9+
import com.library.model.dto.UserActivityDTO;
1010
import com.library.service.ActivityService;
1111
import com.library.service.TrackingUserService;
1212
import java.io.IOException;
@@ -19,7 +19,7 @@
1919
import jakarta.servlet.http.HttpSession;
2020

2121
@WebServlet(name = "AdminDashBoard", urlPatterns = {"/admin/dashboard"})
22-
public class DashBoard extends HttpServlet {
22+
public class AdminDashboardController extends HttpServlet {
2323

2424
private final ActivityService activityService = new ActivityService(
2525
DaoFactory.getActivityDao(),

src/java/com/library/controller/admin/Login.java renamed to src/java/com/library/controller/admin/LoginController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
import jakarta.servlet.http.HttpServletResponse;
1111
import jakarta.servlet.http.HttpSession;
1212
import com.library.dao.UserDao;
13-
import com.library.dao.UserImplementDao;
13+
import com.library.dao.UserDaoImpl;
1414

1515

1616
@WebServlet(name="Admin", urlPatterns={"/admin/login"})
17-
public class Login extends HttpServlet {
18-
UserDao userDao = new UserImplementDao();
17+
public class LoginController extends HttpServlet {
18+
UserDao userDao = new UserDaoImpl();
1919
@Override
2020
protected void doGet(HttpServletRequest request, HttpServletResponse response)
2121
throws ServletException, IOException {

src/java/com/library/controller/admin/books/managerBooks.java renamed to src/java/com/library/controller/admin/book/BookManagerController.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
33
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
44
*/
5-
package com.library.controller.admin.books;
5+
package com.library.controller.admin.book;
66

7-
import com.library.controller.book.BookList;
7+
import com.library.controller.book.BookListController;
88
import java.io.IOException;
99
import java.io.PrintWriter;
1010
import jakarta.servlet.ServletException;
@@ -14,18 +14,18 @@
1414
import jakarta.servlet.http.HttpServletResponse;
1515
import jakarta.servlet.http.HttpSession;
1616
import java.util.List;
17-
import com.library.model.Books;
17+
import com.library.model.entity.Book;
1818
import com.library.dao.BookDao;
19-
import com.library.dao.BookImplementDao;
19+
import com.library.dao.BookDaoImpl;
2020
import com.library.exception.BookDataAccessException;
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
2323

2424
@WebServlet(name = "managerBooks", urlPatterns = {"/admin/books"})
25-
public class managerBooks extends HttpServlet {
25+
public class BookManagerController extends HttpServlet {
2626

27-
private static final Logger logger = LoggerFactory.getLogger(BookList.class);
28-
BookDao bookDao = new BookImplementDao();
27+
private static final Logger logger = LoggerFactory.getLogger(BookListController.class);
28+
BookDao bookDao = new BookDaoImpl();
2929

3030
@Override
3131
protected void doGet(HttpServletRequest request, HttpServletResponse response)
@@ -45,14 +45,14 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
4545
String search = request.getParameter("search");
4646
if (search == null || search.trim().isEmpty()) {
4747
try {
48-
List<Books> bookList = bookDao.getAllBook();
48+
List<Book> bookList = bookDao.getAllBook();
4949
request.setAttribute("bookList", bookList);
5050
request.getRequestDispatcher("/WEB-INF/views/admin/managerBook.jsp").forward(request, response);
5151
} catch (BookDataAccessException e) {
5252
logger.error("Error loading books", e);
5353
}
5454
} else {
55-
List<Books> bookList = bookDao.searchBook(search);
55+
List<Book> bookList = bookDao.searchBook(search);
5656
request.setAttribute("bookList", bookList);
5757
request.getRequestDispatcher("/WEB-INF/views/admin/managerBook.jsp").forward(request, response);
5858
}

src/java/com/library/controller/admin/books/deleteBooks.java renamed to src/java/com/library/controller/admin/book/DeleteBookController.java

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
33
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
44
*/
5-
package com.library.controller.admin.books;
5+
package com.library.controller.admin.book;
66

77
import java.io.IOException;
88
import java.io.PrintWriter;
@@ -12,21 +12,32 @@
1212
import jakarta.servlet.http.HttpServletRequest;
1313
import jakarta.servlet.http.HttpServletResponse;
1414
import com.library.dao.BookDao;
15-
import com.library.dao.BookImplementDao;
15+
import com.library.dao.BookDaoImpl;
1616
import jakarta.servlet.http.HttpSession;
1717
import com.library.dao.BorrowingDao;
18-
import com.library.dao.BookImplementDao;
19-
import com.library.dao.BorrowingImplement;
18+
import com.library.dao.BookDaoImpl;
19+
import com.library.dao.BorrowingDaoImpl;
20+
import com.library.dao.DaoFactory;
21+
import com.library.service.BorrowingService;
22+
import com.library.service.RemoveBookService;
23+
import org.slf4j.Logger;
24+
import org.slf4j.LoggerFactory;
2025

2126
/**
2227
*
2328
* @author laptop gigabyte
2429
*/
2530
@WebServlet(name = "deleteBooks", urlPatterns = {"/admin/books/delete"})
26-
public class deleteBooks extends HttpServlet {
31+
public class DeleteBookController extends HttpServlet {
2732

28-
BookDao bookDao = new BookImplementDao();
29-
BorrowingDao borrowDao = new BorrowingImplement();
33+
34+
private static final Logger logger = LoggerFactory.getLogger(DeleteBookController.class);
35+
36+
RemoveBookService rmBook = new RemoveBookService(
37+
DaoFactory.getBookDao(),
38+
DaoFactory.getBorrowingDao(),
39+
DaoFactory.getFavoriteDao()
40+
);
3041

3142
@Override
3243
protected void doGet(HttpServletRequest request, HttpServletResponse response)
@@ -38,14 +49,13 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
3849
}
3950

4051
int bookID = Integer.parseInt(request.getParameter("id"));
41-
if(borrowDao.canDeleteBook(bookID)){
42-
borrowDao.deleteBorrowingsByBookId(bookID);
43-
44-
bookDao.deleteBook(bookID);
52+
logger.info(" Start delete book ID : {}", bookID);
53+
54+
if (rmBook.isBookRemoved(bookID)) {
55+
logger.info("can remove delete book id : {}", bookID);
4556
session.setAttribute("success", "Completely deleted!");
4657
response.sendRedirect(request.getContextPath() + "/admin/books");
47-
}
48-
else{
58+
} else {
4959
session.setAttribute("error", "The book is currently borrowed!");
5060
response.sendRedirect(request.getContextPath() + "/admin/books");
5161
}

src/java/com/library/controller/admin/books/editBooks.java renamed to src/java/com/library/controller/admin/book/EditBookController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
44
*/
55

6-
package com.library.controller.admin.books;
6+
package com.library.controller.admin.book;
77

88
import java.io.IOException;
99
import java.io.PrintWriter;
@@ -18,7 +18,7 @@
1818
* @author laptop gigabyte
1919
*/
2020
@WebServlet(name="editBooks", urlPatterns={"/admin/books/edit"})
21-
public class editBooks extends HttpServlet {
21+
public class EditBookController extends HttpServlet {
2222

2323

2424
@Override

src/java/com/library/controller/admin/books/saveBooks.java renamed to src/java/com/library/controller/admin/book/SaveBookController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
44
*/
55

6-
package com.library.controller.admin.books;
6+
package com.library.controller.admin.book;
77

88
import java.io.IOException;
99
import java.io.PrintWriter;
@@ -18,7 +18,7 @@
1818
* @author laptop gigabyte
1919
*/
2020
@WebServlet(name="saveBooks", urlPatterns={"/admin/books/save"})
21-
public class saveBooks extends HttpServlet {
21+
public class SaveBookController extends HttpServlet {
2222

2323

2424
@Override
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
3+
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
4+
*/
5+
package com.library.controller.admin.user;
6+
7+
import com.library.dao.DaoFactory;
8+
import com.library.dao.UserDao;
9+
import com.library.dao.UserDaoImpl;
10+
import com.library.service.TrackingUserService;
11+
import com.library.service.UserService;
12+
import com.library.util.SessionTracker;
13+
import java.io.IOException;
14+
import java.io.PrintWriter;
15+
import jakarta.servlet.ServletException;
16+
import jakarta.servlet.annotation.WebServlet;
17+
import jakarta.servlet.http.HttpServlet;
18+
import jakarta.servlet.http.HttpServletRequest;
19+
import jakarta.servlet.http.HttpServletResponse;
20+
import jakarta.servlet.http.HttpSession;
21+
import org.apache.catalina.Session;
22+
import org.slf4j.Logger;
23+
import org.slf4j.LoggerFactory;
24+
25+
/**
26+
*
27+
* @author hieuchu
28+
*/
29+
@WebServlet(name = "LogoutUserController", urlPatterns = {"/admin/user/logout"})
30+
public class LogoutUserController extends HttpServlet {
31+
32+
UserDao userDao = new UserDaoImpl();
33+
private final TrackingUserService trackService = new TrackingUserService(
34+
DaoFactory.getUserSessionDao()
35+
);
36+
private final UserService userService = new UserService(
37+
DaoFactory.getUserDao(),
38+
DaoFactory.getAdminDao()
39+
);
40+
private static final Logger logger = LoggerFactory.getLogger(LogoutUserController.class);
41+
42+
@Override
43+
protected void doGet(HttpServletRequest request, HttpServletResponse response)
44+
throws ServletException, IOException {
45+
46+
String userAccount = request.getParameter("account");
47+
int userID = userDao.findUserID(userAccount);
48+
String sessionIDFromDB = trackService.getSessionID(userID);
49+
50+
HttpSession saveSessionID = SessionTracker.getSession(sessionIDFromDB);
51+
if (saveSessionID != null) {
52+
saveSessionID.invalidate();
53+
userService.setOfflineUser(userAccount);
54+
logger.info("logging out user has : {}", saveSessionID);
55+
response.sendRedirect(request.getContextPath() + "/admin/user-manager");
56+
}
57+
58+
}
59+
60+
@Override
61+
protected void doPost(HttpServletRequest request, HttpServletResponse response)
62+
throws ServletException, IOException {
63+
64+
}
65+
66+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
3+
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
4+
*/
5+
6+
package com.library.controller.admin.user;
7+
8+
import com.library.dao.DaoFactory;
9+
import com.library.model.dto.UserBorrowRecordDTO;
10+
import com.library.service.UserService;
11+
import java.io.IOException;
12+
import java.io.PrintWriter;
13+
import jakarta.servlet.ServletException;
14+
import jakarta.servlet.annotation.WebServlet;
15+
import jakarta.servlet.http.HttpServlet;
16+
import jakarta.servlet.http.HttpServletRequest;
17+
import jakarta.servlet.http.HttpServletResponse;
18+
import java.util.List;
19+
20+
/**
21+
*
22+
* @author hieuchu
23+
*/
24+
@WebServlet(name="ManagerUserController", urlPatterns={"/admin/user-borrowing-record"})
25+
public class UserBorrowingRecordController extends HttpServlet {
26+
27+
private final UserService userService = new UserService(
28+
DaoFactory.getUserDao(),
29+
DaoFactory.getAdminDao()
30+
);
31+
@Override
32+
protected void doGet(HttpServletRequest request, HttpServletResponse response)
33+
throws ServletException, IOException {
34+
35+
List<UserBorrowRecordDTO> list = userService.showUserInformation();
36+
request.setAttribute("userList", list);
37+
request.getRequestDispatcher("/WEB-INF/views/admin/userborrowingrecord.jsp").forward(request, response);
38+
}
39+
40+
41+
@Override
42+
protected void doPost(HttpServletRequest request, HttpServletResponse response)
43+
throws ServletException, IOException {
44+
45+
}
46+
47+
48+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
3+
* Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
4+
*/
5+
6+
package com.library.controller.admin.user;
7+
8+
import com.library.dao.DaoFactory;
9+
import com.library.model.dto.UserProfileDTO;
10+
import com.library.service.UserService;
11+
import java.io.IOException;
12+
import java.io.PrintWriter;
13+
import jakarta.servlet.ServletException;
14+
import jakarta.servlet.annotation.WebServlet;
15+
import jakarta.servlet.http.HttpServlet;
16+
import jakarta.servlet.http.HttpServletRequest;
17+
import jakarta.servlet.http.HttpServletResponse;
18+
import java.util.List;
19+
20+
/**
21+
*
22+
* @author hieuchu
23+
*/
24+
@WebServlet(name="UserManagerController", urlPatterns={"/admin/user-manager"})
25+
public class UserManagerController extends HttpServlet {
26+
27+
private final UserService userSerivce = new UserService(
28+
DaoFactory.getUserDao(),
29+
DaoFactory.getAdminDao()
30+
);
31+
32+
@Override
33+
protected void doGet(HttpServletRequest request, HttpServletResponse response)
34+
throws ServletException, IOException {
35+
36+
List<UserProfileDTO> list = userSerivce.showProfileUser();
37+
request.setAttribute("list", list);
38+
request.getRequestDispatcher("/WEB-INF/views/admin/usermanager.jsp").forward(request, response);
39+
}
40+
41+
42+
@Override
43+
protected void doPost(HttpServletRequest request, HttpServletResponse response)
44+
throws ServletException, IOException {
45+
46+
}
47+
48+
49+
}

0 commit comments

Comments
 (0)