You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ro...@apache.org on 2001/03/10 16:48:43 UTC
cvs commit: xml-cocoon/src/org/apache/cocoon/serialization SVGSerializer.java
rossb 01/03/10 07:48:42
Modified: webapp Tag: xml-cocoon2 sitemap.xmap
. Tag: xml-cocoon2 changes.xml
src/org/apache/cocoon/serialization Tag: xml-cocoon2
SVGSerializer.java
Log:
Updated the SVG Serializer to use the new TranscoderFactory, so that
the user does not have to explicity set the transcoder, just the MIME
type. Thus, removed the transcoder lines from the sitemap.
Revision Changes Path
No revision
No revision
1.1.2.47 +0 -2 xml-cocoon/webapp/Attic/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/xml-cocoon/webapp/Attic/sitemap.xmap,v
retrieving revision 1.1.2.46
retrieving revision 1.1.2.47
diff -u -r1.1.2.46 -r1.1.2.47
--- sitemap.xmap 2001/03/08 15:24:42 1.1.2.46
+++ sitemap.xmap 2001/03/10 15:48:41 1.1.2.47
@@ -45,13 +45,11 @@
<doctype-system>http://www.w3.org/TR/2000/03/WD-SVG-20000303/</doctype-system>
</map:serializer>
<map:serializer name="svg2jpeg" mime-type="image/jpeg" src="org.apache.cocoon.serialization.SVGSerializer">
- <parameter name="transcoder" value="org.apache.batik.transcoder.image.JPEGTranscoder"/>
<!-- example parameter - background colour is bright green
<parameter name="background_color" type="color" value="#00FF00"/>
-->
</map:serializer>
<map:serializer name="svg2png" mime-type="image/png" src="org.apache.cocoon.serialization.SVGSerializer">
- <parameter name="transcoder" value="org.apache.batik.transcoder.image.PNGTranscoder"/>
</map:serializer>
</map:serializers>
No revision
No revision
1.9.2.26 +7 -3 xml-cocoon/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/changes.xml,v
retrieving revision 1.9.2.25
retrieving revision 1.9.2.26
diff -u -r1.9.2.25 -r1.9.2.26
--- changes.xml 2001/03/03 16:08:38 1.9.2.25
+++ changes.xml 2001/03/10 15:48:41 1.9.2.26
@@ -4,7 +4,7 @@
<!--
History of Cocoon changes
- $Id: changes.xml,v 1.9.2.25 2001/03/03 16:08:38 prussell Exp $
+ $Id: changes.xml,v 1.9.2.26 2001/03/10 15:48:41 rossb Exp $
-->
<changes title="History of Changes">
@@ -12,7 +12,7 @@
<devs>
<!-- in strict alphabetical order -->
<person name="Donald Ball" email="balld@apache.org" id="DB"/>
- <person name="Ross Burton" email="ross.burton@mail.com" id="RB"/>
+ <person name="Ross Burton" email="rossb@apache.org" id="RB"/>
<person name="Pierpaolo Fumagalli" email="pier@apache.org" id="PF"/>
<person name="Berin Loritsch" email="bloritsch@apache.org" id="BL"/>
<person name="Stefano Mazzocchi" email="stefano@apache.org" id="SM"/>
@@ -23,6 +23,10 @@
</devs>
<release version="@version@" date="@date@">
+ <action dev="RB" type="update">
+ Added a TranscoderFactory for Batik, and updated the SVG Serializer to use
+ it.
+ </action>
<action dev="PR" type="add">
Added support for SAXConnectors. This is the first stage in the
implementation of content aggregation. SAXConnectors could also
@@ -54,7 +58,7 @@
<action dev="BL" type="update">
Put meat on the Action Framework for the ManageEmployees form.
</action>
- <action dev="RB" type="add">
+ <action dev="RB" type="update">
SVG serializer now uses Batik.
</action>
<action dev="BL" type="add">
No revision
No revision
1.1.2.28 +17 -13 xml-cocoon/src/org/apache/cocoon/serialization/Attic/SVGSerializer.java
Index: SVGSerializer.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/serialization/Attic/SVGSerializer.java,v
retrieving revision 1.1.2.27
retrieving revision 1.1.2.28
diff -u -r1.1.2.27 -r1.1.2.28
--- SVGSerializer.java 2001/02/23 15:25:07 1.1.2.27
+++ SVGSerializer.java 2001/03/10 15:48:42 1.1.2.28
@@ -11,6 +11,8 @@
import org.apache.cocoon.*;
import org.apache.cocoon.environment.Environment;
import org.apache.cocoon.components.parser.Parser;
+import org.apache.cocoon.components.transcoder.TranscoderFactory;
+import org.apache.cocoon.components.transcoder.ExtendableTranscoderFactory;
import org.apache.cocoon.xml.*;
import org.apache.cocoon.xml.dom.*;
import org.apache.avalon.*;
@@ -30,7 +32,7 @@
*
* @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
* @author <a href="mailto:rossb@apache.org">Ross Burton</a>
- * @version CVS $Revision: 1.1.2.27 $ $Date: 2001/02/23 15:25:07 $
+ * @version CVS $Revision: 1.1.2.28 $ $Date: 2001/03/10 15:48:42 $
*/
public class SVGSerializer extends SVGBuilder implements Composer, Serializer, Configurable, Poolable {
@@ -50,6 +52,8 @@
private String mimetype = null;
/** The current <code>Transcoder</code>. */
Transcoder transcoder = null;
+ /** The Transcoder Factory to use */
+ TranscoderFactory factory = ExtendableTranscoderFactory.getTranscoderFactoryImplementation();
/**
* Set the <code>OutputStream</code> where the XML should be serialized.
@@ -64,32 +68,32 @@
public void configure(Configuration conf) throws ConfigurationException {
this.mimetype = conf.getAttribute("mime-type");
log.debug("SVGSerializer mime-type:" + mimetype);
- // TODO: take the mime type and create a transcoder from it
- // allow the parameter "transcoder" to override it however
- String transcoderName = null; // TODO: whatever the factory will say it is
+ // Using the Transcoder Factory, get the default transcoder
+ // for this MIME type.
+ this.transcoder = factory.createTranscoder(mimetype);
// Iterate through the parameters, looking for a transcoder reference
for (Iterator i = conf.getChildren("parameter"); i.hasNext(); ) {
Configuration paramConf = (Configuration)i.next();
String name = paramConf.getAttribute("name");
if ("transcoder".equals(name)) {
- transcoderName = paramConf.getAttribute("value");
+ String transcoderName = paramConf.getAttribute("value");
+ try {
+ this.transcoder = (Transcoder)ClassUtils.newInstance(transcoderName);
+ } catch (Exception ex) {
+ log.error("Cannot load class " + transcoderName, ex);
+ throw new ConfigurationException("Cannot load class " + transcoderName, ex);
+ }
}
}
- // Now try creating this transcoder
- if ( transcoderName == null ) {
+ // Do we have a transcoder yet?
+ if (this.transcoder == null ) {
throw new ConfigurationException(
"Could not autodetect transcoder for SVGSerializer and "
+ "no transcoder was specified in the sitemap configuration."
);
}
- try {
- this.transcoder = (Transcoder)ClassUtils.newInstance(transcoderName);
- } catch (Exception ex) {
- log.error("Cannot load class " + transcoderName, ex);
- throw new ConfigurationException("Cannot load class " + transcoderName, ex);
- }
// Now run through the other parameters, using them as hints
// to the transcoder
for (Iterator i = conf.getChildren("parameter"); i.hasNext(); ) {
----------------------------------------------------------------------
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