You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2003/02/01 03:58:04 UTC

cvs commit: xml-cocoon2/src/scratchpad/webapp/samples/imagereader logo.jpg sitemap.xmap

vgritsenko    2003/01/31 18:58:03

  Modified:    src/documentation/xdocs/userdocs/readers image-reader.xml
               src/scratchpad/src/org/apache/cocoon/reading
                        ImageReader.java
               src/scratchpad/webapp/samples scratchpad-samples.xml
  Added:       src/scratchpad/webapp/samples/imagereader logo.jpg
                        sitemap.xmap
  Log:
  Fix bug 16490: Image Reader Caching Problem.
  Add imagereader sample.
  
  Revision  Changes    Path
  1.5       +1 -1      xml-cocoon2/src/documentation/xdocs/userdocs/readers/image-reader.xml
  
  Index: image-reader.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/documentation/xdocs/userdocs/readers/image-reader.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- image-reader.xml	31 Jan 2003 23:28:12 -0000	1.4
  +++ image-reader.xml	1 Feb 2003 02:58:03 -0000	1.5
  @@ -100,7 +100,7 @@
             setup parameters
           </p>
           <table>
  -          <tr><th>Parametername</th><th>Type</th><th>Comment</th></tr>
  +          <tr><th>Parameter Name</th><th>Type</th><th>Comment</th></tr>
             <tr><td>expires</td><td>Time in milliseconds</td>
               <td>
                 This parameter is optional. When specified it determines how long
  
  
  
  1.8       +23 -7     xml-cocoon2/src/scratchpad/src/org/apache/cocoon/reading/ImageReader.java
  
  Index: ImageReader.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/reading/ImageReader.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ImageReader.java	31 Jan 2003 22:54:40 -0000	1.7
  +++ ImageReader.java	1 Feb 2003 02:58:03 -0000	1.8
  @@ -68,6 +68,7 @@
   import java.awt.image.WritableRaster;
   import java.io.ByteArrayOutputStream;
   import java.io.IOException;
  +import java.io.Serializable;
   import java.util.Map;
   
   /**
  @@ -93,18 +94,18 @@
    * @author <a href="mailto:tcurdt@apache.org">Torsten Curdt</a>
    * @version CVS $Revision$ $Date$
    */
  - 
   final public class ImageReader extends ResourceReader {
   
       private int width;
       private int height;
   
  -    public void setup(SourceResolver resolver, Map objectModel, String src, Parameters par) throws ProcessingException, SAXException, IOException {
  +    public void setup(SourceResolver resolver, Map objectModel, String src, Parameters par)
  +            throws ProcessingException, SAXException, IOException {
  +
           super.setup(resolver, objectModel, src, par);
   
           width = par.getParameterAsInteger("width", 0);
           height = par.getParameterAsInteger("height", 0);
  -
       }
   
       /** 
  @@ -142,7 +143,9 @@
       protected void processStream() throws IOException, ProcessingException {
           if (width > 0 || height > 0) {
               if (getLogger().isDebugEnabled()) {
  -                getLogger().debug("image " + ((width==0)?"?":Integer.toString(width)) + "x" + ((height==0)?"?":Integer.toString(height)) +" expires: " + expires);
  +                getLogger().debug("image " + ((width==0)?"?":Integer.toString(width))
  +                                  + "x" + ((height==0)?"?":Integer.toString(height))
  +                                  + " expires: " + expires);
               }
   
               // since we create the image on the fly
  @@ -193,8 +196,7 @@
               }
   
               inputStream.close();
  -        }
  -        else {
  +        } else {
               // only read the resource - no modifications requested
               if (getLogger().isDebugEnabled()) {
                   getLogger().debug("passing original resource");
  @@ -203,4 +205,18 @@
           }
       }
   
  +    /**
  +     * Generate the unique key.
  +     * This key must be unique inside the space of this component.
  +     *
  +     * @return The generated key consists from src and width and height
  +     * parameters
  +    */
  +    public Serializable generateKey() {
  +        if (width > 0 || height > 0) {
  +            return this.inputSource.getURI() + ':' + this.width + ':' + this.height;
  +        } else {
  +            return super.generateKey();
  +        }
  +    }
   }
  
  
  
  1.7       +13 -1     xml-cocoon2/src/scratchpad/webapp/samples/scratchpad-samples.xml
  
  Index: scratchpad-samples.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/scratchpad-samples.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- scratchpad-samples.xml	1 Feb 2003 02:09:30 -0000	1.6
  +++ scratchpad-samples.xml	1 Feb 2003 02:58:03 -0000	1.7
  @@ -55,4 +55,16 @@
         Show the usage of the Mail Action.
       </sample>
     </group>
  +
  +  <group name="ImageReader">
  +    <sample name="Image" href="imagereader/image-0">
  +      Image of original size
  +    </sample>
  +    <sample name="Image 250x250" href="imagereader/image-250">
  +      Image scaled up to the size 250 x 250
  +    </sample>
  +    <sample name="Image 50x50" href="imagereader/image-50">
  +      Image scaled down to the size 50 x 50
  +    </sample>
  +  </group>
   </samples>
  
  
  
  1.1                  xml-cocoon2/src/scratchpad/webapp/samples/imagereader/logo.jpg
  
  	<<Binary file>>
  
  
  1.1                  xml-cocoon2/src/scratchpad/webapp/samples/imagereader/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  <?xml version="1.0"?>
  
  <!--
    CVS $Id: sitemap.xmap,v 1.1 2003/02/01 02:58:03 vgritsenko Exp $
    
    Image Reader Sample
  -->
  
  <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
    <map:components>
      <map:generators default="file"/>
      <map:transformers default="xslt">
        <map:transformer name="paginate" src="org.apache.cocoon.transformation.pagination.Paginator"/>
      </map:transformers>
      <map:readers default="resource">
        <map:reader name="image" src="org.apache.cocoon.reading.ImageReader" logger="sitemap.reader.image" pool-max="32" pool-min="1" pool-grow="4"/>
      </map:readers>
      <map:serializers default="html"/>
      <map:matchers default="wildcard"/>
      <map:selectors default="browser"/>
    </map:components>
  
    <map:pipelines>
      <map:pipeline>
        <map:match pattern="">
          <map:redirect-to uri="image-100"/>
        </map:match>
   
        <map:match pattern="image-*">
          <map:read type="image" src="logo.jpg">
            <map:parameter name="width" value="{1}"/>
            <map:parameter name="height" value="{1}"/>
          </map:read>
        </map:match>
      </map:pipeline>
    </map:pipelines>
  </map:sitemap>
  
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org