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 2009/02/18 17:41:41 UTC
svn commit: r745564 -
/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatEmbedder.java
Author: jgallimore
Date: Wed Feb 18 16:41:41 2009
New Revision: 745564
URL: http://svn.apache.org/viewvc?rev=745564&view=rev
Log:
OPENEJB-999 encode + character as %2B - it seems that in the encoding/decoding process its being mistaken for a space
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatEmbedder.java
Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatEmbedder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatEmbedder.java?rev=745564&r1=745563&r2=745564&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatEmbedder.java (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatEmbedder.java Wed Feb 18 16:41:41 2009
@@ -55,14 +55,19 @@
// Use reflection to add the openejb-tomcat-loader.jar file to the repository of WebappClassLoader.
// WebappClassLoader will now search for classes in this jar too
File thisJar = getThisJar();
- webappClClass.getMethod("addRepository", String.class).invoke(childCl, thisJar.toURI().toString());
+ String thisJarUrl = thisJar.toURI().toString();
+ thisJarUrl = thisJarUrl.replaceAll("\\+", "%2B");
+ webappClClass.getMethod("addRepository", String.class).invoke(childCl, thisJarUrl);
// childCl.addRepository(openejb-loader.jar)
// Use reflection to add the openejb-loader.jar file to the repository of WebappClassLoader.
// WebappClassLoader will now search for classes in this jar too
File jarFile = findOpenEJBJar(openejbWar, "openejb-loader");
- webappClClass.getMethod("addRepository", String.class).invoke(childCl, jarFile.toURI().toString());
+ String openejbLoaderUrl = jarFile.toURI().toString();
+ openejbLoaderUrl = openejbLoaderUrl.replaceAll("\\+", "%2B");
+
+ webappClClass.getMethod("addRepository", String.class).invoke(childCl, openejbLoaderUrl);
// childCl.start()
webappClClass.getMethod("start").invoke(childCl);
@@ -91,6 +96,10 @@
URI uri = null;
String url = classURL.toExternalForm();
+ if (url.contains("+")) {
+ url = url.replaceAll("\\+", "%2B");
+ }
+
if (url.contains(" ")) {
url = url.replaceAll(" ", "%20");
}
@@ -107,6 +116,7 @@
path = path.substring(0, path.length() - classFileName.length());
}
+ path = path.replaceAll("\\+", "%2B");
return new File(URLDecoder.decode(path));
} catch (Exception e) {
throw new IllegalStateException(e);