@ManagedBean
@RequestScoped
public class SelectManyBackingBean {
private static final Logger logger = LoggerFactory.getLogger(SelectManyBackingBean.class);
@ManagedProperty(name = "selectManyModelBean", value = "#{selectManyModelBean}")
private SelectManyModelBean selectManyModelBean;
public void setSelectManyModelBean(SelectManyModelBean selectManyModelBean) {
this.selectManyModelBean = selectManyModelBean;
}
public void submit() {
PhaseId phaseId = FacesContext.getCurrentInstance().getCurrentPhaseId();
logger.info("submit: phaseId=[{0}] favoriteId=[{1}]", phaseId.toString(), selectManyModelBean.getFavoriteIds());
}
public void submitAnswer() {
List<Date> selectedDates = selectManyModelBean.getDates();
TimeZone gmtTimeZone = TimeZone.getTimeZone("GMT");
boolean correct = (selectedDates.size() > 0);
for (Date selectedDate : selectedDates) {
Calendar calendar = new GregorianCalendar(gmtTimeZone);
calendar.setTime(selectedDate);
int selectedYear = calendar.get(Calendar.YEAR);
if ((selectedYear <= 1700) || (selectedYear > 1800)) {
correct = false;
break;
}
}
FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage;
if (correct) {
facesMessage = new FacesMessage("Correct!");
facesMessage.setSeverity(FacesMessage.SEVERITY_INFO);
}
else {
facesMessage = new FacesMessage("Incorrect!");
facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
}
facesContext.addMessage(null, facesMessage);
}
public void valueChangeListener(ValueChangeEvent valueChangeEvent) {
FacesContext facesContext = FacesContext.getCurrentInstance();
PhaseId phaseId = facesContext.getCurrentPhaseId();
logger.debug("valueChangeListener: phaseId=[{0}]", phaseId.toString());
String phaseName = phaseId.toString();
FacesMessage facesMessage = new FacesMessage("The valueChangeListener method was called during the " +
phaseName + " phase of the JSF lifecycle.");
facesContext.addMessage(null, facesMessage);
}
}