You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2002/06/28 09:14:37 UTC
cvs commit: xml-cocoon2/src/scratchpad/webapp/mount/editor editor.xmap test.xmap
cziegeler 2002/06/28 00:14:37
Modified: src/java/org/apache/cocoon/transformation
AbstractSAXTransformer.java
SourceWritingTransformer.java
src/scratchpad/webapp/mount/editor editor.xmap test.xmap
Log:
Fixed EmptyStackException reported by Denis Thierry [denis.thierry@aic-info.com] and NPE in SourceWritingTransformer
Revision Changes Path
1.6 +14 -7 xml-cocoon2/src/java/org/apache/cocoon/transformation/AbstractSAXTransformer.java
Index: AbstractSAXTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/AbstractSAXTransformer.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AbstractSAXTransformer.java 20 May 2002 06:53:15 -0000 1.5
+++ AbstractSAXTransformer.java 28 Jun 2002 07:14:36 -0000 1.6
@@ -191,6 +191,9 @@
/** The SourceResolver for this request */
protected SourceResolver resolver;
+ /** Are we already initialized for the current request? */
+ private boolean isInitialized;
+
/** Empty attributes (for performance). This can be used
* do create own attributes, but make sure to clean them
* afterwords.
@@ -240,6 +243,7 @@
this.resolver = resolver;
this.parameters = par;
this.source = src;
+ this.isInitialized = false;
// get the current namespace
this.namespaceURI = this.parameters.getParameter("namespaceURI", this.defaultNamespaceURI);
@@ -286,12 +290,15 @@
*/
public void startDocument()
throws SAXException {
- try {
- this.setupTransforming();
- } catch (ProcessingException local) {
- throw new SAXException("ProcessingException: " + local, local);
- } catch (IOException ioe) {
- throw new SAXException("IOException: " + ioe, ioe);
+ if ( !this.isInitialized ) {
+ try {
+ this.setupTransforming();
+ } catch (ProcessingException local) {
+ throw new SAXException("ProcessingException: " + local, local);
+ } catch (IOException ioe) {
+ throw new SAXException("IOException: " + ioe, ioe);
+ }
+ this.isInitialized = true;
}
if (this.ignoreEventsCount == 0) super.startDocument();
}
1.4 +5 -3 xml-cocoon2/src/java/org/apache/cocoon/transformation/SourceWritingTransformer.java
Index: SourceWritingTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/SourceWritingTransformer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SourceWritingTransformer.java 4 Jun 2002 07:31:52 -0000 1.3
+++ SourceWritingTransformer.java 28 Jun 2002 07:14:36 -0000 1.4
@@ -578,10 +578,12 @@
attrs.addAttribute(null, SWT_ACTION_ATTRIBUTE, SWT_ACTION_ATTRIBUTE, "CDATA", action);
attrs.addAttribute(null, SWT_RESULT_ATTRIBUTE, SWT_RESULT_ATTRIBUTE, "CDATA", result);
if (this.serializer_name != null) attrs.addAttribute(null, SWT_SERIALIZER_ATTRIBUTE, SWT_SERIALIZER_ATTRIBUTE, "CDATA", this.serializer_name);
- super.startElement(uri, name, raw, attrs);
+ super.contentHandler.startElement(uri, name, raw, attrs);
if (this.message != null && this.failed == true) super.characters(this.message.toCharArray(), 0, this.message.length());
- super.endElement(uri, name, raw);
- getLogger().debug("Source Written");
+ super.contentHandler.endElement(uri, name, raw);
+ if (this.getLogger().isDebugEnabled()) {
+ this.getLogger().debug("Source Written");
+ }
}
// default
} else {
1.8 +1 -16 xml-cocoon2/src/scratchpad/webapp/mount/editor/editor.xmap
Index: editor.xmap
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/editor.xmap,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- editor.xmap 22 Mar 2002 12:09:59 -0000 1.7
+++ editor.xmap 28 Jun 2002 07:14:37 -0000 1.8
@@ -17,21 +17,6 @@
</map:generators>
<map:serializers default="html"/>
<map:transformers default="xslt">
-
- <!--
-
- Define 'sourcewriter' as the name for SourceWritingTransformer
- You can set up the default Serialiser here
- You can also set it in the invocation tag below
- or place serializer="serializer-name" in the source:write tag
- NB. If you are using FileSource, you need to specify a Serializer.
-
- -->
- <map:transformer name="sourcewriter" logger="sitemap.transformer.tofile"
- src="org.apache.cocoon.transformation.SourceWritingTransformer" label="source">
- <serializer>xml</serializer>
- </map:transformer>
-
</map:transformers>
<map:readers default="resource"/>
<map:matchers default="wildcard"/>
@@ -120,7 +105,7 @@
<map:transform src="editor/stylesheets/editor2writer.xsl">
<map:parameter name="base" value="docs"/>
</map:transform>
- <map:transform type="sourcewriter"/>
+ <map:transform type="write-source"/>
<map:serialize type="xml"/>
</map:match>
1.4 +3 -14 xml-cocoon2/src/scratchpad/webapp/mount/editor/test.xmap
Index: test.xmap
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/mount/editor/test.xmap,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- test.xmap 22 Mar 2002 12:09:59 -0000 1.3
+++ test.xmap 28 Jun 2002 07:14:37 -0000 1.4
@@ -21,17 +21,6 @@
</map:serializers>
<map:transformers default="xslt">
- <!-- Define 'filewriter' as the name for FileWritingTransformer -->
- <!-- You can set up the default Serialiser here -->
- <!-- You can also set it in the invocation tag below -->
- <!-- or place serializer="serializer-name" in the source:write tag -->
- <!-- if you leave it out altogether, 'xml' is used -->
-
- <map:transformer name="filewriter" logger="sitemap.transformer.tofile"
- src="org.apache.cocoon.transformation.SourceWritingTransformer">
- <serializer>my-xml-serializer</serializer>
- </map:transformer>
-
</map:transformers>
<map:readers default="resource"/>
<map:matchers default="wildcard"/>
@@ -47,7 +36,7 @@
<map:match pattern="test/4">
<map:generate src="tests/test4.xml"/>
<map:transform type="cinclude"/>
- <map:transform type="filewriter"/>
+ <map:transform type="write-source"/>
<map:transform src="stylesheets/simple-page2html.xsl">
<map:parameter name="view-source" value="tests/test4.xml"/>
</map:transform>
@@ -57,7 +46,7 @@
<map:match pattern="test/5">
<map:generate src="tests/test5.xml"/>
<map:transform src="tests/make-page.xsl"/>
- <map:transform type="filewriter">
+ <map:transform type="write-source">
<map:parameter name="serializer" value="xml"/> <!-- invoke the filewriter with 'xml' serializer -->
</map:transform>
<map:transform src="stylesheets/simple-page2html.xsl">
@@ -72,7 +61,7 @@
<map:parameter name="logfile" value="before.log"/>
<map:parameter name="append" value="no"/>
</map:transform>
- <map:transform type="filewriter"/>
+ <map:transform type="write-source"/>
<map:transform type="log">
<map:parameter name="logfile" value="after.log"/>
<map:parameter name="append" value="no"/>
----------------------------------------------------------------------
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