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