SWF-856 - When using JSF getMaximumSeverity on the FlowFacesContext returns null even if a message has been added
This commit is contained in:
@@ -93,6 +93,21 @@ public class FlowFacesContext extends FacesContext {
|
||||
return messageDelegate.getClientIdsWithMessages();
|
||||
}
|
||||
|
||||
public ELContext getELContext() {
|
||||
Method delegateMethod = ClassUtils.getMethodIfAvailable(delegate.getClass(), "getELContext", null);
|
||||
if (delegateMethod != null) {
|
||||
try {
|
||||
ELContext context = (ELContext) delegateMethod.invoke(delegate, null);
|
||||
context.putContext(FacesContext.class, this);
|
||||
return context;
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the maximum severity level recorded on any FacesMessages that has been queued, whether or not they are
|
||||
* associated with any specific UIComponent. If no such messages have been queued, return null.
|
||||
@@ -143,19 +158,6 @@ public class FlowFacesContext extends FacesContext {
|
||||
return delegate.getApplication();
|
||||
}
|
||||
|
||||
public ELContext getELContext() {
|
||||
Method delegateMethod = ClassUtils.getMethodIfAvailable(delegate.getClass(), "getELContext", null);
|
||||
if (delegateMethod != null) {
|
||||
try {
|
||||
return (ELContext) delegateMethod.invoke(delegate, null);
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public ExternalContext getExternalContext() {
|
||||
return new FlowExternalContext(delegate.getExternalContext());
|
||||
}
|
||||
|
||||
@@ -176,6 +176,12 @@ public class FlowFacesContextTests extends TestCase {
|
||||
assertEquals(FacesMessage.SEVERITY_FATAL, facesContext.getMaximumSeverity());
|
||||
}
|
||||
|
||||
public final void testGetELContext() {
|
||||
|
||||
assertNotNull(facesContext.getELContext());
|
||||
assertSame(facesContext, facesContext.getELContext().getContext(FacesContext.class));
|
||||
}
|
||||
|
||||
private void setupMessageContext() {
|
||||
prepopulatedMessageContext = new DefaultMessageContext();
|
||||
prepopulatedMessageContext.addMessage(new MessageBuilder().source("null_summary").defaultText("foo").info()
|
||||
|
||||
Reference in New Issue
Block a user