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){


Reply via email to