You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2011/01/09 15:40:23 UTC

svn commit: r1056944 - in /openwebbeans/trunk: webbeans-el10/src/main/java/org/apache/webbeans/el10/ webbeans-impl/src/main/java/org/apache/webbeans/el/ webbeans-jsf/src/main/java/org/apache/webbeans/jsf/plugin/ webbeans-jsf12/src/main/java/org/apache/...

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