Author: jlmonteiro
Date: Tue Apr 19 14:12:52 2011
New Revision: 1095095

URL: http://svn.apache.org/viewvc?rev=1095095&view=rev
Log:
Fix ZipException for TLD scanning and for commons-logging-api.jar which does 
not exist anymore.

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1095095&r1=1095094&r2=1095095&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 Tue Apr 19 14:12:52 2011
@@ -750,13 +750,7 @@ public class DeploymentLoader implements
                     }
                     try {
                         File file = new File(warFile, 
location).getCanonicalFile().getAbsoluteFile();
-                        if (location.endsWith(".jar")) {
-                            URL url = file.toURI().toURL();
-                            tldLocations.add(url);
-                        } else {
-                            Set<URL> urls = scanJarForTagLibs(file);
-                            tldLocations.addAll(urls);
-                        }
+                        tldLocations.addAll(scanForTagLibs(file));
                     } catch (IOException e) {
                         logger.warning("JSP tag library location bad: " + 
location, e);
                     }
@@ -900,7 +894,7 @@ public class DeploymentLoader implements
                 continue;
             }
 
-            urls.addAll(scanJarForTagLibs(file));
+            urls.addAll(scanForTagLibs(file));
         }
         return urls;
     }
@@ -941,6 +935,26 @@ public class DeploymentLoader implements
         return urls;
     }
 
