if (!JsfUtils.isFlowRequest()) {
this.delegate.processAction(actionEvent);
return;
}
FacesContext context = FacesContext.getCurrentInstance();
ActionSource2 source = (ActionSource2) actionEvent.getSource();
String eventId = null;
if (source.getActionExpression() != null) {
if (logger.isDebugEnabled()) {
logger.debug("Invoking action " + source.getActionExpression());
}
eventId = (String) source.getActionExpression().invoke(context.getELContext(), 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);