You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2011/01/03 01:24:03 UTC

svn commit: r1054505 - in /openejb/trunk/openejb3/assembly: itest-runner/pom.xml itest-runner/src/test/groovy/commands/SetupCommand.groovy openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java

Author: jgallimore
Date: Mon Jan  3 00:24:03 2011
New Revision: 1054505

URL: http://svn.apache.org/viewvc?rev=1054505&view=rev
Log:
OPENEJB-1403 fixing EJB injection itests

Modified:
    openejb/trunk/openejb3/assembly/itest-runner/pom.xml
    openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java

Modified: openejb/trunk/openejb3/assembly/itest-runner/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/itest-runner/pom.xml?rev=1054505&r1=1054504&r2=1054505&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/itest-runner/pom.xml (original)
+++ openejb/trunk/openejb3/assembly/itest-runner/pom.xml Mon Jan  3 00:24:03 2011
@@ -34,7 +34,7 @@
           </execution>
         </executions>
       </plugin>
-      <plugin>
+      <!-- <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
         <executions>
@@ -57,7 +57,7 @@
             </configuration>
           </execution>
         </executions>
-      </plugin>
+      </plugin>-->
     </plugins>
     <pluginManagement>
       <plugins>
@@ -120,6 +120,13 @@
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-tomcat-common</artifactId>
+      <version>${version}</version>
+      <type>jar</type>
+      <scope>compile</scope>
+    </dependency>
   </dependencies>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

Modified: openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy?rev=1054505&r1=1054504&r2=1054505&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy (original)
+++ openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy Mon Jan  3 00:24:03 2011
@@ -23,6 +23,8 @@ import org.apache.commons.lang.SystemUti
 import org.apache.openejb.webapp.common.Installers
 import org.apache.openejb.webapp.common.Alerts
 import java.io.File
+import org.apache.openejb.tomcat.installer.Installer;
+import org.apache.openejb.tomcat.installer.Paths;
 
 class SetupCommand
 {
@@ -84,8 +86,13 @@ class SetupCommand
 	    return (os.indexOf("win") >= 0)
 	}
 	
