[Winstone-devel] winstone/src/java/winstone RequestHandlerThread.java, 1.20, 1.21 WebAppConfigurati
Status: Beta
Brought to you by:
rickknowles
Update of /cvsroot/winstone/winstone/src/java/winstone In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv4634/src/java/winstone Modified Files: RequestHandlerThread.java WebAppConfiguration.java Launcher.java ServletConfiguration.java RequestDispatcher.java Mapping.java Log Message: Passes the TCK - fixes a bunch of little bugs in jasper detection and path mapping. Also includes the JNDI base context change Index: WebAppConfiguration.java =================================================================== RCS file: /cvsroot/winstone/winstone/src/java/winstone/WebAppConfiguration.java,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** WebAppConfiguration.java 22 Apr 2007 15:37:26 -0000 1.50 --- WebAppConfiguration.java 23 Apr 2007 02:55:35 -0000 1.51 *************** *** 222,226 **** if (useJasper) { try { ! Class.forName("javax/servlet/jsp/JspFactory", true, this.loader); Class.forName(JSP_SERVLET_CLASS, true, this.loader); } catch (Throwable err) { --- 222,226 ---- if (useJasper) { try { ! Class.forName("javax.servlet.jsp.JspFactory", true, parentClassLoader); Class.forName(JSP_SERVLET_CLASS, true, this.loader); } catch (Throwable err) { *************** *** 967,971 **** } ! URL jarURLs[] = (URL []) urlList.toArray(new URL[0]); String preferredClassLoader = stringArg(startupArgs, "preferredClassLoader", WEBAPP_CL_CLASS); --- 967,971 ---- } ! URL jarURLs[] = (URL []) urlList.toArray(new URL[urlList.size()]); String preferredClassLoader = stringArg(startupArgs, "preferredClassLoader", WEBAPP_CL_CLASS); Index: RequestDispatcher.java =================================================================== RCS file: /cvsroot/winstone/winstone/src/java/winstone/RequestDispatcher.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** RequestDispatcher.java 25 Aug 2006 14:27:03 -0000 1.17 --- RequestDispatcher.java 23 Apr 2007 02:55:35 -0000 1.18 *************** *** 329,336 **** --- 329,340 ---- // Make sure the filter chain is exhausted first + boolean outsideFilter = (this.matchingFiltersEvaluated == 0); if (this.matchingFiltersEvaluated < this.matchingFilters.length) { doFilter(request, response); } else { this.servletConfig.execute(request, response, this.webAppConfig.getContextPath() + this.requestURI); + } + // Stop any output after the final filter has been executed (e.g. from forwarding servlet) + if (outsideFilter) { WinstoneResponse rsp = getUnwrappedResponse(response); rsp.flushBuffer(); Index: ServletConfiguration.java =================================================================== RCS file: /cvsroot/winstone/winstone/src/java/winstone/ServletConfiguration.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ServletConfiguration.java 1 Sep 2006 04:23:10 -0000 1.15 --- ServletConfiguration.java 23 Apr 2007 02:55:35 -0000 1.16 *************** *** 176,181 **** try { Class servletClass = Class.forName(classFile, true, this.webAppConfig.getLoader()); - this.isSingleThreadModel = Class.forName("javax.servlet.SingleThreadModel").isInstance(this.instance); newInstance = (Servlet) servletClass.newInstance(); // Initialise with the correct classloader --- 176,181 ---- try { Class servletClass = Class.forName(classFile, true, this.webAppConfig.getLoader()); newInstance = (Servlet) servletClass.newInstance(); + this.isSingleThreadModel = Class.forName("javax.servlet.SingleThreadModel").isInstance(newInstance); // Initialise with the correct classloader Index: Launcher.java =================================================================== RCS file: /cvsroot/winstone/winstone/src/java/winstone/Launcher.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** Launcher.java 12 Aug 2006 07:33:11 -0000 1.28 --- Launcher.java 23 Apr 2007 02:55:35 -0000 1.29 *************** *** 136,144 **** Logger.log(Logger.DEBUG, RESOURCES, "Launcher.NoCommonLib"); } ! ClassLoader commonLibCL = new URLClassLoader((URL[]) jars.toArray(new URL[0]), getClass().getClassLoader()); Logger.log(Logger.MAX, RESOURCES, "Launcher.CLClassLoader", commonLibCL.toString()); this.objectPool = new ObjectPool(args); --- 136,146 ---- Logger.log(Logger.DEBUG, RESOURCES, "Launcher.NoCommonLib"); } ! ClassLoader commonLibCL = new URLClassLoader((URL[]) jars.toArray(new URL[jars.size()]), getClass().getClassLoader()); Logger.log(Logger.MAX, RESOURCES, "Launcher.CLClassLoader", commonLibCL.toString()); + Logger.log(Logger.MAX, RESOURCES, "Launcher.CLClassLoader", + commonLibCLPaths.toString()); this.objectPool = new ObjectPool(args); Index: RequestHandlerThread.java =================================================================== RCS file: /cvsroot/winstone/winstone/src/java/winstone/RequestHandlerThread.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** RequestHandlerThread.java 25 Aug 2006 17:04:59 -0000 1.20 --- RequestHandlerThread.java 23 Apr 2007 02:55:35 -0000 1.21 *************** *** 266,269 **** --- 266,270 ---- } rsp.flushBuffer(); + rsp.getWinstoneOutputStream().setClosed(true); req.discardRequestBody(); } Index: Mapping.java =================================================================== RCS file: /cvsroot/winstone/winstone/src/java/winstone/Mapping.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Mapping.java 17 Jun 2006 06:52:48 -0000 1.8 --- Mapping.java 23 Apr 2007 02:55:35 -0000 1.9 *************** *** 147,152 **** public boolean match(String inputPattern, StringBuffer servletPath, StringBuffer pathInfo) { - // Logger.log(Logger.FULL_DEBUG, "Matching input=" + inputPattern + " - // me=" + toString()); switch (this.patternType) { case FOLDER_PATTERN: --- 147,150 ---- *************** *** 154,160 **** inputPattern.equals(this.urlPattern)) { if (servletPath != null) ! servletPath.append(this.urlPattern); if (pathInfo != null) ! pathInfo.append(inputPattern.substring(this.urlPattern.length())); return true; } else --- 152,158 ---- inputPattern.equals(this.urlPattern)) { if (servletPath != null) ! servletPath.append(WinstoneRequest.decodeURLToken(this.urlPattern)); if (pathInfo != null) ! pathInfo.append(WinstoneRequest.decodeURLToken(inputPattern.substring(this.urlPattern.length()))); return true; } else *************** *** 170,174 **** || (!this.isPatternFirst && fileName.endsWith(this.urlPattern))) { if (servletPath != null) ! servletPath.append(inputPattern); return true; } else --- 168,172 ---- || (!this.isPatternFirst && fileName.endsWith(this.urlPattern))) { if (servletPath != null) ! servletPath.append(WinstoneRequest.decodeURLToken(inputPattern)); return true; } else *************** *** 178,182 **** if (inputPattern.equals(this.urlPattern)) { if (servletPath != null) ! servletPath.append(inputPattern); return true; } else --- 176,180 ---- if (inputPattern.equals(this.urlPattern)) { if (servletPath != null) ! servletPath.append(WinstoneRequest.decodeURLToken(inputPattern)); return true; } else *************** *** 185,189 **** case DEFAULT_SERVLET: if (servletPath != null) ! servletPath.append(inputPattern); return true; --- 183,187 ---- case DEFAULT_SERVLET: if (servletPath != null) ! servletPath.append(WinstoneRequest.decodeURLToken(inputPattern)); return true; |