Author: dblevins
Date: Wed Aug 24 08:56:50 2011
New Revision: 1161019

URL: http://svn.apache.org/viewvc?rev=1161019&view=rev
Log:
OPENEJB-1647: Injection support for Filters and load-on-startup Servlets

Modified:
    
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/ContextListener.java
    
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/TomcatLoader.java
    
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWebAppBuilder.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Modified: 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/ContextListener.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/ContextListener.java?rev=1161019&r1=1161018&r2=1161019&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/ContextListener.java
 (original)
+++ 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/ContextListener.java
 Wed Aug 24 08:56:50 2011
@@ -97,4 +97,6 @@ public interface ContextListener {
      * @param standardHost host
      */
     void checkHost(StandardHost standardHost);
+
+    void configureStart(StandardContext standardContext);
 }

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=1161019&r1=1161018&r2=1161019&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
 Wed Aug 24 08:56:50 2011
@@ -117,13 +117,7 @@ public class GlobalListenerSupport imple
             } else if (DESTROY_EVENT.equals(type) || 
Lifecycle.AFTER_DESTROY_EVENT.equals(type)) {
                 contextListener.destroy(standardContext);
             } else if (Lifecycle.CONFIGURE_START_EVENT.equals(type)) {
-               if (TomcatHelper.isTomcat7()) {
-                       TomcatHelper.configureJarScanner(standardContext);
-                       
-                       ContextTransaction contextTransaction = new 
ContextTransaction();
-                    contextTransaction.setProperty(Constants.FACTORY, 
UserTransactionFactory.class.getName());
-                    
standardContext.getNamingResources().setTransaction(contextTransaction);
-               }
+                contextListener.configureStart(standardContext);
             }
         } else if (source instanceof StandardHost) {
             StandardHost standardHost = (StandardHost) source;

Modified: 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatLoader.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatLoader.java?rev=1161019&r1=1161018&r2=1161019&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatLoader.java
 (original)
+++ 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatLoader.java
 Wed Aug 24 08:56:50 2011
@@ -113,11 +113,11 @@ public class TomcatLoader implements Loa
     public void init(Properties properties) throws Exception {
 
         // Enable System EJBs like the MEJB and DeployerEJB
-        properties.setProperty("openejb.deployments.classpath", "true");
-        
properties.setProperty("openejb.deployments.classpath.filter.systemapps", 
"false");
+        setIfNull(properties, "openejb.deployments.classpath", "true");
+        setIfNull(properties, 
"openejb.deployments.classpath.filter.systemapps", "false");
 
         //Sets default service provider
-        System.setProperty("openejb.provider.default", "org.apache.openejb." + 
platform);
+        setIfNull(properties, "openejb.provider.default", 
"org.apache.openejb." + platform);
 
         // Loader maybe the first thing executed in a new classloader
         // so we must attempt to initialize the system instance.
@@ -258,6 +258,10 @@ public class TomcatLoader implements Loa
         });
     }
 
+    private void setIfNull(Properties properties, String key, String value) {
+        if (!properties.containsKey(key)) properties.setProperty(key, value);
+    }
+
     /**
      * Destroy system.
      */

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=1161019&r1=1161018&r2=1161019&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
 Wed Aug 24 08:56:50 2011
@@ -21,17 +21,14 @@ import org.apache.catalina.Engine;
 import org.apache.catalina.LifecycleListener;
 import org.apache.catalina.Service;
 import org.apache.catalina.Wrapper;
-import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
 import org.apache.catalina.core.*;
 import org.apache.catalina.deploy.ContextEnvironment;
 import org.apache.catalina.deploy.ContextResource;
 import org.apache.catalina.deploy.ContextResourceLink;
+import org.apache.catalina.deploy.ContextTransaction;
 import org.apache.catalina.deploy.NamingResources;
-import org.apache.catalina.mbeans.MBeanUtils;
 import org.apache.catalina.startup.ContextConfig;
 import org.apache.catalina.startup.HostConfig;