-    def execute() {
-		def tomcatVersion = require('tomcat.version')
+	def execute() {
+		//execute("6.0.29")
+		//execute("testonly")
+        execute("7.0.4")
+	}
+	
+    def execute(tomcatVersion) {
 		def localRepo = require('localRepository')
 		def openejbHome = require('openejb.home')
 		def extension = ".sh"
@@ -102,38 +109,72 @@ class SetupCommand
 			return
 		}
 		
-		ant.echo("Removing ejb-example application from exploded bundle")
-		ant.delete(dir: "${project.build.directory}/apache-tomcat-${tomcatVersion}/webapps/ejb-examples")
-
-		ant.echo("Assigning execute privileges to scripts in Tomcat bin directory")
-		ant.chmod(dir: "${project.build.directory}/apache-tomcat-${tomcatVersion}/bin", perm: "u+x", includes: "**/*.sh")
-		
-		ant.echo("Deploying the itests war")
-		ant.unzip(src: "${localRepo}/org/apache/openejb/openejb-itests-web/${project.version}/openejb-itests-web-${project.version}.war",
-					dest: "${project.build.directory}/apache-tomcat-${tomcatVersion}/webapps/itests")
-		
-		def alerts = new Alerts()
-		def file = new File("${project.build.directory}/apache-tomcat-${tomcatVersion}/conf/server.xml")
-		def fileContent = Installers.readAll(file, alerts)
-		fileContent = fileContent.replaceAll("Server port=\"8005\"", "Server port=\"" + stopPort + "\"");
-		fileContent = fileContent.replaceAll("Connector port=\"8080\"", "Connector port=\"" + httpPort + "\"");
-		fileContent = fileContent.replaceAll("Connector port=\"8009\"", "Connector port=\"" + ajpPort + "\"");
-		Installers.writeAll(file, fileContent, alerts)
-		
-		ant.echo("Starting Tomcat...")
-		ant.exec(executable: "${project.build.directory}/apache-tomcat-${tomcatVersion}/bin/startup${extension}") {
-			//arg(line: "jpda start")
-		}
-		
-		ant.waitfor(maxwait: 1, maxwaitunit: "minute") {
-			ant.and() {
-				ant.socket(server: "localhost", port: httpPort)
-				ant.socket(server: "localhost", port: stopPort)
-				ant.socket(server: "localhost", port: ajpPort)
-			}
-		}
-		
-		ant.echo("Tomcat started. Running itests...")
+		def source = ""
+                if (tomcatVersion != "testonly") {
+                    if (tomcatVersion =~ /^7\./) {
+                            source = "http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcatVersion}-beta/bin/apache-tomcat-${tomcatVersion}.zip"
+                    }
+
+                    if (tomcatVersion =~ /^6\./) {
+                            source = "http://archive.apache.org/dist/tomcat/tomcat-6/v${tomcatVersion}/bin/apache-tomcat-${tomcatVersion}.zip"
+                    }
+
+                    if (tomcatVersion =~ /^5\.5/) {
+                            source = "http://archive.apache.org/dist/tomcat/tomcat-5/v${tomcatVersion}/bin/apache-tomcat-${tomcatVersion}.zip"
+                    }
+
+                    def dest = "${project.build.directory}/apache-tomcat-${tomcatVersion}.zip"
+                    ant.get(src: source, dest: dest)
+
+                    ant.unzip(src: dest, dest: "${project.build.directory}")
+
+                    ant.echo("Deploying the openejb war")
+                    ant.unzip(src: "${localRepo}/org/apache/openejb/openejb-tomcat-webapp/${project.version}/openejb-tomcat-webapp-${project.version}.war",
+                                            dest: "${project.build.directory}/apache-tomcat-${tomcatVersion}/webapps/openejb")
+
+
+                    def catalinaHome = "${project.build.directory}/apache-tomcat-${tomcatVersion}"
+                    ant.echo("Installing to: ${catalinaHome}")
+
+                    System.setProperty("catalina.home", "${catalinaHome}")
+                    System.setProperty("catalina.base", "${catalinaHome}")
+                    Paths paths = new Paths(new File("${catalinaHome}/webapps/openejb"))
+                    Installer installer = new Installer(paths, true)
+                    installer.installAll()
+
+                    ant.echo("Assigning execute privileges to scripts in Tomcat bin directory")
+                    ant.chmod(dir: "${project.build.directory}/apache-tomcat-${tomcatVersion}/bin", perm: "u+x", includes: "**/*.sh")
+
+                    ant.echo("Deploying the itests war")
+                    ant.unzip(src: "${localRepo}/org/apache/openejb/openejb-itests-web/${project.version}/openejb-itests-web-${project.version}.war",
+                                            dest: "${project.build.directory}/apache-tomcat-${tomcatVersion}/webapps/itests")
+
+                    def alerts = new Alerts()
+                    def file = new File("${project.build.directory}/apache-tomcat-${tomcatVersion}/conf/server.xml")
+                    def fileContent = Installers.readAll(file, alerts)
+                    fileContent = fileContent.replaceAll("Server port=\"8005\"", "Server port=\"" + stopPort + "\"");
+                    fileContent = fileContent.replaceAll("Connector port=\"8080\"", "Connector port=\"" + httpPort + "\"");
+                    fileContent = fileContent.replaceAll("Connector port=\"8009\"", "Connector port=\"" + ajpPort + "\"");
+                    Installers.writeAll(file, fileContent, alerts)
+
+                    ant.echo("Starting Tomcat...")
+                    ant.exec(executable: "${project.build.directory}/apache-tomcat-${tomcatVersion}/bin/startup${extension}") {
+                        //env(key: "JPDA_SUSPEND", value: "y")
+                        //arg(line: "jpda start")
+                        arg(line: "start")
+                    }
+
+                    ant.waitfor(maxwait: 1, maxwaitunit: "minute") {
+                            ant.and() {
+                                    ant.socket(server: "localhost", port: httpPort)
+                                    ant.socket(server: "localhost", port: stopPort)
+                                    ant.socket(server: "localhost", port: ajpPort)
+                            }
+                    }
+
+                    ant.echo("Tomcat started. Running itests...")
+                }
+                
 		ant.java(jar: "${localRepo}/org/apache/openejb/openejb-itests-standalone-client/${project.version}/openejb-itests-standalone-client-${project.version}.jar", fork: "yes") {
 			sysproperty(key: "openejb.home", value: "${openejbHome}")
 			sysproperty(key: "openejb.server.uri", value: "http://127.0.0.1:" + httpPort + "/openejb/ejb")

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=1054505&r1=1054504&r2=1054505&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 Mon Jan  3 00:24:03 2011
@@ -71,16 +71,26 @@ public class GlobalListenerSupport imple
     public void lifecycleEvent(LifecycleEvent event) {
         Object source = event.getSource();
         if (source instanceof StandardContext) {
+        	String tomcatVersion = System.getProperty("tomcat.version");
             StandardContext standardContext = (StandardContext) source;
             String type = event.getType();
+            
             if (Lifecycle.INIT_EVENT.equals(type)) {
-                contextListener.init(standardContext);
+            	contextListener.init(standardContext);
             } else if (Lifecycle.BEFORE_START_EVENT.equals(type)) {
                 contextListener.beforeStart(standardContext);
             } else if (Lifecycle.START_EVENT.equals(type)) {
+            	if (tomcatVersion.startsWith("7.")) {
+            		standardContext.addParameter("openejb.start.late", "true");
+            	}
+            	
                 contextListener.start(standardContext);
             } else if (Lifecycle.AFTER_START_EVENT.equals(type)) {
                 contextListener.afterStart(standardContext);
+                
+                if (tomcatVersion.startsWith("7.")) {
+            		standardContext.removeParameter("openejb.start.late");
+            	}
             } else if (Lifecycle.BEFORE_STOP_EVENT.equals(type)) {
                 contextListener.beforeStop(standardContext);
             } else if (Lifecycle.STOP_EVENT.equals(type)) {