You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ug...@apache.org on 2004/04/26 23:28:39 UTC

cvs commit: cocoon-2.1/src/java/org/apache/cocoon/components/pipeline AbstractProcessingPipeline.java

ugo         2004/04/26 14:28:39

  Modified:    src/java/org/apache/cocoon/components/pipeline/impl
                        AbstractCachingProcessingPipeline.java
               src/java/org/apache/cocoon/components/pipeline
                        AbstractProcessingPipeline.java
  Log:
  Optimized away unnecessary array allocation and copying.
  
  Revision  Changes    Path
  1.19      +5 -7      cocoon-2.1/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java
  
  Index: AbstractCachingProcessingPipeline.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/pipeline/impl/AbstractCachingProcessingPipeline.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- AbstractCachingProcessingPipeline.java	3 Apr 2004 00:46:33 -0000	1.18
  +++ AbstractCachingProcessingPipeline.java	26 Apr 2004 21:28:39 -0000	1.19
  @@ -243,9 +243,8 @@
                           } else {
                               this.generator.generate();
                           }
  -                        byte[] data = baos.toByteArray();
  -                        environment.setContentLength(data.length);
  -                        os.write(data);
  +                        environment.setContentLength(baos.size());
  +                        baos.writeTo(os);
                       } else {
                           if (os == null) {
                               os = environment.getOutputStream(
  @@ -798,12 +797,11 @@
                       ByteArrayOutputStream os = new ByteArrayOutputStream();
                       this.reader.setOutputStream(os);
                       this.reader.generate();
  -                    byte[] data = os.toByteArray();
  -                    environment.setContentLength(data.length);
  +                    environment.setContentLength(os.size());
                       if (outputStream == null) {
                           outputStream = environment.getOutputStream(0);
                       }
  -                    environment.getOutputStream(0).write(data);
  +                    os.writeTo(environment.getOutputStream(0));
                   } else {
                       if (outputStream == null) {
                           outputStream = environment.getOutputStream(this.outputBufferSize);
  
  
  
  1.21      +5 -7      cocoon-2.1/src/java/org/apache/cocoon/components/pipeline/AbstractProcessingPipeline.java
  
  Index: AbstractProcessingPipeline.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/pipeline/AbstractProcessingPipeline.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- AbstractProcessingPipeline.java	8 Mar 2004 12:07:39 -0000	1.20
  +++ AbstractProcessingPipeline.java	26 Apr 2004 21:28:39 -0000	1.21
  @@ -536,9 +536,8 @@
       
                       // execute the pipeline:
                       this.generator.generate();
  -                    byte[] data = os.toByteArray();
  -                    environment.setContentLength(data.length);
  -                    environment.getOutputStream(0).write(data);
  +                    environment.setContentLength(os.size());
  +                    os.writeTo(environment.getOutputStream(0));
                   } else {
                       // set the output stream
                       this.serializer.setOutputStream(environment.getOutputStream(this.outputBufferSize));
  @@ -602,9 +601,8 @@
                   ByteArrayOutputStream os = new ByteArrayOutputStream();
                   this.reader.setOutputStream(os);
                   this.reader.generate();
  -                byte[] data = os.toByteArray();
  -                environment.setContentLength(data.length);
  -                environment.getOutputStream(0).write(data);
  +                environment.setContentLength(os.size());
  +                os.writeTo(environment.getOutputStream(0));
               } else {
                   this.reader.setOutputStream(environment.getOutputStream(this.outputBufferSize));
                   this.reader.generate();