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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]