source: src/main/java/controller/FacultyServlet.java@ 1eb7a55

Last change on this file since 1eb7a55 was 1eb7a55, checked in by Elena Markovska <elena.elenamarkovska@…>, 11 days ago

Initial commit - Scholaris project code

  • Property mode set to 100644
File size: 13.2 KB
RevLine 
[1eb7a55]1//package controller;
2//
3//import java.io.IOException;
4//import java.sql.SQLException;
5//import java.util.*;
6//import javax.servlet.RequestDispatcher;
7//import javax.servlet.ServletException;
8//import javax.servlet.annotation.WebServlet;
9//import javax.servlet.http.HttpServlet;
10//import javax.servlet.http.HttpServletRequest;
11//import javax.servlet.http.HttpServletResponse;
12//
13//import DAO.FacultyDAO;
14//import DAO.impl.FacultyDAOImpl;
15//import model.Faculty;
16//import model.University;
17//import service.FacultyService;
18//import service.UniversityService;
19//import service.impl.FacultyServiceImpl;
20//import service.impl.UniversityServiceImpl;
21//
22//@WebServlet("/")
23//public class FacultyServlet extends HttpServlet {
24// private static final long serialVersionUID = 1L;
25//
26// private FacultyService facultyService;
27// private UniversityService universityService;
28// private FacultyDAO facultyDAO;
29//
30// public FacultyServlet() {
31// this.facultyService = new FacultyServiceImpl();
32// this.universityService = new UniversityServiceImpl();
33// this.facultyDAO = new FacultyDAOImpl();
34// }
35//
36// protected void doPost(HttpServletRequest request, HttpServletResponse response)
37// throws ServletException, IOException {
38// doGet(request, response); // Повикува doGet за сите POST барања
39// }
40//
41// protected void doGet(HttpServletRequest request, HttpServletResponse response)
42// throws ServletException, IOException {
43// String action = request.getServletPath();
44// System.out.println("Action: " + action);
45//
46// try {
47// switch (action) {
48// case "/new":
49// showNewForm(request, response);
50// break;
51// case "/insert":
52// insertFaculty(request, response);
53// break;
54// case "/delete":
55// deleteFaculty(request, response);
56// break;
57// case "/edit":
58// showEditForm(request, response);
59// break;
60// case "/update":
61// updateFaculty(request, response);
62// break;
63// case "/list":
64// case "/":
65// listFaculty(request, response);
66// break;
67// default:
68// response.sendError(HttpServletResponse.SC_NOT_FOUND);
69// break;
70// }
71// } catch (SQLException e) {
72// throw new ServletException(e);
73// }
74// }
75//
76// private void listFaculty(HttpServletRequest request, HttpServletResponse response)
77// throws SQLException, IOException, ServletException {
78// List<Faculty> listFaculty = facultyDAO.getAll();
79// request.setAttribute("listFaculty", listFaculty);
80// RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/faculty-list.jsp");
81// dispatcher.forward(request, response);
82// }
83//
84// private void showNewForm(HttpServletRequest request, HttpServletResponse response)
85// throws ServletException, IOException, SQLException {
86// List<University> universities = universityService.getAllUniversities();
87// request.setAttribute("universities", universities);
88// RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/faculty-form.jsp");
89// dispatcher.forward(request, response);
90// }
91//
92// private void showEditForm(HttpServletRequest request, HttpServletResponse response)
93// throws SQLException, ServletException, IOException {
94// Long id = Long.parseLong(request.getParameter("id"));
95// Faculty existingFaculty = facultyService.getById(id);
96// if (existingFaculty == null) {
97// response.sendError(HttpServletResponse.SC_NOT_FOUND, "Faculty not found");
98// return;
99// }
100// List<University> universities = universityService.getAllUniversities();
101// request.setAttribute("faculty", existingFaculty);
102// request.setAttribute("universities", universities);
103// RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/faculty-form.jsp");
104// dispatcher.forward(request, response);
105// }
106//
107// private void insertFaculty(HttpServletRequest request, HttpServletResponse response)
108// throws SQLException, IOException {
109// String name = request.getParameter("name");
110// String location = request.getParameter("location");
111// String study_field = request.getParameter("study_field");
112// String universityIdStr = request.getParameter("university_id");
113//
114// if (name == null || name.trim().isEmpty() ||
115// location == null || location.trim().isEmpty() ||
116// study_field == null || study_field.trim().isEmpty() ||
117// universityIdStr == null || universityIdStr.trim().isEmpty()) {
118// response.sendError(HttpServletResponse.SC_BAD_REQUEST, "All fields are required");
119// return;
120// }
121//
122// long universityId = Long.parseLong(universityIdStr);
123//
124// Faculty faculty = new Faculty(null, name, location, study_field, universityId);
125// facultyService.save(faculty);
126//
127// response.sendRedirect("list");
128// }
129//
130// private void updateFaculty(HttpServletRequest request, HttpServletResponse response)
131// throws SQLException, IOException {
132// Long id = Long.parseLong(request.getParameter("id"));
133// String name = request.getParameter("name");
134// String location = request.getParameter("location");
135// String study_field = request.getParameter("study_field");
136// String universityIdStr = request.getParameter("university_id");
137//
138// if (name == null || name.trim().isEmpty() ||
139// location == null || location.trim().isEmpty() ||
140// study_field == null || study_field.trim().isEmpty() ||
141// universityIdStr == null || universityIdStr.trim().isEmpty()) {
142// response.sendError(HttpServletResponse.SC_BAD_REQUEST, "All fields are required");
143// return;
144// }
145//
146// Long universityId = Long.parseLong(universityIdStr);
147// Faculty faculty = new Faculty(id, name, location, study_field, universityId);
148// facultyService.update(faculty);
149//
150// response.sendRedirect("list");
151// }
152//
153// private void deleteFaculty(HttpServletRequest request, HttpServletResponse response)
154// throws SQLException, IOException {
155// Long id = Long.parseLong(request.getParameter("id"));
156// facultyService.delete(id);
157// response.sendRedirect("list");
158// }
159//}
160
161
162package controller;
163
164import DAO.FacultyDAO;
165import DAO.impl.FacultyDAOImpl;
166import model.Faculty;
167import model.University;
168import service.FacultyService;
169import service.UniversityService;
170import service.impl.FacultyServiceImpl;
171import service.impl.UniversityServiceImpl;
172
173import javax.servlet.RequestDispatcher;
174import javax.servlet.ServletException;
175import javax.servlet.annotation.WebServlet;
176import javax.servlet.http.HttpServlet;
177import javax.servlet.http.HttpServletRequest;
178import javax.servlet.http.HttpServletResponse;
179import java.io.IOException;
180import java.sql.SQLException;
181import java.util.List;
182
183//@WebServlet("/faculty/*")
184public class FacultyServlet extends HttpServlet {
185 private static final long serialVersionUID = 1L;
186
187 private FacultyService facultyService;
188 private UniversityService universityService;
189 private FacultyDAO facultyDAO;
190
191 public FacultyServlet() {
192 this.facultyService = new FacultyServiceImpl();
193 this.universityService = new UniversityServiceImpl();
194 this.facultyDAO = new FacultyDAOImpl();
195 }
196
197 @Override
198 protected void doPost(HttpServletRequest request, HttpServletResponse response)
199 throws ServletException, IOException {
200 // Delegate POST requests to doGet for simplicity
201 doGet(request, response);
202 }
203
204 @Override
205 protected void doGet(HttpServletRequest request, HttpServletResponse response)
206 throws ServletException, IOException {
207
208 String action = request.getPathInfo(); // e.g., /list, /new, /edit
209 if (action == null || action.equals("/")) {
210 action = "/list"; // default action
211 }
212
213 try {
214 switch (action) {
215 case "/new":
216 showNewForm(request, response);
217 break;
218 case "/insert":
219 insertFaculty(request, response);
220 break;
221 case "/delete":
222 deleteFaculty(request, response);
223 break;
224 case "/edit":
225 showEditForm(request, response);
226 break;
227 case "/update":
228 updateFaculty(request, response);
229 break;
230 case "/list":
231 listFaculty(request, response);
232 break;
233 default:
234 response.sendError(HttpServletResponse.SC_NOT_FOUND);
235 break;
236 }
237 } catch (SQLException e) {
238 throw new ServletException(e);
239 }
240 }
241
242 private void listFaculty(HttpServletRequest request, HttpServletResponse response)
243 throws SQLException, IOException, ServletException {
244 List<Faculty> listFaculty = facultyDAO.getAll();
245 request.setAttribute("listFaculty", listFaculty);
246 RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/faculty-list.jsp");
247 dispatcher.forward(request, response);
248 }
249
250 private void showNewForm(HttpServletRequest request, HttpServletResponse response)
251 throws ServletException, IOException, SQLException {
252 List<University> universities = universityService.getAllUniversities();
253 request.setAttribute("universities", universities);
254 RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/faculty-form.jsp");
255 dispatcher.forward(request, response);
256 }
257
258 private void showEditForm(HttpServletRequest request, HttpServletResponse response)
259 throws SQLException, ServletException, IOException {
260 Long id = Long.parseLong(request.getParameter("id"));
261 Faculty existingFaculty = facultyService.getById(id);
262 if (existingFaculty == null) {
263 response.sendError(HttpServletResponse.SC_NOT_FOUND, "Faculty not found");
264 return;
265 }
266 List<University> universities = universityService.getAllUniversities();
267 request.setAttribute("faculty", existingFaculty);
268 request.setAttribute("universities", universities);
269 RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/faculty-form.jsp");
270 dispatcher.forward(request, response);
271 }
272
273 private void insertFaculty(HttpServletRequest request, HttpServletResponse response)
274 throws SQLException, IOException {
275 String name = request.getParameter("name");
276 String location = request.getParameter("location");
277 String study_field = request.getParameter("study_field");
278 String universityIdStr = request.getParameter("university_id");
279
280 if (name == null || name.trim().isEmpty() ||
281 location == null || location.trim().isEmpty() ||
282 study_field == null || study_field.trim().isEmpty() ||
283 universityIdStr == null || universityIdStr.trim().isEmpty()) {
284 response.sendError(HttpServletResponse.SC_BAD_REQUEST, "All fields are required");
285 return;
286 }
287
288 long universityId = Long.parseLong(universityIdStr);
289 Faculty faculty = new Faculty(null, name, location, study_field, universityId);
290 facultyService.save(faculty);
291
292 response.sendRedirect(request.getContextPath() + "/faculty/list");
293 }
294
295 private void updateFaculty(HttpServletRequest request, HttpServletResponse response)
296 throws SQLException, IOException {
297 Long id = Long.parseLong(request.getParameter("id"));
298 String name = request.getParameter("name");
299 String location = request.getParameter("location");
300 String study_field = request.getParameter("study_field");
301 String universityIdStr = request.getParameter("university_id");
302
303 if (name == null || name.trim().isEmpty() ||
304 location == null || location.trim().isEmpty() ||
305 study_field == null || study_field.trim().isEmpty() ||
306 universityIdStr == null || universityIdStr.trim().isEmpty()) {
307 response.sendError(HttpServletResponse.SC_BAD_REQUEST, "All fields are required");
308 return;
309 }
310
311 Long universityId = Long.parseLong(universityIdStr);
312 Faculty faculty = new Faculty(id, name, location, study_field, universityId);
313 facultyService.update(faculty);
314
315 response.sendRedirect(request.getContextPath() + "/faculty/list");
316 }
317
318 private void deleteFaculty(HttpServletRequest request, HttpServletResponse response)
319 throws SQLException, IOException {
320 Long id = Long.parseLong(request.getParameter("id"));
321 facultyService.delete(id);
322 response.sendRedirect(request.getContextPath() + "/faculty/list");
323 }
324}
Note: See TracBrowser for help on using the repository browser.