package org.jboss.portletbridge.it.component.h.message; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.ValidatorException; import java.io.Serializable; @ManagedBean(name = "msgsBean") @SessionScoped public class MessagesBean implements Serializable { private String textOne = ""; private String textTwo = ""; // Message One Control (Defaults) private boolean renderOne = true; private boolean showDetailOne = true; private boolean showSummaryOne = false; // Messages Control (Defaults) private boolean renderMessages = true; private boolean showDetailMessages = false; private boolean showSummaryMessages = true; private boolean globalOnlyMessages = false; public static final String ONE = "One"; public static final String TWO = "Two"; public static final String GLOBAL = "Global"; public static final String ONE_ERROR_SUMMARY = "BAD ONE"; public static final String ONE_ERROR_DETAIL = "One can be any value but " + TWO; public static final String TWO_ERROR_SUMMARY = "BAD TWO"; public static final String TWO_ERROR_DETAIL = "Two can be any value but " + ONE; public static final String ONE_OK_SUMMARY = "GOOD ONE"; public static final String ONE_OK_DETAIL = "One is One"; public static final String TWO_OK_SUMMARY = "GOOD TWO"; public static final String TWO_OK_DETAIL = "Two is Two"; public static final String GLOBAL_SUMMARY = "Hello, Global World!"; public static final String GLOBAL_DETAIL = "Global Detail"; public String getTextOne() { return textOne; } public void setTextOne(String textOne) { this.textOne = textOne; } public String getTextTwo() { return textTwo; } public void setTextTwo(String textTwo) { this.textTwo = textTwo; } // Message Control Getters public boolean getRenderOne() { return renderOne; } public void setRenderOne(boolean renderOne) { this.renderOne = renderOne; } public boolean getShowDetailOne() { return showDetailOne; } public void setShowDetailOne(boolean showDetailOne) { this.showDetailOne = showDetailOne; } public boolean getShowSummaryOne() { return showSummaryOne; } public void setShowSummaryOne(boolean showSummaryOne) { this.showSummaryOne = showSummaryOne; } // Messages Control Getters public boolean getRenderMessages() { return renderMessages; } public void setRenderMessages(boolean renderMessages) { this.renderMessages = renderMessages; } public boolean getShowDetailMessages() { return showDetailMessages; } public void setShowDetailMessages(boolean showDetailMessages) { this.showDetailMessages = showDetailMessages; } public boolean getShowSummaryMessages() { return showSummaryMessages; } public void setShowSummaryMessages(boolean showSummaryMessages) { this.showSummaryMessages = showSummaryMessages; } public boolean getGlobalOnlyMessages() { return globalOnlyMessages; } public void setGlobalOnlyMessages(boolean globalOnlyMessages) { this.globalOnlyMessages = globalOnlyMessages; } public void validateOne(FacesContext context, UIComponent input, Object newValue) throws ValidatorException { if (TWO.equals(newValue)) { FacesMessage msg = new FacesMessage(ONE_ERROR_SUMMARY, ONE_ERROR_DETAIL); throw new ValidatorException(msg); } else if (ONE.equals(newValue)) { FacesMessage msg = new FacesMessage(ONE_OK_SUMMARY, ONE_OK_DETAIL); context.addMessage(input.getClientId(context), msg); } if (GLOBAL.equals(newValue)) { FacesMessage msg = new FacesMessage(GLOBAL_SUMMARY, GLOBAL_DETAIL); context.addMessage(null, msg); } } public void validateTwo(FacesContext context, UIComponent input, Object newValue) throws ValidatorException { if (ONE.equals(newValue)) { FacesMessage msg = new FacesMessage(TWO_ERROR_SUMMARY, TWO_ERROR_DETAIL); throw new ValidatorException(msg); } else if (TWO.equals(newValue)) { FacesMessage msg = new FacesMessage(TWO_OK_SUMMARY, TWO_OK_DETAIL); context.addMessage(input.getClientId(context), msg); } if (GLOBAL.equals(newValue)) { FacesMessage msg = new FacesMessage(GLOBAL_SUMMARY, GLOBAL_DETAIL); context.addMessage(null, msg); } } }