cziegeler 01/05/28 23:13:48 Modified: src/org/apache/cocoon/components/parser Parser.java src/org/apache/cocoon/components/sax XMLTeePipe.java src/org/apache/cocoon/generation FileGenerator.java JspGenerator.java PhpGenerator.java ScriptGenerator.java ServerPagesGenerator.java VelocityGenerator.java src/org/apache/cocoon/transformation XIncludeTransformer.java src/org/apache/cocoon/xml XIncludeContentHandler.java XMLProducer.java Log: Removed setContentHandler and setLexicalHandler from the XMLProducer interface Revision Changes Path 1.2 +7 -1 xml-cocoon2/src/org/apache/cocoon/components/parser/Parser.java Index: Parser.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/parser/Parser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Parser.java 2001/05/09 20:49:58 1.1 +++ Parser.java 2001/05/29 06:13:46 1.2 @@ -14,14 +14,20 @@ import org.w3c.dom.Document; import org.xml.sax.InputSource; import org.xml.sax.SAXException; +import org.xml.sax.ContentHandler; +import org.xml.sax.ext.LexicalHandler; /** * * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a> * (Apache Software Foundation, Exoffice Technologies) - * @version CVS $Revision: 1.1 $ $Date: 2001/05/09 20:49:58 $ + * @version CVS $Revision: 1.2 $ $Date: 2001/05/29 06:13:46 $ */ public interface Parser extends Component, XMLProducer, DOMFactory { + + void setContentHandler(ContentHandler contentHandler); + + void setLexicalHandler(LexicalHandler lexicalHandler); void parse(InputSource in) throws SAXException, IOException; 1.2 +44 -64 xml-cocoon2/src/org/apache/cocoon/components/sax/XMLTeePipe.java Index: XMLTeePipe.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/sax/XMLTeePipe.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XMLTeePipe.java 2001/05/09 20:50:00 1.1 +++ XMLTeePipe.java 2001/05/29 06:13:46 1.2 @@ -23,7 +23,7 @@ * The incoming events are forwarded to two other components. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Revision: 1.1 $ $Date: 2001/05/09 20:50:00 $ + * @version CVS $Revision: 1.2 $ $Date: 2001/05/29 06:13:46 $ */ public final class XMLTeePipe @@ -33,138 +33,118 @@ * Set the <code>XMLConsumer</code> that will receive XML data. */ public void setConsumer(XMLConsumer consumer) { - ((XMLProducer)this.lexicalHandler).setConsumer(consumer); + ((XMLProducer)this.firstConsumer).setConsumer(consumer); } - /** - * Set the <code>ContentHandler</code> that will receive XML data. - */ - public void setContentHandler(ContentHandler content) { - ((XMLProducer)this.lexicalHandler).setContentHandler(content); - } - - /** - * Set the <code>LexicalHandler</code> that will receive XML data. - */ - public void setLexicalHandler(LexicalHandler lexical) { - ((XMLProducer)this.lexicalHandler).setLexicalHandler(lexical); - } - - private ContentHandler secondContentHandler; - private LexicalHandler secondLexicalHandler; - private ContentHandler contentHandler; - private LexicalHandler lexicalHandler; + private XMLConsumer firstConsumer; + private XMLConsumer secondConsumer; /** * Create a new XMLTeePipe with two consumers */ public XMLTeePipe(XMLConsumer firstPipe, XMLConsumer secondConsumer) { - this.contentHandler = firstPipe; - this.lexicalHandler = firstPipe; - this.secondContentHandler = secondConsumer; - this.secondLexicalHandler = secondConsumer; + this.firstConsumer = firstPipe; + this.secondConsumer = secondConsumer; } public void recycle() { - this.secondContentHandler = null; - this.contentHandler = null; - this.secondLexicalHandler = null; - this.lexicalHandler = null; + this.firstConsumer = null; + this.secondConsumer = null; } public void startDocument() throws SAXException { - this.contentHandler.startDocument(); - this.secondContentHandler.startDocument(); + this.firstConsumer.startDocument(); + this.secondConsumer.startDocument(); } public void endDocument() throws SAXException { - this.contentHandler.endDocument(); - this.secondContentHandler.endDocument(); + this.firstConsumer.endDocument(); + this.secondConsumer.endDocument(); } public void startPrefixMapping(String prefix, String uri) throws SAXException { - this.contentHandler.startPrefixMapping(prefix, uri); - this.secondContentHandler.startPrefixMapping(prefix, uri); + this.firstConsumer.startPrefixMapping(prefix, uri); + this.secondConsumer.startPrefixMapping(prefix, uri); } public void endPrefixMapping(String prefix) throws SAXException { - this.contentHandler.endPrefixMapping(prefix); - this.secondContentHandler.endPrefixMapping(prefix); + this.firstConsumer.endPrefixMapping(prefix); + this.secondConsumer.endPrefixMapping(prefix); } public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { - this.contentHandler.startElement(namespaceURI, localName, qName, atts); - this.secondContentHandler.startElement(namespaceURI, localName, qName, atts); + this.firstConsumer.startElement(namespaceURI, localName, qName, atts); + this.secondConsumer.startElement(namespaceURI, localName, qName, atts); } public void endElement(String namespaceURI, String localName, String qName) throws SAXException { - this.contentHandler.endElement(namespaceURI, localName, qName); - this.secondContentHandler.endElement(namespaceURI, localName, qName); + this.firstConsumer.endElement(namespaceURI, localName, qName); + this.secondConsumer.endElement(namespaceURI, localName, qName); } public void characters(char[] ch, int start, int length) throws SAXException { - this.contentHandler.characters(ch, start, length); - this.secondContentHandler.characters(ch, start, length); + this.firstConsumer.characters(ch, start, length); + this.secondConsumer.characters(ch, start, length); } public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException { - this.contentHandler.ignorableWhitespace(ch, start, length); - this.secondContentHandler.ignorableWhitespace(ch, start, length); + this.firstConsumer.ignorableWhitespace(ch, start, length); + this.secondConsumer.ignorableWhitespace(ch, start, length); } public void processingInstruction(String target, String data) throws SAXException { - this.contentHandler.processingInstruction(target, data); - this.secondContentHandler.processingInstruction(target, data); + this.firstConsumer.processingInstruction(target, data); + this.secondConsumer.processingInstruction(target, data); } public void setDocumentLocator(Locator locator) { - this.contentHandler.setDocumentLocator(locator); - this.secondContentHandler.setDocumentLocator(locator); + this.firstConsumer.setDocumentLocator(locator); + this.secondConsumer.setDocumentLocator(locator); } public void skippedEntity(String name) throws SAXException { - this.contentHandler.skippedEntity(name); - this.secondContentHandler.skippedEntity(name); + this.firstConsumer.skippedEntity(name); + this.secondConsumer.skippedEntity(name); } public void startDTD(String name, String public_id, String system_id) throws SAXException { - this.lexicalHandler.startDTD(name, public_id, system_id); - this.secondLexicalHandler.startDTD(name, public_id, system_id); + this.firstConsumer.startDTD(name, public_id, system_id); + this.secondConsumer.startDTD(name, public_id, system_id); } public void endDTD() throws SAXException { - this.lexicalHandler.endDTD(); - this.secondLexicalHandler.endDTD(); + this.firstConsumer.endDTD(); + this.secondConsumer.endDTD(); } public void startEntity(String name) throws SAXException { - this.lexicalHandler.startEntity(name); - this.secondLexicalHandler.startEntity(name); + this.firstConsumer.startEntity(name); + this.secondConsumer.startEntity(name); } public void endEntity(String name) throws SAXException { - this.lexicalHandler.endEntity(name); - this.secondLexicalHandler.endEntity(name); + this.firstConsumer.endEntity(name); + this.secondConsumer.endEntity(name); } public void startCDATA() throws SAXException { - this.lexicalHandler.startCDATA(); - this.secondLexicalHandler.startCDATA(); + this.firstConsumer.startCDATA(); + this.secondConsumer.startCDATA(); } public void endCDATA() throws SAXException { - this.lexicalHandler.endCDATA(); - this.secondLexicalHandler.endCDATA(); + this.firstConsumer.endCDATA(); + this.secondConsumer.endCDATA(); } public void comment(char ary[], int start, int length) throws SAXException { - this.lexicalHandler.comment(ary, start, length); - this.secondLexicalHandler.comment(ary, start, length); + this.firstConsumer.comment(ary, start, length); + this.secondConsumer.comment(ary, start, length); } } 1.5 +2 -3 xml-cocoon2/src/org/apache/cocoon/generation/FileGenerator.java Index: FileGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/FileGenerator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- FileGenerator.java 2001/05/22 14:40:39 1.4 +++ FileGenerator.java 2001/05/29 06:13:47 1.5 @@ -39,7 +39,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a> * (Apache Software Foundation, Exoffice Technologies) * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Revision: 1.4 $ $Date: 2001/05/22 14:40:39 $ + * @version CVS $Revision: 1.5 $ $Date: 2001/05/29 06:13:47 $ */ public class FileGenerator extends ComposerGenerator implements Cacheable, Recyclable { @@ -112,8 +112,7 @@ parser = (Parser)this.manager.lookup(Roles.PARSER); - parser.setContentHandler(super.contentHandler); - parser.setLexicalHandler(super.lexicalHandler); + parser.setConsumer(super.xmlConsumer); parser.parse(new InputSource(inputSource.getInputStream())); } catch (IOException e) { 1.5 +2 -3 xml-cocoon2/src/org/apache/cocoon/generation/JspGenerator.java Index: JspGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/JspGenerator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- JspGenerator.java 2001/05/23 17:02:24 1.4 +++ JspGenerator.java 2001/05/29 06:13:47 1.5 @@ -48,7 +48,7 @@ * results into SAX events. * * @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a> - * @version CVS $Revision: 1.4 $ $Date: 2001/05/23 17:02:24 $ + * @version CVS $Revision: 1.5 $ $Date: 2001/05/29 06:13:47 $ */ public class JspGenerator extends ServletGenerator implements Recyclable { @@ -84,8 +84,7 @@ // pipe the results into the parser parser = (Parser)this.manager.lookup(Roles.PARSER); - parser.setContentHandler(this.contentHandler); - parser.setLexicalHandler(this.lexicalHandler); + parser.setConsumer(this.xmlConsumer); parser.parse(new InputSource(input)); // clean up 1.5 +2 -3 xml-cocoon2/src/org/apache/cocoon/generation/PhpGenerator.java Index: PhpGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/PhpGenerator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- PhpGenerator.java 2001/05/23 14:30:50 1.4 +++ PhpGenerator.java 2001/05/29 06:13:47 1.5 @@ -40,7 +40,7 @@ * results into SAX events. * * @author <a href="mailto:[EMAIL PROTECTED]">Sam Ruby</a> - * @version CVS $Revision: 1.4 $ $Date: 2001/05/23 14:30:50 $ + * @version CVS $Revision: 1.5 $ $Date: 2001/05/29 06:13:47 $ */ public class PhpGenerator extends ServletGenerator implements Recyclable { @@ -153,8 +153,7 @@ // pipe the results into the parser parser = (Parser)this.manager.lookup(Roles.PARSER); - parser.setContentHandler(this.contentHandler); - parser.setLexicalHandler(this.lexicalHandler); + parser.setConsumer(this.xmlConsumer); parser.parse(new InputSource(input)); // clean up 1.6 +13 -14 xml-cocoon2/src/org/apache/cocoon/generation/ScriptGenerator.java Index: ScriptGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/ScriptGenerator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ScriptGenerator.java 2001/05/22 14:41:12 1.5 +++ ScriptGenerator.java 2001/05/29 06:13:47 1.6 @@ -46,14 +46,14 @@ * <language> * </add-languages> * </pre> - * + * * @author <a href="mailto:[EMAIL PROTECTED]">Jason Foster</a> - * @version CVS $Revision: 1.5 $ $Date: 2001/05/22 14:41:12 $ + * @version CVS $Revision: 1.6 $ $Date: 2001/05/29 06:13:47 $ */ public class ScriptGenerator extends ComposerGenerator implements Configurable, Recyclable { - protected class BSFLanguage + protected class BSFLanguage { public String name; public String engineSrc; @@ -71,26 +71,26 @@ { //add optional support for additional languages Configuration languagesToAdd = conf.getChild("add-languages"); - + Configuration[] languages = languagesToAdd.getChildren("language"); this.additionalLanguages = new BSFLanguage[languages.length]; - + for (int i = 0; i < languages.length; ++i) { Configuration language = languages[i]; BSFLanguage bsfLanguage = new BSFLanguage(); - + bsfLanguage.name = language.getAttribute("name"); bsfLanguage.engineSrc = language.getAttribute("src"); getLogger().debug("Configuring ScriptGenerator with additional BSF language " + bsfLanguage.name); getLogger().debug("Configuring ScriptGenerator with BSF engine " + bsfLanguage.engineSrc); - - + + Configuration[] extensions = language.getChildren("extension"); bsfLanguage.extensions = new String[extensions.length]; - + for (int j = 0; j < extensions.length; ++j) { bsfLanguage.extensions[i] = extensions[i].getValue(); @@ -129,17 +129,17 @@ // add support for additional languages if (this.additionalLanguages != null) - { + { for (int i = 0; i < this.additionalLanguages.length; ++i) { getLogger().debug("adding BSF language " + this.additionalLanguages[i].name + " with engine " + this.additionalLanguages[i].engineSrc); - + mgr.registerScriptingEngine(this.additionalLanguages[i].name, this.additionalLanguages[i].engineSrc, this.additionalLanguages[i].extensions); } } - + StringBuffer output = new StringBuffer(); mgr.registerBean("resolver", this.resolver); @@ -164,8 +164,7 @@ InputSource xmlInput = new InputSource(new StringReader(output.toString())); parser = (Parser)(this.manager.lookup(Roles.PARSER)); - parser.setContentHandler(this.contentHandler); - parser.setLexicalHandler(this.lexicalHandler); + parser.setConsumer(this.xmlConsumer); parser.parse(xmlInput); } catch (FileNotFoundException e) { throw new ProcessingException( 1.5 +4 -4 xml-cocoon2/src/org/apache/cocoon/generation/ServerPagesGenerator.java Index: ServerPagesGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/ServerPagesGenerator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ServerPagesGenerator.java 2001/05/25 14:25:59 1.4 +++ ServerPagesGenerator.java 2001/05/29 06:13:47 1.5 @@ -33,6 +33,7 @@ import org.apache.cocoon.components.language.generator.ProgramGenerator; import org.apache.cocoon.components.language.markup.xsp.XSPGenerator; import org.apache.cocoon.util.HashUtil; +import org.apache.cocoon.xml.XMLConsumer; import org.apache.avalon.excalibur.pool.Recyclable; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; @@ -46,11 +47,11 @@ * delegating actual SAX event generation. * * @author <a href="mailto:[EMAIL PROTECTED]">Ricardo Rocha</a> - * @version CVS $Revision: 1.4 $ $Date: 2001/05/25 14:25:59 $ + * @version CVS $Revision: 1.5 $ $Date: 2001/05/29 06:13:47 $ */ public class ServerPagesGenerator extends ServletGenerator - implements ContentHandler, LexicalHandler, Recyclable, Disposable, Cacheable + implements Recyclable, Disposable, Cacheable, XMLConsumer { /** * The sitemap-defined server pages program generator @@ -170,8 +171,7 @@ */ public void generate() throws IOException, SAXException, ProcessingException { - generator.setContentHandler(this); - generator.setLexicalHandler(this); + generator.setConsumer(this); // log exception and ensure that generator is released. try { 1.3 +2 -3 xml-cocoon2/src/org/apache/cocoon/generation/VelocityGenerator.java Index: VelocityGenerator.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/generation/VelocityGenerator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- VelocityGenerator.java 2001/05/10 21:16:55 1.2 +++ VelocityGenerator.java 2001/05/29 06:13:47 1.3 @@ -26,7 +26,7 @@ /** * @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a> - * @version CVS $Revision: 1.2 $ $Date: 2001/05/10 21:16:55 $ + * @version CVS $Revision: 1.3 $ $Date: 2001/05/29 06:13:47 $ */ public class VelocityGenerator extends ServletGenerator implements Recyclable { @@ -71,8 +71,7 @@ InputSource xmlInput = new InputSource(new StringReader(w.toString())); - parser.setContentHandler(this.contentHandler); - parser.setLexicalHandler(this.lexicalHandler); + parser.setConsumer(this.xmlConsumer); parser.parse(xmlInput); } catch (IOException e){ getLogger().warn("VelocityGenerator.generate()", e); 1.4 +2 -3 xml-cocoon2/src/org/apache/cocoon/transformation/XIncludeTransformer.java Index: XIncludeTransformer.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/transformation/XIncludeTransformer.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- XIncludeTransformer.java 2001/05/22 14:47:52 1.3 +++ XIncludeTransformer.java 2001/05/29 06:13:47 1.4 @@ -54,7 +54,7 @@ * by the SAX event FSM yet. * * @author <a href="mailto:[EMAIL PROTECTED]">Donald Ball</a> - * @version CVS $Revision: 1.3 $ $Date: 2001/05/22 14:47:52 $ $Author: cziegeler $ + * @version CVS $Revision: 1.4 $ $Date: 2001/05/29 06:13:47 $ $Author: cziegeler $ */ public class XIncludeTransformer extends AbstractTransformer implements Composable, Recyclable, Disposable { @@ -261,8 +261,7 @@ } else { XIncludeContentHandler xinclude_handler = new XIncludeContentHandler(super.contentHandler,super.lexicalHandler); xinclude_handler.setLogger(getLogger()); - parser.setContentHandler(xinclude_handler); - parser.setLexicalHandler(xinclude_handler); + parser.setConsumer(xinclude_handler); parser.parse(input); } } catch(SAXException e) { 1.2 +8 -2 xml-cocoon2/src/org/apache/cocoon/xml/XIncludeContentHandler.java Index: XIncludeContentHandler.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/xml/XIncludeContentHandler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XIncludeContentHandler.java 2001/05/09 20:49:31 1.1 +++ XIncludeContentHandler.java 2001/05/29 06:13:48 1.2 @@ -8,6 +8,7 @@ package org.apache.cocoon.xml; import org.apache.avalon.framework.logger.AbstractLoggable; +import org.apache.cocoon.xml.XMLConsumer; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.Locator; @@ -18,9 +19,9 @@ * Extracted class from XIncludeTransformer for use in XIncludeSAXConnector. * * @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a> - * @version CVS $Revision: 1.1 $ $Date: 2001/05/09 20:49:31 $ $Author: giacomo $ + * @version CVS $Revision: 1.2 $ $Date: 2001/05/29 06:13:48 $ $Author: cziegeler $ */ -public class XIncludeContentHandler extends AbstractLoggable implements ContentHandler, LexicalHandler { +public class XIncludeContentHandler extends AbstractLoggable implements XMLConsumer { private ContentHandler content_handler; LexicalHandler lexical_handler; @@ -28,6 +29,11 @@ public XIncludeContentHandler(ContentHandler content_handler, LexicalHandler lexical_handler) { this.content_handler = content_handler; this.lexical_handler = lexical_handler; + } + + public XIncludeContentHandler(XMLConsumer consumer) { + this.content_handler = consumer; + this.lexical_handler = consumer; } public void setDocumentLocator(Locator locator) { 1.2 +2 -11 xml-cocoon2/src/org/apache/cocoon/xml/XMLProducer.java Index: XMLProducer.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/xml/XMLProducer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XMLProducer.java 2001/05/09 20:49:31 1.1 +++ XMLProducer.java 2001/05/29 06:13:48 1.2 @@ -12,15 +12,14 @@ /** * This interfaces identifies classes that produce XML data, sending SAX - * events to the configured <code>XMLConsumer</code> (or SAX - * <code>ContentHandler</code> and <code>LexicalHandler</code>). + * events to the configured <code>XMLConsumer</code>. * <br> * It's beyond the scope of this interface to specify a way in which the XML * data production is started. * * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a> * (Apache Software Foundation, Exoffice Technologies) - * @version CVS $Revision: 1.1 $ $Date: 2001/05/09 20:49:31 $ + * @version CVS $Revision: 1.2 $ $Date: 2001/05/29 06:13:48 $ */ public interface XMLProducer { @@ -29,13 +28,5 @@ */ void setConsumer(XMLConsumer consumer); - /** - * Set the <code>ContentHandler</code> that will receive XML data. - */ - void setContentHandler(ContentHandler content); - /** - * Set the <code>LexicalHandler</code> that will receive XML data. - */ - void setLexicalHandler(LexicalHandler lexical); } ---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]