public void login() { FacesContext context = FacesContext.getCurrentInstance(); ExternalContext externalContext = context.getExternalContext(); HttpServletRequest request = (HttpServletRequest) externalContext.getRequest(); try { if (StringUtils.isBlank(request.getRemoteUser())) { // request.logout(); request.login(this.username, this.password); } else if (!request.getRemoteUser().equals(this.username)) { request.logout(); request.login(this.username, this.password); } if (originalURL != null && originalURL.indexOf("service.jsf?") > 0) { externalContext.redirect(originalURL); } else { if (UserDAO.isProvider(this.username)) { String recentServiceId = serviceDAO.getProviderRecentServiceId(this.username); if (recentServiceId == null) externalContext.redirect( externalContext.getRequestContextPath() + "/provider/providerappointment.jsf"); else externalContext.redirect( externalContext.getRequestContextPath() + "/provider/serviceappointment.jsf?serviceId=" + recentServiceId); } else { String recentServiceId = serviceDAO.getUserRecentServiceId(this.username); if (recentServiceId == null) externalContext.redirect( externalContext.getRequestContextPath() + "/user/userappointment.jsf"); else externalContext.redirect( externalContext.getRequestContextPath() + "/user/appointment.jsf?serviceId=" + recentServiceId); } } } catch (Exception e) { // log.error(e.getCause(), e); WebUtil.addMessage( new FacesMessage( FacesMessage.SEVERITY_INFO, WebUtil.getMessage("login.failed.header"), WebUtil.getMessage("login.failed.message"))); // context.addMessage(null, new FacesMessage("Login failed.")); } }
public void registrarMatrinonio() throws IOException { getMatrimonio().setNormal(false); getMatrimonio().setHistorico(true); getMatrimonio().setEspecial(false); setMatrimonioDetalle( getMatrimonioService() .registrarMatrimonio( getMatrimonio(), getConsentimientoContrayenteUno(), getConsentimientoContrayenteDos())); if (getMatrimonioDetalle().getCodigoRespuesta().equals(0)) { FacesContext context = FacesContext.getCurrentInstance(); context.getExternalContext().getFlash().setKeepMessages(true); FacesContext.getCurrentInstance() .addMessage( null, new FacesMessage( FacesMessage.SEVERITY_INFO, "El registro se ha guardado correctamente.", "")); ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); externalContext.redirect( externalContext.getRequestContextPath().concat(ConstantesComunes.DETALLE_MATRIMONIO)); } else { FacesContext.getCurrentInstance() .addMessage( null, new FacesMessage( FacesMessage.SEVERITY_ERROR, "Ocurri\u00f3 un error al guardar el registro.", "")); RequestContext.getCurrentInstance().execute("errorDialog.show()"); } }
public void registrarReconocimiento() throws IOException { setReconocimientoDetalle( getReconocimientoService() .registrarReconocimiento(getReconocimiento(), getPersonaOtorgaConsentimiento())); if (getReconocimientoDetalle().getCodigoRespuesta().equals(0)) { FacesContext context = FacesContext.getCurrentInstance(); context.getExternalContext().getFlash().setKeepMessages(true); FacesContext.getCurrentInstance() .addMessage( null, new FacesMessage( FacesMessage.SEVERITY_INFO, "El registro se ha guardado correctamente.", "")); ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); externalContext.redirect( externalContext.getRequestContextPath().concat(ConstantesComunes.DETALLE_RECONOCIMIENTO)); } else { FacesContext.getCurrentInstance() .addMessage( null, new FacesMessage( FacesMessage.SEVERITY_ERROR, "Ocurri\u00f3 un error al guardar el registro.", "")); RequestContext.getCurrentInstance().execute("errorDialog.show()"); } }
@Override public void handle() throws FacesException { final Iterator<ExceptionQueuedEvent> i = getUnhandledExceptionQueuedEvents().iterator(); while (i.hasNext()) { ExceptionQueuedEvent event = i.next(); ExceptionQueuedEventContext context = (ExceptionQueuedEventContext) event.getSource(); Throwable t = context.getException(); final FacesContext fc = FacesContext.getCurrentInstance(); final Map<String, Object> requestMap = fc.getExternalContext().getRequestMap(); try { System.out.printf(">>> Exception caught: %s", t.getMessage()); t.printStackTrace(); requestMap.put("exceptionMessage", t.getMessage()); ExternalContext extContext = fc.getExternalContext(); String url = extContext.encodeActionURL(extContext.getRequestContextPath() + "/500.xhtml"); extContext.redirect(url); } catch (Exception e) { String errorPageLocation = "/WEB-INF/500.xhtml"; fc.setViewRoot(fc.getApplication().getViewHandler().createView(fc, errorPageLocation)); fc.getPartialViewContext().setRenderAll(false); fc.renderResponse(); } finally { i.remove(); } } getWrapped().handle(); }
public void doRedirect(FacesContext fc, String redirectPage) { ExternalContext ec = fc.getExternalContext(); try { ec.redirect(ec.getRequestContextPath() + (redirectPage != null ? redirectPage : "")); } catch (IOException e) { e.printStackTrace(); } }
/** * This code is currently common to all {@link ViewHandlingStrategy} instances. * * @see ViewHandler#getResourceURL(javax.faces.context.FacesContext, String) */ public String getResourceURL(FacesContext context, String path) { ExternalContext extContext = context.getExternalContext(); if (path.charAt(0) == '/') { return (extContext.getRequestContextPath() + path); } else { return path; } }
/** * This code is currently common to all {@link ViewHandlingStrategy} instances. * * @see ViewHandler#getActionURL(javax.faces.context.FacesContext, String) */ public String getActionURL(FacesContext context, String viewId) { Util.notNull("context", context); Util.notNull("viewId", viewId); if (viewId.charAt(0) != '/') { String message = MessageUtils.getExceptionMessageString(MessageUtils.ILLEGAL_VIEW_ID_ID, viewId); if (logger.isLoggable(Level.SEVERE)) { logger.log(Level.SEVERE, "jsf.illegal_view_id_error", viewId); } throw new IllegalArgumentException(message); } // Acquire the context path, which we will prefix on all results ExternalContext extContext = context.getExternalContext(); String contextPath = extContext.getRequestContextPath(); // Acquire the mapping used to execute this request (if any) String mapping = Util.getFacesMapping(context); // If no mapping can be identified, just return a server-relative path if (mapping == null) { return (contextPath + viewId); } // Deal with prefix mapping if (Util.isPrefixMapped(mapping)) { if (mapping.equals("/*")) { return (contextPath + viewId); } else { return (contextPath + mapping + viewId); } } // Deal with extension mapping int period = viewId.lastIndexOf('.'); if (period < 0) { return (contextPath + viewId + mapping); } else if (!viewId.endsWith(mapping)) { for (String ext : configuredExtensions) { if (viewId.endsWith(ext)) { return (contextPath + viewId.substring(0, viewId.indexOf(ext)) + mapping); } } return (contextPath + viewId.substring(0, period) + mapping); } else { return (contextPath + viewId); } }
// Redireciona Pagina private void redirect(String path) { try { FacesContext context = FacesContext.getCurrentInstance(); ExternalContext externalContext = context.getExternalContext(); String requestContextPath = externalContext.getRequestContextPath(); externalContext.redirect(requestContextPath + path); context.responseComplete(); } catch (IOException e) { throw new RuntimeException(e); } }
/** * Wykonuje akcję przekazaną w argumencie. W razie wyjątku ApplicationBaseException przechwyuje go * i przekierowuje do strony /error/applicationError przez FacesContext i ustawia w ContextMapie * komunikat do * wyświetlenia.error/applicationError.xhtml?uuid=ee7f5392-7c00-452b-a727-121a267900ae * * @param action Akcja do wykonania, która może zakończyć się ApplicationBaseException. */ protected void expectApplicationException(ApplicationErrorAction action) { try { action.run(); } catch (ApplicationBaseException e) { setContext(ApplicationErrorBean.class, bean -> bean.setExceptionMessage(e.getCode())); try { ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); String redirectResource = "/error/applicationError.xhtml?uuid=" + getUuid(); externalContext.redirect(externalContext.getRequestContextPath() + redirectResource); } catch (IOException e1) { throw new RuntimeException(e1); } } }
public String getApplicationUri() { try { FacesContext ctxt = FacesContext.getCurrentInstance(); ExternalContext ext = ctxt.getExternalContext(); URI uri = new URI( ext.getRequestScheme(), null, ext.getRequestServerName(), ext.getRequestServerPort(), ext.getRequestContextPath(), null, null); return uri.toASCIIString(); } catch (URISyntaxException e) { throw new FacesException(e); } }
public static String getResourceURL(String url, FacesContext context) { if (null == url) { return null; } Application application = context.getApplication(); ExternalContext externalContext = context.getExternalContext(); String value = url; if (value.length() == 0 || value.charAt(0) != '/' || !value.startsWith(externalContext.getRequestContextPath())) { value = application.getViewHandler().getResourceURL(context, value); } return externalContext.encodeResourceURL(value); }
public void logout() { FacesContext context = FacesContext.getCurrentInstance(); ExternalContext externalContext = context.getExternalContext(); HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest(); String userId = request.getRemoteUser(); if (userId != null) { try { request.logout(); } catch (ServletException e) { log.error(e.getCause(), e); context.addMessage(null, new FacesMessage("Logout failed.")); } } try { externalContext.redirect(externalContext.getRequestContextPath() + "/index.jsf"); } catch (IOException e) { log.error(e.getCause(), e); context.addMessage(null, new FacesMessage("redirect failed.")); } }
@Override public void afterPhase(PhaseEvent event) { ExceptionHandler exceptionHandler = event.getFacesContext().getExceptionHandler(); if (Iterables.isEmpty(exceptionHandler.getUnhandledExceptionQueuedEvents())) { return; } try { new OptimisticLockExceptionHandler(exceptionHandler).handle(); FacesContext faces = FacesContext.getCurrentInstance(); String nextUrl = ConversationManager.getInstance().getCurrentConversation().nextUrl(); ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); String url = externalContext.getRequestContextPath() + nextUrl; faces.getExternalContext().redirect(url); faces.responseComplete(); } catch (IOException e) { log.error("Failed to redirect to context page in render response phase", e); } }
@PostConstruct public void init() { serviceDAO = new ServiceDAO(); ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); // originalURL = (String) // externalContext.getRequestMap().get(RequestDispatcher.FORWARD_REQUEST_URI); originalURL = (String) externalContext.getRequestHeaderMap().get("referer"); if (originalURL == null) { originalURL = externalContext.getRequestContextPath() + "/index.jsf"; } else { String originalQuery = (String) externalContext.getRequestMap().get(RequestDispatcher.FORWARD_QUERY_STRING); if (originalQuery != null) { originalURL += "?" + originalQuery; } } // log.debug("originalURL==>" + originalURL); }
/** Metodo para guardar un nuevo registro de Defuncion */ public void guardaRegistroHistoricoDefuncion() throws IOException { getDefuncionDTO().setNormal(false); getDefuncionDTO().setHistorico(true); getDefuncionDTO().setEspecial(false); System.out.println("Entro +++++++++++++++++++++++++++++++++++++"); setDefuncionDetalle( getDefuncionService() .guardarDefuncion( getDefuncionDTO(), getExistenciaConyuge(), getExistenciaProgenitorUno(), getExistenciaProgenitorDos())); if (getDefuncionDetalle().getCodigoRespuesta().equals(0)) { FacesContext context = FacesContext.getCurrentInstance(); context.getExternalContext().getFlash().setKeepMessages(true); FacesContext.getCurrentInstance() .addMessage( null, new FacesMessage( FacesMessage.SEVERITY_INFO, "El registro se ha guardado correctamente.", "")); ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); externalContext.redirect( externalContext.getRequestContextPath().concat(ConstantesComunes.DETALLE_DEFUNCION)); } else { FacesContext.getCurrentInstance() .addMessage( null, new FacesMessage( FacesMessage.SEVERITY_ERROR, "Ocurri\u00f3 un error al guardar el registro.", "")); RequestContext.getCurrentInstance().execute("errorDialog.show()"); } }