Author: rmannibucau
Date: Mon Aug 22 21:20:46 2011
New Revision: 1160442

URL: http://svn.apache.org/viewvc?rev=1160442&view=rev
Log:
adding javaee-api-embedded in endorsed folder

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

Modified: 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/installer/Installer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/installer/Installer.java?rev=1160442&r1=1160441&r2=1160442&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/installer/Installer.java
 (original)
+++ 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/installer/Installer.java
 Mon Aug 22 21:20:46 2011
@@ -92,12 +92,36 @@ public class Installer {
         installConfigFiles();
 
         removeAnnotationApiJar();
+        addJavaeeInEndorsed();
         
         if (!alerts.hasErrors()) {
             status = Status.REBOOT_REQUIRED;
         }
     }
 
+    private void addJavaeeInEndorsed() {
+        File endorsed = new File(paths.getCatalinaHomeDir(), "endorsed/");
+        if (!endorsed.exists()) {
+            if (!endorsed.mkdirs()) {
+                alerts.addError("can't add endorsed folder");
+                return;
+            }
+        }
+
+        for (File f : endorsed.listFiles()) {
+            if (f.getName().startsWith("javaee-api") && 
f.getName().endsWith(".jar")) {
+                return;
+            }
+        }
+
+        File javaeeApi = paths.getJavaEEAPIJAr();
+        try {
+            Installers.copy(javaeeApi, new File(endorsed, 
javaeeApi.getName()));
+        } catch (IOException e) {
+            alerts.addError(e.getMessage());
+        }
+    }
+
     /**
      * javaee-api* contains all classes in annotation-api which is outdated so 
we simply strip it.
      */

Modified: 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/installer/Paths.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/installer/Paths.java?rev=1160442&r1=1160441&r2=1160442&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/installer/Paths.java
 (original)
+++ 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-common/src/main/java/org/apache/openejb/tomcat/installer/Paths.java
 Mon Aug 22 21:20:46 2011
@@ -213,6 +213,9 @@ public class Paths {
     public File getOpenEJBTomcatLoaderJar() {
         return findOpenEJBJar("openejb-tomcat-loader");
     }
+    public File getJavaEEAPIJAr() {
+        return findOpenEJBJar("javaee-api");
+    }
     /**
      * Returns the openejb-javaagent.jar file
      * @return the openejb-javaagent.jar file

Modified: 
openejb/trunk/openejb3/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java?rev=1160442&r1=1160441&r2=1160442&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java
 (original)
+++ 
openejb/trunk/openejb3/assembly/openejb-webapp-common/src/main/java/org/apache/openejb/webapp/common/Installers.java
 Mon Aug 22 21:20:46 2011
@@ -130,6 +130,24 @@ public class Installers {
         }
     }
 
+     public static void copy(File srcFile, File destFile) throws IOException {
+        if (destFile.exists() && destFile.isDirectory()) {
+            throw new IOException("Destination '" + destFile + "' exists but 
is a directory");
+        }
+
+        FileInputStream input = new FileInputStream(srcFile);
+        try {
+            FileOutputStream output = new FileOutputStream(destFile);
+            try {
+                writeAll(input, output);
+            } finally {
+                close(output);
+            }
+        } finally {
+            close(input);
+        }
+    }
+
     public static String readAll(InputStream in) throws IOException {
         // SwizzleStream block read methods are broken so read byte at a time
         StringBuilder sb = new StringBuilder();


Reply via email to