-import org.apache.catalina.valves.ValveBase;
 import org.apache.naming.ContextAccessController;
 import org.apache.naming.ContextBindings;
 import org.apache.openejb.AppContext;
@@ -58,40 +55,20 @@ import org.apache.openejb.server.rest.RE
 import org.apache.openejb.server.webservices.WsService;
 import org.apache.openejb.tomcat.common.LegacyAnnotationProcessor;
 import org.apache.openejb.tomcat.common.TomcatVersion;
+import org.apache.openejb.tomcat.common.UserTransactionFactory;
 import org.apache.openejb.tomcat.loader.TomcatHelper;
+import org.apache.openejb.util.Debug;
 import org.apache.openejb.util.LinkResolver;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
-import org.apache.webbeans.component.InjectionPointBean;
-import org.apache.webbeans.config.OWBLogConst;
 import org.apache.webbeans.config.WebBeansContext;
-import org.apache.webbeans.conversation.ConversationManager;
-import org.apache.webbeans.el.ELContextStore;
-import org.apache.webbeans.logger.WebBeansLogger;
-import org.apache.webbeans.spi.ContainerLifecycle;
-import org.apache.webbeans.spi.ContextsService;
-import org.apache.webbeans.spi.FailOverService;
-import org.apache.webbeans.util.WebBeansUtil;
-import org.apache.webbeans.web.context.WebContextsService;
 import org.omg.CORBA.ORB;
 
 import javax.ejb.spi.HandleDelegate;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.SessionScoped;
 import javax.naming.Context;
 import javax.naming.NamingException;
 import javax.persistence.EntityManagerFactory;
 import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequestEvent;
-import javax.servlet.ServletRequestListener;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionActivationListener;
-import javax.servlet.http.HttpSessionEvent;
-import javax.servlet.http.HttpSessionListener;
 import javax.transaction.TransactionManager;
 import javax.transaction.TransactionSynchronizationRegistry;
 import java.io.File;
@@ -313,6 +290,18 @@ public class TomcatWebAppBuilder impleme
     public void beforeStart(StandardContext standardContext) {
     }
 
+    @Override
+    public void configureStart(StandardContext standardContext) {
+        if (TomcatHelper.isTomcat7()) {
+            TomcatHelper.configureJarScanner(standardContext);
+
+            ContextTransaction contextTransaction = new ContextTransaction();
+            
contextTransaction.setProperty(org.apache.naming.factory.Constants.FACTORY, 
UserTransactionFactory.class.getName());
+            
standardContext.getNamingResources().setTransaction(contextTransaction);
+            startInternal(standardContext);
+        }
+    }
+
     /**
      * {@inheritDoc}
      */
@@ -320,6 +309,16 @@ public class TomcatWebAppBuilder impleme
     @SuppressWarnings("unchecked")
     @Override
     public void start(StandardContext standardContext) {
+        if (!TomcatHelper.isTomcat7()) {
+            startInternal(standardContext);
+        }
+    }
+    /**
+     * {@inheritDoc}
+     */
+//    @Override
+    private void startInternal(StandardContext standardContext) {
+        System.out.println("TomcatWebAppBuilder.start");
         if (isIgnored(standardContext)) return;
         
         CoreContainerSystem cs = getContainerSystem();

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1161019&r1=1161018&r2=1161019&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 Wed Aug 24 08:56:50 2011
@@ -1766,7 +1766,7 @@ public class AnnotationDeployer implemen
                         "javax.faces.bean.ManagedBean",
                         "javax.servlet.annotation.WebServlet",
                         "javax.servlet.annotation.WebServletContextListener",
-                        "javax.servlet.annotation.ServletFilter",
+                        "javax.servlet.annotation.WebFilter",
                 };
 
                 List<Class<? extends Annotation>> annotations = new 
ArrayList<Class<? extends Annotation>>();


Reply via email to