You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2010/09/01 23:00:44 UTC

svn commit: r991704 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java

Author: pete
Date: Wed Sep  1 21:00:44 2010
New Revision: 991704

URL: http://svn.apache.org/viewvc?rev=991704&view=rev
Log:
for previous commit, fixed wrong order for checking if resource was found, added more comments + final's

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java?rev=991704&r1=991703&r2=991704&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java Wed Sep  1 21:00:44 2010
@@ -19,8 +19,6 @@ package org.apache.wicket.request.resour
 import java.io.IOException;
 import java.util.Locale;
 
-import javax.servlet.http.HttpServletResponse;
-
 import org.apache.wicket.ThreadContext;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.markup.html.IPackageResourceGuard;
@@ -174,23 +172,29 @@ public class PackageResource extends Abs
 	@Override
 	protected ResourceResponse newResourceResponse(Attributes attributes)
 	{
-		ResourceResponse resourceResponse = new ResourceResponse();
+		final ResourceResponse resourceResponse = new ResourceResponse();
 
 		if (resourceResponse.dataNeedsToBeWritten(attributes))
 		{
-			IResourceStream resourceStream = getResourceStream();
+			// get resource stream
+			final IResourceStream resourceStream = getResourceStream();
+
+			// bail out if resource stream could not be found
+			if (resourceStream == null)
+				return sendResourceError(resourceResponse, 404, "Unable to find resource");
+
+			// set Content-Type (may be null)
 			resourceResponse.setContentType(resourceStream.getContentType());
 
+			// add Last-Modified header (to support HEAD requests and If-Modified-Since)
 			final Time lastModified = resourceStream.lastModifiedTime();
-			
+
 			if(lastModified != null)
 				resourceResponse.setLastModified(lastModified.toDate());
 
-			if (resourceStream == null)
-				return sendResourceError(resourceResponse, HttpServletResponse.SC_NOT_FOUND, "Unable to find resource");
-
 			try
 			{
+				// read resource data
 				final byte[] bytes;
 
 				try
@@ -201,7 +205,11 @@ public class PackageResource extends Abs
 				{
 					resourceStream.close();
 				}
+
+				// send Content-Length header
 				resourceResponse.setContentLength(bytes.length);
+
+				// send response body with resource data
 				resourceResponse.setWriteCallback(new WriteCallback()
 				{
 					@Override