This is an automated email from the ASF dual-hosted git repository.
benw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git
The following commit(s) were added to refs/heads/master by this push:
new ca1c40375 TAP5-2761: ResourceStreamer#streamResource documentation
clarified and NPE fixed
ca1c40375 is described below
commit ca1c40375658a4da36a7792ae5c6778f6d275e12
Author: Ben Weidig <[email protected]>
AuthorDate: Sat Sep 2 12:55:04 2023 +0200
TAP5-2761: ResourceStreamer#streamResource documentation clarified and NPE
fixed
---
.../org/apache/tapestry5/internal/services/ResourceStreamer.java | 4 ++--
.../apache/tapestry5/internal/services/ResourceStreamerImpl.java | 7 ++++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamer.java
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamer.java
index 408901b66..a284565fa 100644
---
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamer.java
+++
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamer.java
@@ -58,7 +58,7 @@ public interface ResourceStreamer
* @param resource
* to stream
* @param providedChecksum
- * checksum from URL (or null to not validate against checksum,
which is normal for modules)
+ * checksum from URL (or null/blank to not validate against
checksum, which is normal for modules)
* @param options
* enable or disable certain features
* @see StreamableResourceSource
@@ -73,7 +73,7 @@ public interface ResourceStreamer
* content to stream
* @param providedChecksum
* checksum provided (in the URL) to validate against the
{@linkplain
org.apache.tapestry5.services.assets.StreamableResource#getChecksum()} actual
checksum}
- * for the resource, may be blank to not validate against the
checksum
+ * for the resource, may be null/blank to not validate against the
checksum
* @param options
* enable or disable certain features
* @return true if the request was handled (even if sending a {@link
HttpServletResponse#SC_NOT_MODIFIED} response),
diff --git
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
index 51f6122e3..363c0b71c 100644
---
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
+++
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ResourceStreamerImpl.java
@@ -92,6 +92,7 @@ public class ResourceStreamerImpl implements ResourceStreamer
this.contextAssetFactory = contextAssetFactory;
}
+ @Override
public boolean streamResource(final Resource resource, final String
providedChecksum, final Set<Options> options) throws IOException
{
if (!resource.exists())
@@ -103,7 +104,7 @@ public class ResourceStreamerImpl implements
ResourceStreamer
return true;
}
- final boolean compress = providedChecksum.startsWith("z");
+ final boolean compress = providedChecksum != null &&
providedChecksum.startsWith("z");
return tracker.perform("Streaming " + resource + (compress ? "
(compressed)" : ""), new IOOperation<Boolean>()
{
@@ -120,6 +121,7 @@ public class ResourceStreamerImpl implements
ResourceStreamer
});
}
+ @Override
public boolean streamResource(StreamableResource streamable, String
providedChecksum, Set<Options> options) throws IOException
{
return streamResource(null, streamable, providedChecksum, options);
@@ -128,12 +130,11 @@ public class ResourceStreamerImpl implements
ResourceStreamer
public boolean streamResource(Resource resource, StreamableResource
streamable, String providedChecksum, Set<Options> options) throws IOException
{
assert streamable != null;
- assert providedChecksum != null;
assert options != null;
String actualChecksum = streamable.getChecksum();
- if (providedChecksum.length() > 0 &&
!providedChecksum.equals(actualChecksum))
+ if (providedChecksum != null && !providedChecksum.isEmpty() &&
!providedChecksum.equals(actualChecksum))
{
// TAP5-2185: Trying to find the wrongly-checksummed resource in
the classpath and context,