Author: rmannibucau
Date: Wed Feb 27 09:06:01 2013
New Revision: 1450683
URL: http://svn.apache.org/r1450683
Log:
TOMEE-780 redeploy feature of tomcat (##001) should work (respecting its
limitation) in tomee
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/AnnotationFinder.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java?rev=1450683&r1=1450682&r2=1450683&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoDeployer.java
Wed Feb 27 09:06:01 2013
@@ -129,7 +129,7 @@ public class AutoDeployer {
for (final String location : app.paths) {
- final File delete = new
File(location.replace("%20", " "));
+ final File delete = new
File(location.replace("%20", " ").replace("%23", "#"));
for (int i = 0; i < 3; i++) {
try {
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/AnnotationFinder.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/AnnotationFinder.java?rev=1450683&r1=1450682&r2=1450683&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/AnnotationFinder.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/AnnotationFinder.java
Wed Feb 27 09:06:01 2013
@@ -123,7 +123,7 @@ public class AnnotationFinder {
} else if (location.getProtocol().equals("file")) {
try {
// See if it's actually a jar
- final URL jarUrl = new URL("jar", "",
location.toExternalForm().replace("%20", " ") + "!/");
+ final URL jarUrl = new URL("jar", "",
location.toExternalForm().replace("%20", " ").replace("%23", "#") + "!/");
final JarURLConnection juc = (JarURLConnection)
jarUrl.openConnection();
classNames.addAll(jar(juc.getJarFile()));
} catch (IOException e) {
@@ -227,7 +227,7 @@ public class AnnotationFinder {
}
final URL url = new URL(jarPath);
if ("file".equals(url.getProtocol())) { // ZipFile is faster than
ZipInputStream
- final JarFile jarFile = new JarFile(url.getFile().replace("%20", "
"));
+ final JarFile jarFile = new JarFile(url.getFile().replace("%20", "
").replace("%23", "#"));
return jar(jarFile);
} else {
InputStream in = url.openStream();
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java?rev=1450683&r1=1450682&r2=1450683&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/LinkResolver.java
Wed Feb 27 09:06:01 2013
@@ -55,7 +55,7 @@ public class LinkResolver<E> {
}
private URI resolve(URI moduleURI, String name) {
- name = name.replace(" ", "%20");
+ name = name.replace(" ", "%20").replace("#", "%23");
return moduleURI.resolve("#" + name);
}
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java?rev=1450683&r1=1450682&r2=1450683&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/URLs.java
Wed Feb 27 09:06:01 2013
@@ -108,7 +108,7 @@ public class URLs {
return f.toURI();
}
}
- return URI.create(uri.replace(" ", "%20"));
+ return URI.create(uri.replace(" ", "%20").replace("#", "%23"));
}
private URLs() { }
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1450683&r1=1450682&r2=1450683&view=diff
==============================================================================
---
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
(original)
+++
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
Wed Feb 27 09:06:01 2013
@@ -1154,8 +1154,7 @@ public class TomcatWebAppBuilder impleme
// appInfo is null when deployment fails
if (contextInfo.appInfo != null) {
for (final WebAppInfo w : contextInfo.appInfo.webApps) {
- final String wId = getId(w.host, w.contextRoot);
- if (id.equals(wId)) {
+ if (id.equals(getId(w.host, w.contextRoot)) ||
id.equals(getId(w.host, w.moduleId))) {
if (webAppInfo == null) {
webAppInfo = w;
} else if (w.host != null &&
w.host.equals(standardContext.getHostname())) {
Modified:
tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java?rev=1450683&r1=1450682&r2=1450683&view=diff
==============================================================================
---
tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java
(original)
+++
tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java
Wed Feb 27 09:06:01 2013
@@ -136,6 +136,11 @@ public class TomcatEmbedder {
if (url.contains(" ")) {
url = url.replaceAll(" ", "%20");
}
+
+ if (url.contains("#")) {
+ url = url.replaceAll("#", "%23");
+ }
+
uri = new URI(url);
if (uri.getPath() == null){