package javaone.con3638.pfscaffolding.jsfs.util; import java.util.List; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.component.UISelectItem; import javax.faces.context.FacesContext; public class JsfUtil { public static void addErrorMessage(Exception ex, String defaultMsg) { String msg = ex.getLocalizedMessage(); if (msg != null && msg.length() > 0) { addErrorMessage(msg); } else { addErrorMessage(defaultMsg); } } public static void addErrorMessages(List<String> messages) { for (String message : messages) { addErrorMessage(message); } } public static void addErrorMessage(String msg) { FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg); FacesContext.getCurrentInstance().addMessage(null, facesMsg); FacesContext.getCurrentInstance().validationFailed(); // Invalidate JSF page if we raise an error message } public static void addSuccessMessage(String msg) { FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg); FacesContext.getCurrentInstance().addMessage("successInfo", facesMsg); } public static Throwable getRootCause(Throwable cause) { if (cause != null) { Throwable source = cause.getCause(); if (source != null) { return getRootCause(source); } else { return cause; } } return null; } public static boolean isValidationFailed() { return FacesContext.getCurrentInstance().isValidationFailed(); } public static boolean isDummySelectItem(UIComponent component, String value) { for (UIComponent children : component.getChildren()) { if (children instanceof UISelectItem) { UISelectItem item = (UISelectItem) children; if (item.getItemValue() == null && item.getItemLabel().equals(value)) { return true; } break; } } return false; } }