public void approve( int notificationId, int tripNo, int routeNo, RouteType routeType, String startTime, String endTime) { TripDAO tripDAO = new TripDAO(); RouteDAO routeDAO = new RouteDAO(); Route route = routeDAO.getRoutebyRouteNo(routeNo, routeType); Trip trip = tripDAO.readTripByRouteAndNo(route, tripNo); // if cannot find trip -> return and do nothing if (trip == null) { System.out.println("Approve Action have something wrong"); return; } boolean canApprove = false; LocalTime start = null; if (startTime != null) { start = parseTimeFromClient(startTime); canApprove = true; } LocalTime end = null; if (endTime != null) { end = parseTimeFromClient(endTime); canApprove = true; } if (canApprove) { if (start != null) { trip.setStartTime(start); } if (end != null) { trip.setEndTime(end); } tripDAO.update(trip); } // delete trip notification TripNotificationDAO tripNotificationDAO = new TripNotificationDAO(); TripNotification tripNof = tripNotificationDAO.read(notificationId); tripNotificationDAO.delete(tripNof); // delete notification NotificationDAO notificationDAO = new NotificationDAO(); Notification nof = notificationDAO.read(notificationId); notificationDAO.delete(nof); System.out.println("Trip Notification Approved"); }