User: hr Date: 2007-08-03 09:52:10+0000 Modified: dba/reportdesign/java/com/sun/star/report/pentaho/parser/text/TextContentReadHandler.java
Log: INTEGRATION: CWS rpt23fix02 (1.2.4); FILE MERGED 2007/07/31 09:34:16 tmorgner 1.2.4.2: Fixed the non-display of shapes that was caused by some unnecessary CDATA copied from the original XML file. We now ignore all CDATA from <draw:*> elements. 2007/07/30 13:08:50 tmorgner 1.2.4.1: Issue number: 80157 Keep-Together is now applied to the paragraph-style instead of the cell-style. However, as cell-styles dont (yet) get inherited if the paragraph has a style defined, this now breaks the fonts of the first cell. Either we or the text/ style team should fix or work around this issue. Also fixed: A possible nullpointer if the image-data is invalid. File Changes: Directory: /dba/reportdesign/java/com/sun/star/report/pentaho/parser/text/ ========================================================================== File [changed]: TextContentReadHandler.java Url: http://dba.openoffice.org/source/browse/dba/reportdesign/java/com/sun/star/report/pentaho/parser/text/TextContentReadHandler.java?r1=1.2&r2=1.3 Delta lines: +8 -117 --------------------- --- TextContentReadHandler.java 2007-07-09 11:56:12+0000 1.2 +++ TextContentReadHandler.java 2007-08-03 09:52:07+0000 1.3 @@ -36,19 +36,8 @@ package com.sun.star.report.pentaho.parser.text; -import java.util.ArrayList; - -import com.sun.star.report.pentaho.parser.ElementReadHandler; -import com.sun.star.report.pentaho.parser.StarXmlFactoryModule; -import com.sun.star.report.pentaho.parser.rpt.FixedContentReadHandler; -import com.sun.star.report.pentaho.parser.rpt.FormattedTextReadHandler; -import com.sun.star.report.pentaho.parser.rpt.ImageReadHandler; -import com.sun.star.report.pentaho.OfficeNamespaces; -import org.jfree.report.structure.Element; import org.jfree.report.structure.Section; import org.jfree.report.structure.StaticText; -import org.jfree.xmlns.parser.XmlReadHandler; -import org.xml.sax.Attributes; import org.xml.sax.SAXException; /** @@ -57,90 +46,20 @@ * * @author Thomas Morgner */ -public class TextContentReadHandler extends ElementReadHandler +public class TextContentReadHandler extends NoCDATATextContentReadHandler { - private Section section; - private ArrayList children; - private boolean copyType; - - public TextContentReadHandler(final Section section, - final boolean copyType) + public TextContentReadHandler(final Section section, final boolean copyType) { - this.children = new ArrayList(); - this.section = section; - this.copyType = copyType; + super(section, copyType); } public TextContentReadHandler(final Section section) { - this (section, false); + super(section); } public TextContentReadHandler() { - this(new Section(), true); - } - - - /** - * Starts parsing. - * - * @param attrs the attributes. - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void startParsing(final Attributes attrs) throws SAXException - { - super.startParsing(attrs); - final Element element = getElement(); - if (copyType) - { - copyElementType(element); - } - copyAttributes(attrs, element); - } - - /** - * Returns the handler for a child element. - * - * @param tagName the tag name. - * @param atts the attributes. - * @return the handler or null, if the tagname is invalid. - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected XmlReadHandler getHandlerForChild(final String uri, - final String tagName, - final Attributes atts) - throws SAXException - { - if (OfficeNamespaces.OOREPORT_NS.equals(uri)) - { - if ("fixed-content".equals(tagName)) - { - final FixedContentReadHandler fixedContentReadHandler = new FixedContentReadHandler(); - children.add(fixedContentReadHandler); - return fixedContentReadHandler; - } - if ("formatted-text".equals(tagName)) - { - final FormattedTextReadHandler formattedTextReadHandler = new FormattedTextReadHandler(); - children.add(formattedTextReadHandler); - return formattedTextReadHandler; - } - if ("image".equals(tagName)) - { - final ImageReadHandler imageReadHandler = new ImageReadHandler(); - children.add(imageReadHandler); - return imageReadHandler; - } - if ("sub-document".equals(tagName)) - { - return null; - } - } - - final TextContentReadHandler readHandler = new TextContentReadHandler(); - children.add(readHandler); - return readHandler; } /** @@ -154,34 +73,6 @@ public void characters(final char[] ch, final int start, final int length) throws SAXException { - children.add(new StaticText(new String(ch, start, length))); - } - - /** - * Done parsing. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void doneParsing() throws SAXException - { - for (int i = 0; i < children.size(); i++) - { - final Object o = children.get(i); - if (o instanceof ElementReadHandler) - { - final ElementReadHandler handler = (ElementReadHandler) o; - section.addNode(handler.getElement()); - } - else if (o instanceof StaticText) - { - section.addNode((StaticText) o); - } - } - } - - - public Element getElement() - { - return section; + getChildren().add(new StaticText(new String(ch, start, length))); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
