You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shale.apache.org by cr...@apache.org on 2006/10/07 06:39:45 UTC

svn commit: r453844 - /shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockFacesContext12.java

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;
 
     }