package com.fp.frontend.helper; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import com.fp.common.exception.ExceptionHandler; import com.fp.dto.Response; import com.fp.frontend.utility.MsgGeneral; /** * Clase a extender en las clases encargadas de obtener direcciones email a las cuales se envía notificaciones de flujos * de trabajo.. * * @version 2.1 * @author Jorge Vaca */ public class MessageHelper { /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. */ public static void setMessageError(Response response) { MessageHelper.setMessage(response, FacesMessage.SEVERITY_ERROR); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. */ public static void setMessageInfo(Response response) { MessageHelper.setMessage(response, FacesMessage.SEVERITY_INFO); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente agregado un parametro. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. * @param parametro Parametro a mostrar adjunto al mensaje */ public static void setMessageInfo(Response response, String parametro) { MessageHelper.setMessage(response, FacesMessage.SEVERITY_INFO, parametro); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. */ public static void setMessageInfo(String messagecode, String idComponent, Object... parameters) { MessageHelper.setMessage(FacesMessage.SEVERITY_INFO, messagecode, idComponent, parameters); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. */ public static void setMessageError(String messagecode, Object... parameters) { MessageHelper.setMessageError(messagecode, null, parameters); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. * @param filename Nombre del campo al cual se asocia el mensaje de error. */ public static void setMessageError(String messagecode, String idComponent, Object... parameters) { MessageHelper.setMessage(FacesMessage.SEVERITY_ERROR, messagecode, idComponent, parameters); FacesContext.getCurrentInstance().validationFailed(); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. */ public static void setMessageWarn(String messagecode, Object... parameters) { MessageHelper.setMessageWarn(messagecode, null, parameters); } /** * Manejo de mensaje de advertencia bajo alguna condicion. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. * @param filename Nombre del campo al cual se asocia el mensaje de error. */ public static void setMessageWarn(String messagecode, String idComponent, Object... parameters) { MessageHelper.setMessage(FacesMessage.SEVERITY_WARN, messagecode, idComponent, parameters); FacesContext.getCurrentInstance().validationFailed(); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. * @param filename Nombre del campo al cual se asocia el mensaje de error. */ private static void setMessage(FacesMessage.Severity type, String messagecode, String idComponent, Object... parameters) { String message = messagecode; try { message = MsgGeneral.getProperty(messagecode, parameters); } catch (Exception e) { // NO hacer nada se presenta el codigo de mensaje. } MessageHelper.setMessage(message, type, idComponent); FacesContext.getCurrentInstance().validationFailed(); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. */ public static void setMessageWarn(Response response) { MessageHelper.setMessage(response, FacesMessage.SEVERITY_WARN); } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. */ private static void setMessage(Response response, FacesMessage.Severity type) { try { FacesMessage fm = new FacesMessage(); if (response.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { fm.setSummary("TRANSACCION FINALIZADA"); } else { fm.setSummary(response.getResponseCode() + " " + response.getResponseUserMessage()); FacesContext.getCurrentInstance().validationFailed(); } fm.setDetail(""); fm.setSeverity(type); // con esto saca la imagen en el browser. FacesContext.getCurrentInstance().addMessage(null, fm); } catch (Exception e) { e.printStackTrace(); } } /** * Manejo de un mensaje personalizado * @param message */ public static void setMessageInfo(String message){ try { FacesMessage fm = new FacesMessage(); fm.setSummary(message); FacesContext.getCurrentInstance().addMessage(null, fm); } catch (Exception e) { e.printStackTrace(); } } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. * @param severity Severity error * @param param valor a mostrar adjunto al mensaje */ private static void setMessage(Response response, FacesMessage.Severity type, String param) { try { FacesMessage fm = new FacesMessage(); if (response.getResponseCode().compareTo(Response.RESPONSE_OK) == 0) { fm.setSummary("TRANSACCION FINALIZADA "+param); } else { fm.setSummary(response.getResponseCode() + " " + response.getResponseUserMessage()); FacesContext.getCurrentInstance().validationFailed(); } fm.setDetail(""); fm.setSeverity(type); // con esto saca la imagen en el browser. FacesContext.getCurrentInstance().addMessage(null, fm); } catch (Exception e) { e.printStackTrace(); } } /** * Manejo del mensaje de respuesta cuando en la ejecucion de una transaccion se presenta una excepcion. * * @param ex */ public static void setMessageError(Throwable ex) { try { ExceptionHandler eh = new ExceptionHandler(ex, "es"); FacesMessage fm = new FacesMessage(); fm.setSummary(eh.getUserMessage()); fm.setDetail(eh.getTechnicalMessage()); fm.setSeverity(FacesMessage.SEVERITY_ERROR); FacesContext.getCurrentInstance().addMessage(null, fm); ex.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /** * Manejo de mensaje de error cuando en el core una transaccion no finaliza correctamente. * * @param response Objeto que contiene la respuesta de la ejecucion de una transaccion. */ private static void setMessage(String messagecode, FacesMessage.Severity type, String idComponent) { try { FacesMessage fm = new FacesMessage(); fm.setSummary(messagecode); fm.setDetail(""); fm.setSeverity(type); FacesContext.getCurrentInstance().addMessage(idComponent, fm); } catch (Exception e) { e.printStackTrace(); } } }