+    private static Set<URL> scanForTagLibs(File file) {
+        Set<URL> tldLocations = new HashSet<URL>();
+        String location = null;
+        try {
+            location = file.toURI().toURL().toExternalForm();
+
+            if (location.endsWith(".jar")) {
+                Set<URL> urls = scanJarForTagLibs(file);
+                tldLocations.addAll(urls);
+            } else if (file.getName().endsWith(".tld")) {
+                URL url = file.toURI().toURL();
+                tldLocations.add(url);
+            }
+        } catch (IOException e) {
+            logger.warning("Error scanning for JSP tag libraries: " + 
file.getAbsolutePath(), e);
+        }
+
+        return tldLocations;
+    }
+
     private static Set<URL> scanJarForTagLibs(File file) {
         Set<URL> urls = new HashSet<URL>();
 

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java?rev=1095095&r1=1095094&r2=1095095&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
 Tue Apr 19 14:12:52 2011
@@ -22,6 +22,8 @@ import org.apache.openejb.util.Pipe;
 import java.io.File;
 import java.io.OutputStream;
 import java.net.Socket;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Properties;
 
 /**
@@ -64,7 +66,7 @@ public class RemoteServer {
     }
 
     public static void main(String[] args) {
-        assert args.length > 0 : "no arguments supplied: valid arguments are 
'start' or 'stop'";
+        assert args.length > 0 : "no arguments supplied: valid argumen -efts 
are 'start' or 'stop'";
         if (args[0].equalsIgnoreCase("start")){
             new RemoteServer().start();
         } else if (args[0].equalsIgnoreCase("stop")) {
@@ -159,55 +161,43 @@ public class RemoteServer {
                     File endorsed = new File(home, "endorsed");
                     File temp = new File(home, "temp");
 
-                    if (DEBUG) {
-                        args = new String[] { "java",
-                                "-XX:+HeapDumpOnOutOfMemoryError",
-                                "-Xdebug",
-                                "-Xnoagent",
-                                "-Djava.compiler=NONE",
-                                
"-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005",
-
-                                "-javaagent:" + javaagentJar.getAbsolutePath(),
+                    List<String> argsList = new ArrayList<String>() {};
+                    argsList.add("java");
+                    argsList.add("-XX:+HeapDumpOnOutOfMemoryError");
 
-                                "-Dcom.sun.management.jmxremote",
-
-                                
"-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager",
-                                "-Djava.util.logging.config.file=" + 
loggingProperties.getAbsolutePath(),
+                    if (DEBUG) {
+                        argsList.add("-Xdebug");
+                        argsList.add("-Xnoagent");
+                        argsList.add("-Djava.compiler=NONE");
+                        
argsList.add("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005");
+                    }
 
-                                "-Djava.io.tmpdir=" + temp.getAbsolutePath(),
-                                "-Djava.endorsed.dirs=" + 
endorsed.getAbsolutePath(),
-                                "-Dcatalina.base=" + home.getAbsolutePath(),
-                                "-Dcatalina.home=" + home.getAbsolutePath(),
-                                "-Dcatalina.ext.dirs=" + 
tlib.getAbsolutePath(),
-                                "-Dopenejb.servicemanager.enabled=" + 
Boolean.getBoolean("openejb.servicemanager.enabled"),
+                    argsList.add("-javaagent:" + 
javaagentJar.getAbsolutePath());
+                    argsList.add("-Dcom.sun.management.jmxremote");
+                    
argsList.add("-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager");
+                    argsList.add("-Djava.util.logging.config.file=" + 
loggingProperties.getAbsolutePath());
+                    argsList.add("-Djava.io.tmpdir=" + temp.getAbsolutePath());
+                    argsList.add("-Djava.endorsed.dirs=" + 
endorsed.getAbsolutePath());
+                    argsList.add("-Dcatalina.base=" + home.getAbsolutePath());
+                    argsList.add("-Dcatalina.home=" + home.getAbsolutePath());
+                    argsList.add("-Dcatalina.ext.dirs=" + 
tlib.getAbsolutePath());
+                    argsList.add("-Dopenejb.servicemanager.enabled=" + 
Boolean.getBoolean("openejb.servicemanager.enabled"));
+                    argsList.add("-classpath");
 
-                                "-classpath", bootstrapJar.getAbsolutePath() + 
":" + juliJar.getAbsolutePath() + ":"+ commonsLoggingJar.getAbsolutePath(),
+                    if (commonsLoggingJar.exists()) {
+                        argsList.add(bootstrapJar.getAbsolutePath() + ":" + 
juliJar.getAbsolutePath() + ":" + commonsLoggingJar.getAbsolutePath());
 
-                                "org.apache.catalina.startup.Bootstrap", 
"start"
-                        };
                     } else {
-                        args = new String[] { "java",
-                                "-XX:+HeapDumpOnOutOfMemoryError",
-                                "-javaagent:" + javaagentJar.getAbsolutePath(),
-
-                                "-Dcom.sun.management.jmxremote",
+                        argsList.add(bootstrapJar.getAbsolutePath() + ":" + 
juliJar.getAbsolutePath());
+                    }
 
-                                
"-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager",
-                                "-Djava.util.logging.config.file=" + 
loggingProperties.getAbsolutePath(),
+                    argsList.add("org.apache.catalina.startup.Bootstrap");
+                    argsList.add("start");
 
-                                "-Djava.io.tmpdir=" + temp.getAbsolutePath(),
-                                "-Djava.endorsed.dirs=" + 
endorsed.getAbsolutePath(),
-                                "-Dcatalina.base=" + home.getAbsolutePath(),
-                                "-Dcatalina.home=" + home.getAbsolutePath(),
-                                "-Dcatalina.ext.dirs=" + 
tlib.getAbsolutePath(),
-                                "-Dopenejb.servicemanager.enabled=" + 
Boolean.getBoolean("openejb.servicemanager.enabled"),
+                    args = argsList.toArray(new String[argsList.size()]);
+                }
 
-                                "-classpath", bootstrapJar.getAbsolutePath() + 
":" + juliJar.getAbsolutePath() + ":" + commonsLoggingJar.getAbsolutePath(),
 
-                                "org.apache.catalina.startup.Bootstrap", 
"start"
-                        };
-                    }
-                }
                 if (verbose) {
                     System.out.println(Join.join("\n", args));
                 }


Reply via email to