Author: gerdogdu
Date: Sun Jan  9 14:40:22 2011
New Revision: 1056944

URL: http://svn.apache.org/viewvc?rev=1056944&view=rev
Log:
[OWB-514] Leak in ELContextStore, update for JSP based applications

Modified:
    
openwebbeans/trunk/webbeans-el10/src/main/java/org/apache/webbeans/el10/EL10Resolver.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/WebBeansELResolver.java
    
openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/plugin/OpenWebBeansJsfPlugin.java
    
openwebbeans/trunk/webbeans-jsf12/src/main/java/org/apache/webbeans/jsf12/plugin/OpenWebBeansJsfPlugin.java

Modified: 
openwebbeans/trunk/webbeans-el10/src/main/java/org/apache/webbeans/el10/EL10Resolver.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-el10/src/main/java/org/apache/webbeans/el10/EL10Resolver.java?rev=1056944&r1=1056943&r2=1056944&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-el10/src/main/java/org/apache/webbeans/el10/EL10Resolver.java
 (original)
+++ 
openwebbeans/trunk/webbeans-el10/src/main/java/org/apache/webbeans/el10/EL10Resolver.java
 Sun Jan  9 14:40:22 2011
@@ -70,11 +70,14 @@ public class EL10Resolver extends ELReso
         AbstractOwbJsfPlugin jsfPlugin = 
WebBeansContext.getInstance().getPluginLoader().getJsfPlugin();
         
         //No JSF plugin, sure that not OWB  
-        if(jsfPlugin == null)
+        if(jsfPlugin == null && 
!(WebBeansContext.getInstance().getOpenWebBeansConfiguration().isJspApplication()))
         {
             return null;
         }        
-        else
+
+        //If PluginLoader is called by application explicitly
+        //But not OWB application
+        else if(jsfPlugin != null)
         {
             if(!jsfPlugin.isOwbApplication())
             {

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/WebBeansELResolver.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/WebBeansELResolver.java?rev=1056944&r1=1056943&r2=1056944&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/WebBeansELResolver.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/WebBeansELResolver.java
 Sun Jan  9 14:40:22 2011
@@ -100,13 +100,14 @@ public class WebBeansELResolver extends 
         AbstractOwbJsfPlugin jsfPlugin = 
WebBeansContext.getInstance().getPluginLoader().getJsfPlugin();
         
         //No JSF plugin, sure that not OWB  
-        if(jsfPlugin == null)
+        if(jsfPlugin == null && 
!(WebBeansContext.getInstance().getOpenWebBeansConfiguration().isJspApplication()))
         {
             return null;
         }        
+
         //If PluginLoader is called by application explicitly
         //But not OWB application
-        else
+        else if(jsfPlugin != null)
         {
             if(!jsfPlugin.isOwbApplication())
             {

Modified: 
openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/plugin/OpenWebBeansJsfPlugin.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/plugin/OpenWebBeansJsfPlugin.java?rev=1056944&r1=1056943&r2=1056944&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/plugin/OpenWebBeansJsfPlugin.java
 (original)
+++ 
openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/plugin/OpenWebBeansJsfPlugin.java
 Sun Jan  9 14:40:22 2011
@@ -46,9 +46,13 @@ public class OpenWebBeansJsfPlugin exten
         FacesContext facesContext = FacesContext.getCurrentInstance();
         if(facesContext == null)
         {
-            throw new IllegalStateException("FacesContext is null");
+            //This application is not JSF, probably JSP based OWB application
+            //WebBeansELResolver for JSP has been registered on booting
+            //phase of OWB
+            return true;
         }
         
+        //If this application is JSF, check that OWB has booted
         ExternalContext ext = facesContext.getExternalContext();
         ServletContext servletContext = (ServletContext) ext.getContext();
         Object attribute = 
servletContext.getAttribute(OpenWebBeansConfiguration.PROPERTY_OWB_APPLICATION);

Modified: 
openwebbeans/trunk/webbeans-jsf12/src/main/java/org/apache/webbeans/jsf12/plugin/OpenWebBeansJsfPlugin.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jsf12/src/main/java/org/apache/webbeans/jsf12/plugin/OpenWebBeansJsfPlugin.java?rev=1056944&r1=1056943&r2=1056944&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-jsf12/src/main/java/org/apache/webbeans/jsf12/plugin/OpenWebBeansJsfPlugin.java
 (original)
+++ 
openwebbeans/trunk/webbeans-jsf12/src/main/java/org/apache/webbeans/jsf12/plugin/OpenWebBeansJsfPlugin.java
 Sun Jan  9 14:40:22 2011
@@ -47,9 +47,13 @@ public class OpenWebBeansJsfPlugin exten
         FacesContext facesContext = FacesContext.getCurrentInstance();
         if(facesContext == null)
         {
-            throw new IllegalStateException("FacesContext is null");
+            //This application is not JSF, probably JSP based OWB application
+            //WebBeansELResolver for JSP has been registered on booting
+            //phase of OWB
+            return true;
         }
         
+        //If this application is JSF, check that OWB has booted
         ExternalContext ext = facesContext.getExternalContext();
         ServletContext servletContext = (ServletContext) ext.getContext();
         Object attribute = 
servletContext.getAttribute(OpenWebBeansConfiguration.PROPERTY_OWB_APPLICATION);


Reply via email to