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

svn commit: r632657 - /openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/java/org/apache/openejb/tomcat/installer/Installer.java

Author: dain
Date: Sat Mar  1 13:06:04 2008
New Revision: 632657

URL: http://svn.apache.org/viewvc?rev=632657&view=rev
Log:
OPENEJB-757 copy openejb-javaagent.jar to tomcat lib directory to avoid problems with path in shell scripts when upgrading openejb

Modified:
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/java/org/apache/openejb/tomcat/installer/Installer.java

Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/java/org/apache/openejb/tomcat/installer/Installer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/java/org/apache/openejb/tomcat/installer/Installer.java?rev=632657&r1=632656&r2=632657&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/java/org/apache/openejb/tomcat/installer/Installer.java (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/src/main/java/org/apache/openejb/tomcat/installer/Installer.java Sat Mar  1 13:06:04 2008
@@ -45,8 +45,7 @@
 
     static {
         // is the OpenEJB listener installed
-        Boolean listener = (Boolean) org.apache.openejb.loader.OpenEJBListener.isListenerInstalled();
-//        Boolean listener = (Boolean) invokeStaticNoArgMethod("org.apache.openejb.loader.OpenEJBListener", "isListenerInstalled");
+        Boolean listener = (Boolean) invokeStaticNoArgMethod("org.apache.openejb.loader.OpenEJBListener", "isListenerInstalled");
         if (listener == null) listener = false;
         listenerInstalled = listener;
 
@@ -172,6 +171,30 @@
         }
 
         //
+        // Copy openejb-javaagent.jar to lib
+        //
+        boolean copyJavaagentJar = true;
+        File javaagentJar = new File(paths.getCatalinaLibDir(), "openejb-javaagent.jar");
+        if (javaagentJar.exists()) {
+            if (paths.getOpenEJBJavaagentJar().length() != javaagentJar.length()) {
+                // md5 diff the files
+            } else {
+//                addInfo("OpenEJB javaagent jar already installed in Tomcat lib directory.");
+                copyJavaagentJar = false;
+            }
+        }
+
+        if (copyJavaagentJar) {
+            try {
+                copyFile(paths.getOpenEJBJavaagentJar(), javaagentJar);
+                addInfo("Copy " + paths.getOpenEJBJavaagentJar().getName() + " to lib");
+            } catch (IOException e) {
+                addError("Unable to copy OpenEJB javaagent jar to Tomcat lib directory.  This will need to be performed manually.", e);
+            }
+        }
+
+
+        //
         // bin/catalina.sh
         //
 
@@ -195,7 +218,7 @@
         }
 
         // add our magic bits to the catalina sh file
-        String openejbJavaagentPath = paths.getCatalinaBaseDir().toURI().relativize(paths.getOpenEJBJavaagentJar().toURI()).getPath();
+        String openejbJavaagentPath = paths.getCatalinaBaseDir().toURI().relativize(javaagentJar.toURI()).getPath();
         String newCatalinaSh = catalinaShOriginal.replace("# ----- Execute The Requested Command",
                 "# Add OpenEJB javaagent\n" +
                 "if [ -r \"$CATALINA_BASE\"/" + openejbJavaagentPath + " ]; then\n" +
@@ -253,7 +276,7 @@
             // the core jar contains the config files
             return;
         }
-        JarFile coreJar = null;
+        JarFile coreJar;
         try {
             coreJar = new JarFile(paths.getOpenEJBCoreJar());
         } catch (IOException e) {