Author: craigmcc
Date: Fri Oct 6 21:39:44 2006
New Revision: 453844
URL: http://svn.apache.org/viewvc?view=rev&rev=453844
Log:
Finish implementing the contract of FacesContext.getELContext() by firing
events to interested listeners if we just created a new ELContext.
Modified:
shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockFacesContext12.java
Modified:
shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockFacesContext12.java
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockFacesContext12.java?view=diff&rev=453844&r1=453843&r2=453844
==============================================================================
---
shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockFacesContext12.java
(original)
+++
shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockFacesContext12.java
Fri Oct 6 21:39:44 2006
@@ -17,6 +17,8 @@
package org.apache.shale.test.mock;
import javax.el.ELContext;
+import javax.el.ELContextEvent;
+import javax.el.ELContextListener;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.lifecycle.Lifecycle;
@@ -80,11 +82,21 @@
public ELContext getELContext() {
if (this.elContext == null) {
+
+ // Initialize a new ELContext
this.elContext = new MockELContext();
this.elContext.putContext(FacesContext.class, this);
- // FIXME - Call Application.getELContextListeners() and send event
if needed
- }
+ // Notify interested listeners that this ELContext was created
+ ELContextListener[] listeners =
getApplication().getELContextListeners();
+ if ((listeners != null) && (listeners.length > 0)) {
+ ELContextEvent event = new ELContextEvent(this.elContext);
+ for (int i = 0; i < listeners.length; i++) {
+ listeners[i].contextCreated(event);
+ }
+ }
+
+ }
return this.elContext;
}