You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/10/17 03:25:01 UTC

svn commit: r585314 - /incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java

Author: jsdelfino
Date: Tue Oct 16 18:24:56 2007
New Revision: 585314

URL: http://svn.apache.org/viewvc?rev=585314&view=rev
Log:
Allow the default servlet to pick up changes to artifacts (html, scripts, any artifact served by tomcat) without having to restart the server. Having to restart the server each time you make a change is not convenient when you're developing a Web application.

Modified:
    incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java

Modified: incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java?rev=585314&r1=585313&r2=585314&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java (original)
+++ incubator/tuscany/java/sca/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java Tue Oct 16 18:24:56 2007
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.util.Hashtable;
 
@@ -47,33 +48,39 @@
     public TomcatDefaultServlet(String servletPath, String documentRoot) {
         this.documentRoot = documentRoot;
         
-        DirContext dirContext = new FileDirContext() {
+        DirContext dirContext;
+        URI uri = URI.create(documentRoot);
+        if (!"file".equals(uri.getScheme())) {
             
-            @Override
-            public Attributes getAttributes(String name) throws NamingException {
-                return new BasicAttributes();
-            }
-            
-            @Override
-            public Object lookup(String name) throws NamingException {
+            dirContext = new FileDirContext() {
+                @Override
+                public Attributes getAttributes(String name) throws NamingException {
+                    return new BasicAttributes();
+                }
                 
-                try {
-                    final URL url = new URL(TomcatDefaultServlet.this.documentRoot + name);
-                    return new Resource() {
-                        
-                        @Override
-                        public InputStream streamContent() throws IOException {
-                            return url.openStream();
-                        }
-                    };
-                } catch (MalformedURLException e) {
-                    throw new NamingException(e.toString());
+                @Override
+                public Object lookup(String name) throws NamingException {
+                    
+                    try {
+                        final URL url = new URL(TomcatDefaultServlet.this.documentRoot + name);
+                        return new Resource() {
+                            @Override
+                            public InputStream streamContent() throws IOException {
+                                return url.openStream();
+                            }
+                        };
+                    } catch (MalformedURLException e) {
+                        throw new NamingException(e.toString());
+                    }
                 }
-            }
-        };
-        
+            };
+            
+        } else {
+            dirContext = new FileDirContext();
+            ((FileDirContext)dirContext).setDocBase(uri.getPath());
+        }
         proxyDirContext = new ProxyDirContext(new Hashtable(), dirContext);
-        resources = proxyDirContext;
+        resources = proxyDirContext;            
     }
     
     @Override



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org