You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/09/13 23:05:10 UTC

svn commit: r1170349 - in /openejb/trunk/openejb3/assembly/openejb-tomcat: openejb-tomcat-bundle/tomee7/src/main/assembly/ openejb-tomcat-catalina/ openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/

Author: rmannibucau
Date: Tue Sep 13 21:05:10 2011
New Revision: 1170349

URL: http://svn.apache.org/viewvc?rev=1170349&view=rev
Log:
registering the ELResolver used for CDI (OWB) for JSPs

Modified:
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-bundle/tomee7/src/main/assembly/tomee.xml
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/pom.xml
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java

Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-bundle/tomee7/src/main/assembly/tomee.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-bundle/tomee7/src/main/assembly/tomee.xml?rev=1170349&r1=1170348&r2=1170349&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-bundle/tomee7/src/main/assembly/tomee.xml (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-bundle/tomee7/src/main/assembly/tomee.xml Tue Sep 13 21:05:10 2011
@@ -35,7 +35,7 @@
       </includes>
       <excludes>
         <exclude>**/bin/**/*</exclude>
-        <exclude>**/lib/annotations-api.jar</exclude>
+        <exclude>**/lib/tomcat-annotations-api*.jar</exclude>
       </excludes>
     </fileSet>
     <fileSet>

Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/pom.xml?rev=1170349&r1=1170348&r2=1170349&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/pom.xml (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/pom.xml Tue Sep 13 21:05:10 2011
@@ -95,6 +95,7 @@
       <groupId>org.apache.tomcat</groupId>
       <artifactId>tomcat-catalina</artifactId>
       <version>${tomcat.version}</version>
+      <scope>provided</scope>
     </dependency>
   </dependencies>
 </project>

Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java?rev=1170349&r1=1170348&r2=1170349&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java Tue Sep 13 21:05:10 2011
@@ -27,9 +27,6 @@ import org.apache.catalina.core.Standard
 import org.apache.catalina.core.StandardEngine;
 import org.apache.catalina.core.StandardHost;
 import org.apache.catalina.core.StandardServer;
-import org.apache.catalina.deploy.ContextTransaction;
-import org.apache.naming.factory.Constants;
-import org.apache.openejb.tomcat.common.UserTransactionFactory;
 import org.apache.openejb.tomcat.loader.TomcatHelper;
 
 import java.beans.PropertyChangeEvent;

Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java?rev=1170349&r1=1170348&r2=1170349&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java Tue Sep 13 21:05:10 2011
@@ -68,14 +68,18 @@ import org.apache.openejb.util.LogCatego
 import org.apache.openejb.util.Logger;
 import org.apache.tomcat.InstanceManager;
 import org.apache.webbeans.config.WebBeansContext;
+import org.apache.webbeans.spi.adaptor.ELAdaptor;
 import org.omg.CORBA.ORB;
 
 import javax.ejb.spi.HandleDelegate;
+import javax.el.ELResolver;
 import javax.naming.Context;
 import javax.naming.NamingException;
 import javax.persistence.EntityManagerFactory;
 import javax.servlet.ServletContext;
 import javax.servlet.SessionTrackingMode;
+import javax.servlet.jsp.JspApplicationContext;
+import javax.servlet.jsp.JspFactory;
 import javax.transaction.TransactionManager;
 import javax.transaction.TransactionSynchronizationRegistry;
 import java.io.File;
@@ -374,6 +378,8 @@ public class TomcatWebAppBuilder impleme
             standardContext.getNamingResources().setTransaction(contextTransaction);
             startInternal(standardContext);
         }
+
+        // clear a bit log for default case
         addMyFacesDefaultParameters(standardContext.getLoader().getClassLoader(), standardContext.getServletContext());
     }
 
@@ -454,7 +460,7 @@ public class TomcatWebAppBuilder impleme
             }
 
             try {
-                // determind the injections
+                // determine the injections
                 InjectionBuilder injectionBuilder = new InjectionBuilder(standardContext.getLoader().getClassLoader());
                 List<Injection> injections = injectionBuilder.buildInjections(webAppInfo.jndiEnc);
 
@@ -477,6 +483,21 @@ public class TomcatWebAppBuilder impleme
             } catch (Exception e) {
                 logger.error("Error merging OpenEJB JNDI entries in to war " + standardContext.getPath() + ": Exception: " + e.getMessage(), e);
             }
+
+            // CDI
+            if (Thread.currentThread().getContextClassLoader().getResource("WEB-INF/beans.xml") != null) {
+                WebBeansContext context = appContext.getWebBeansContext();
+                if (context != null) {
+                    // Registering ELResolver with JSP container
+                    ELAdaptor elAdaptor = context.getService(ELAdaptor.class);
+                    ELResolver resolver = elAdaptor.getOwbELResolver();
+                    JspFactory factory = JspFactory.getDefaultFactory();
+                    if (factory != null)  {
+                        JspApplicationContext applicationCtx = factory.getJspApplicationContext(standardContext.getServletContext());
+                        applicationCtx.addELResolver(resolver);
+                    }
+                }
+            }
         }
     }