protected void stopScheduler() { try { SchedulerFactory f = DefaultSchedulerFactory.getInstance(); Scheduler s = f.getScheduler(); s.stop(null, null); } catch (IOException ex) { // Log info: { String message = "Failure to stop scheduler!"; log.log(Level.SEVERE, message, ex); } throw new RuntimeException(ex); } catch (Throwable ex) { // Log info: { String message = "Failure to stop scheduler!"; log.log(Level.SEVERE, message, ex); } throw new RuntimeException(ex); } }
protected void stopTerminal() { try { TerminalFactory f = DefaultTerminalFactory.getInstance(); Terminal t = f.getTerminal(); t.stop(); } catch (IOException ex) { // Log info: { String message = "Failure to stop terminal!"; log.log(Level.SEVERE, message, ex); } throw new RuntimeException(ex); } catch (Throwable ex) { // Log info: { String message = "Failure to stop terminal!"; log.log(Level.SEVERE, message, ex); } throw new RuntimeException(ex); } }
public static void shutdownThreadPoolsNow() { try { ThreadPoolManager.shutdownAllNow(); } catch (Throwable ex) { // Log info: { Level level = Level.SEVERE; Logger logger = log; if (logger.isLoggable(level)) { String message = "Failure to stop thread pools!"; logger.log(level, message, ex); } } throw new RuntimeException(ex); } }
@Override public boolean login(boolean isFail) { try { WebApp webApp = getWebApp(); if (webApp == null) { if (log.isLoggable(Level.FINE)) log.finer("authentication failed, no web-app found"); getResponse().sendError(HttpServletResponse.SC_FORBIDDEN); return false; } // If the authenticator can find the user, return it. Login login = webApp.getLogin(); if (login != null) { Principal user = login.login(this, getResponse(), isFail); return user != null; /* if (user == null) return false; setAttribute(AbstractLogin.LOGIN_NAME, user); return true; */ } else if (isFail) { if (log.isLoggable(Level.FINE)) log.finer("authentication failed, no login module found for " + webApp); getResponse().sendError(HttpServletResponse.SC_FORBIDDEN); return false; } else { // if a non-failure, then missing login is fine return false; } } catch (IOException e) { log.log(Level.FINE, e.toString(), e); return false; } }
protected void statFlush() { try { DSLDataAccessorFactory f = DefaultDSLDataAccessorFactory.getInstance(); DSLDataAccessor a = f.getDSLDataAccessor(); a.statFlush(); } catch (Throwable ex) { // Log info: { Level level = Level.SEVERE; Logger logger = log; if (logger.isLoggable(level)) { String message = "Failure to flush statistical info!"; logger.log(level, message, ex); } } } }
/** * Displays the Create Discussion page for a HTTP Get, or creates a Discussion Thread for a HTTP * Post * * <p>- Requires a cookie for the session user - Requires a groupId request parameter for a GET - * Requires a groupId and threadName request parameter for a POST - Requires a document request * part for a POST * * @param req The HTTP Request * @param res The HTTP Response */ public void createDiscussionAction(HttpServletRequest req, HttpServletResponse res) { // Ensure there is a cookie for the session user if (AccountController.redirectIfNoCookie(req, res)) return; Map<String, Object> viewData = new HashMap<>(); if (req.getMethod() == HttpMethod.Get) { viewData.put("title", "Create Discussion"); viewData.put("groupId", req.getParameter("groupId")); view(req, res, "/views/group/CreateDiscussion.jsp", viewData); return; } else if (req.getMethod() == HttpMethod.Post) { // save discussion GroupManager groupMan = new GroupManager(); DiscussionThread thread = new DiscussionThread(); int groupId = Integer.parseInt(req.getParameter("groupId")); thread.setGroupId(groupId); thread.setGroup(groupMan.get(groupId)); thread.setThreadName(req.getParameter("threadName")); DiscussionManager dm = new DiscussionManager(); dm.createDiscussion(thread); try { Part documentPart = req.getPart("document"); // if we have a document to upload if (documentPart.getSize() > 0) { String uuid = DocumentController.saveDocument(this.getServletContext(), documentPart); Document doc = new Document(); doc.setDocumentName(getFileName(documentPart)); doc.setDocumentPath(uuid); doc.setVersionNumber(1); doc.setThreadId(thread.getId()); doc.setGroupId(thread.getGroupId()); DocumentManager docMan = new DocumentManager(); docMan.createDocument(doc); // Get uploading User HttpSession session = req.getSession(); Session userSession = (Session) session.getAttribute("userSession"); User uploader = userSession.getUser(); // Create a notification to all in the group NotificationManager notificationMan = new NotificationManager(); groupMan = new GroupManager(); List<User> groupUsers = groupMan.getGroupUsers(groupId); for (User u : groupUsers) { Notification notification = new Notification( u.getId(), u, groupId, null, "User " + uploader.getFullName() + " has uploaded a document", "/document/document?documentId=" + doc.getId()); notificationMan.createNotification(notification); } } } catch (Exception e) { logger.log(Level.SEVERE, "Document save error", e); } redirectToLocal(req, res, "/group/discussion/?threadId=" + thread.getId()); return; } httpNotFound(req, res); }