dims 01/05/08 09:32:44
Modified: src/org/apache/cocoon/components/pipeline Tag: xml-cocoon2
CachingStreamPipeline.java
Log:
Added a few more setContentLength's. Even after this set of changes, if any
of the components don't support caching, then content length is not set.
Revision Changes Path
No revision
No revision
1.1.2.12 +21 -11
xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/CachingStreamPipeline.java
Index: CachingStreamPipeline.java
===================================================================
RCS file:
/home/cvs/xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/CachingStreamPipeline.java,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -r1.1.2.11 -r1.1.2.12
--- CachingStreamPipeline.java 2001/05/04 00:31:26 1.1.2.11
+++ CachingStreamPipeline.java 2001/05/08 16:32:32 1.1.2.12
@@ -44,9 +44,9 @@
* </ul>
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.1.2.11 $ $Date: 2001/05/04 00:31:26 $
+ * @version CVS $Revision: 1.1.2.12 $ $Date: 2001/05/08 16:32:32 $
*/
-public final class CachingStreamPipeline extends AbstractStreamPipeline {
+public class CachingStreamPipeline extends AbstractStreamPipeline {
/** The role name of the serializer */
private String serializerRole;
@@ -176,13 +176,15 @@
if (valid == true) {
getLogger().debug("Using valid cached content for '"
+ environment.getURI() + "'.");
- usedCache = true;
byte[] response = cachedObject.getResponse();
- outputStream.write(response);
- if (response.length != 0) {
+ if(response.length > 0) {
+ usedCache = true;
environment.setContentLength(response.length);
+ outputStream.write(response);
}
- } else {
+ }
+
+ if(usedCache == false) {
getLogger().debug("Cached content is invalid for '"
+ environment.getURI() + "'.");
// remove invalid cached object
@@ -293,9 +295,15 @@
if (valid == true) {
getLogger().debug("Using valid cached content
for '" + environment.getURI() + "'.");
- usedCache = true;
- outputStream.write(cachedObject.getResponse());
- } else {
+ byte[] bytes = cachedObject.getResponse();
+ if(bytes.length > 0) {
+ usedCache = true;
+ environment.setContentLength(bytes.length);
+ outputStream.write(bytes);
+ }
+ }
+
+ if (usedCache == false) {
getLogger().debug("Cached content is invalid for
'" + environment.getURI() + "'.");
@@ -320,9 +328,11 @@
// store the response
if (pcKey != null) {
+ byte[] bytes =
((CachingOutputStream)outputStream).getContent();
+ environment.setContentLength(bytes.length);
+
this.streamCache.store(pcKey,
- new CachedStreamObject(validityObjects,
-
((CachingOutputStream)outputStream).getContent()));
+ new CachedStreamObject(validityObjects, bytes));
}
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]