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();