[Httpunit-commit] CVS: httpunit/src/com/meterware/pseudoserver PseudoServer.java,1.4,1.5
Brought to you by:
russgold
|
From: Russell G. <rus...@us...> - 2002-11-22 17:19:42
|
Update of /cvsroot/httpunit/httpunit/src/com/meterware/pseudoserver
In directory sc8-pr-cvs1:/tmp/cvs-serv22673/src/com/meterware/pseudoserver
Modified Files:
PseudoServer.java
Log Message:
Added support for applet parameters and archives
Index: PseudoServer.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/pseudoserver/PseudoServer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PseudoServer.java 15 Nov 2002 00:07:33 -0000 1.4
+++ PseudoServer.java 22 Nov 2002 17:19:35 -0000 1.5
@@ -236,7 +236,7 @@
return (WebResource) resource;
} else if (resource instanceof PseudoServlet) {
return getResource( (PseudoServlet) resource, request );
- } else {
+ } else if (request.getURI().endsWith( ".class" )) {
for (Iterator iterator = _classpathDirs.iterator(); iterator.hasNext();) {
String directory = (String) iterator.next();
if (request.getURI().startsWith( directory )) {
@@ -244,6 +244,25 @@
return new WebResource( getClass().getClassLoader().getResourceAsStream( resourceName ), "application/class", 200 );
}
}
+ return null;
+ } else if (request.getURI().endsWith( ".zip" ) || request.getURI().endsWith( ".jar" )) {
+ for (Iterator iterator = _classpathDirs.iterator(); iterator.hasNext();) {
+ String directory = (String) iterator.next();
+ if (request.getURI().startsWith( directory )) {
+ String resourceName = request.getURI().substring( directory.length()+1 );
+ String classPath = System.getProperty( "java.class.path" );
+ StringTokenizer st = new StringTokenizer( classPath, ":;," );
+ while (st.hasMoreTokens()) {
+ String file = st.nextToken();
+ if (file.endsWith( resourceName )) {
+ File f = new File( file );
+ return new WebResource( new FileInputStream( f ), "application/zip", 200 );
+ }
+ }
+ }
+ }
+ return null;
+ } else {
return null;
}
}
|