public void logout() { log.debug("explicit logout"); fireLogoutEvent(); if (isLoggedIn()) { unAuthenticate(); HttpSession session = BeanProvider.getContextualReference( HttpSession.class, new AnnotationLiteral<DeltaSpike>() {}); session.invalidate(); urlUtil.redirectToInternal(urlUtil.home()); } }
protected final <T extends Throwable> void handle( ExceptionEvent<T> event, LogLevel logLevel, FacesMessage.Severity severity, String messageKey, Object... messageArgs) { handle(event, logLevel, urlUtil.genericErrorPage(), severity, messageKey, messageArgs); }
private void processWebHookDocumentMilestoneEvent( DocumentStatisticUpdatedEvent event, Collection<ContentState> contentStates, String message, int percentMilestone) { HProjectIteration version = projectIterationDAO.findById(event.getProjectIterationId()); HProject project = version.getProject(); if (!project.getWebHooks().isEmpty()) { WordStatistic stats = translationStateCacheImpl.getDocumentStatistics( event.getDocumentId(), event.getLocaleId()); WordStatistic oldStats = StatisticsUtil.copyWordStatistic(stats); if (oldStats != null) { oldStats.decrement(event.getNewState(), event.getWordCount()); oldStats.increment(event.getPreviousState(), event.getWordCount()); boolean shouldPublish = hasContentStateReachedMilestone(oldStats, stats, contentStates, percentMilestone); if (shouldPublish) { HDocument document = documentDAO.getById(event.getDocumentId()); String editorUrl = urlUtil.fullEditorDocumentUrl( project.getSlug(), version.getSlug(), event.getLocaleId(), LocaleId.EN_US, document.getDocId()); DocumentMilestoneEvent milestoneEvent = new DocumentMilestoneEvent( project.getSlug(), version.getSlug(), document.getDocId(), event.getLocaleId(), message, editorUrl); for (WebHook webHook : project.getWebHooks()) { publishDocumentMilestoneEvent(webHook, milestoneEvent); } } } } }
protected final <T extends Throwable> void handle( ExceptionEvent<T> event, LogLevel logLevel, String redirectUrl, FacesMessage.Severity severity, String messageKey, Object... messageArgs) { logException(logLevel, event.getException()); if (ContextUtils.isContextActive(WindowScoped.class)) { messages.clear(); messages.addFromResourceBundle(severity, messageKey, messageArgs); urlUtil.redirectTo(redirectUrl); // TODO urlUtil.forwardTo(redirectPath); // required - "stops" the JSF lifecycle FacesContext.getCurrentInstance().responseComplete(); } // no other ExceptionHandler should handle this exception... event.handled(); }