You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2014/03/11 14:25:53 UTC

git commit: WICKET-5532 NPE calling PackageResource.getResourceStream() if there is no RequestCycle defined

Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 4fe4c999d -> ae44d26db


WICKET-5532 NPE calling PackageResource.getResourceStream() if there is no RequestCycle defined

Use empty request and response when a PackageResource is used out of a request cycle


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ae44d26d
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ae44d26d
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ae44d26d

Branch: refs/heads/wicket-6.x
Commit: ae44d26db32587f4ddb9b8c52460ec1450dc96f5
Parents: 4fe4c99
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Mar 11 15:25:03 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Mar 11 15:25:03 2014 +0200

----------------------------------------------------------------------
 .../wicket/request/resource/PackageResource.java      | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ae44d26d/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java b/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
index 5d4e935..311774b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
@@ -30,8 +30,11 @@ import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.core.util.lang.WicketObjects;
 import org.apache.wicket.core.util.resource.locator.IResourceStreamLocator;
 import org.apache.wicket.markup.html.IPackageResourceGuard;
+import org.apache.wicket.mock.MockWebRequest;
+import org.apache.wicket.request.Url;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.resource.caching.IStaticCacheableResource;
+import org.apache.wicket.response.StringResponse;
 import org.apache.wicket.settings.IResourceSettings;
 import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.lang.Classes;
@@ -494,7 +497,16 @@ public class PackageResource extends AbstractResource implements IStaticCacheabl
 			}
 
 			RequestCycle cycle = RequestCycle.get();
-			Attributes attributes = new Attributes(cycle.getRequest(), cycle.getResponse());
+			Attributes attributes;
+			if (cycle != null)
+			{
+				attributes = new Attributes(cycle.getRequest(), cycle.getResponse());
+			}
+			else
+			{
+				// use empty request and response in case of non-http thread. WICKET-5532
+				attributes = new Attributes(new MockWebRequest(Url.parse("")), new StringResponse());
+			}
 			byte[] processedBytes = processResponse(attributes, bytes);
 			return new ByteArrayInputStream(processedBytes);
 		}