if (!JsfUtils.isFlowRequest()) {
delegate.processAction(actionEvent);
return;
}
FacesContext context = FacesContext.getCurrentInstance();
ActionSource source = (ActionSource) actionEvent.getSource();
String eventId = null;
if (source.getAction() != null) {
if (logger.isDebugEnabled()) {
logger.debug("Invoking action " + source.getAction());
}
eventId = (String) source.getAction().invoke(context, null);
}
if (StringUtils.hasText(eventId)) {
if (logger.isDebugEnabled()) {
logger.debug("Event '" + eventId + "' detected");
}
if (source.isImmediate() || validateModel(context, eventId)) {
context.getExternalContext().getRequestMap().put(JsfView.EVENT_KEY, eventId);
}
} else {
logger.debug("No action event detected");
context.getExternalContext().getRequestMap().remove(JsfView.EVENT_KEY);