From 488c642a7a872f15bf0ae2b5d29f0746e181eca6 Mon Sep 17 00:00:00 2001 From: Mehdi Houshmand Date: Tue, 28 Aug 2012 09:59:04 +0000 Subject: [PATCH] Bugfix#53786: Removed the Attribute Qualifier (x80) triplet from TLEs as they aren't being properly used git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1378049 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/fop/afp/DataStream.java | 10 +++------- src/java/org/apache/fop/afp/Factory.java | 11 ++++------- .../fop/afp/modca/AbstractPageObject.java | 5 ++--- .../org/apache/fop/afp/modca/PageGroup.java | 17 ++--------------- .../apache/fop/afp/modca/TagLogicalElement.java | 10 +--------- status.xml | 3 +++ 6 files changed, 15 insertions(+), 41 deletions(-) diff --git a/src/java/org/apache/fop/afp/DataStream.java b/src/java/org/apache/fop/afp/DataStream.java index 9225df796..272c000bd 100644 --- a/src/java/org/apache/fop/afp/DataStream.java +++ b/src/java/org/apache/fop/afp/DataStream.java @@ -85,9 +85,6 @@ public class DataStream { /** The current page */ private AbstractPageObject currentPage = null; - /** Sequence number for TLE's.*/ - private int tleSequence = 0; - /** The MO:DCA interchange set in use (default to MO:DCA-P IS/2 set) */ private InterchangeSet interchangeSet = InterchangeSet.valueOf(InterchangeSet.MODCA_PRESENTATION_INTERCHANGE_SET_2); @@ -556,7 +553,7 @@ public class DataStream { public void createPageTagLogicalElement(TagLogicalElement.State[] attributes) { for (int i = 0; i < attributes.length; i++) { - currentPage.createTagLogicalElement(attributes[i], tleSequence++); + currentPage.createTagLogicalElement(attributes[i]); } } @@ -586,7 +583,7 @@ public class DataStream { TagLogicalElement.State tleState = new TagLogicalElement.State(name, value, encoding); if (currentPage != null) { - currentPage.createTagLogicalElement(tleState, tleSequence++); + currentPage.createTagLogicalElement(tleState); } else { currentPageGroup.createTagLogicalElement(tleState); @@ -637,7 +634,7 @@ public class DataStream { */ public void startPageGroup() throws IOException { endPageGroup(); - this.currentPageGroup = factory.createPageGroup(tleSequence); + this.currentPageGroup = factory.createPageGroup(); } /** @@ -648,7 +645,6 @@ public class DataStream { public void endPageGroup() throws IOException { if (currentPageGroup != null) { currentPageGroup.endPageGroup(); - tleSequence = currentPageGroup.getTleSequence(); document.addPageGroup(currentPageGroup); currentPageGroup = null; } diff --git a/src/java/org/apache/fop/afp/Factory.java b/src/java/org/apache/fop/afp/Factory.java index a1cfbc66e..f3e75c1af 100644 --- a/src/java/org/apache/fop/afp/Factory.java +++ b/src/java/org/apache/fop/afp/Factory.java @@ -214,13 +214,12 @@ public class Factory { /** * Creates a new MO:DCA {@link PageGroup} - * @param tleSequence current start tle sequence number within stream * @return a new {@link PageGroup} */ - public PageGroup createPageGroup(int tleSequence) { + public PageGroup createPageGroup() { String name = PAGE_GROUP_NAME_PREFIX + StringUtils.lpad(String.valueOf(++pageGroupCount), '0', 5); - return new PageGroup(this, name, tleSequence); + return new PageGroup(this, name); } /** @@ -375,12 +374,10 @@ public class Factory { * Creates a MO:DCA {@link TagLogicalElement} * * @param state the attribute state for the TLE - * @param tleSequence current start tle sequence number within stream* * @return a new {@link TagLogicalElement} */ - public TagLogicalElement createTagLogicalElement(TagLogicalElement.State state, - int tleSequence) { - TagLogicalElement tle = new TagLogicalElement(state, tleSequence); + public TagLogicalElement createTagLogicalElement(TagLogicalElement.State state) { + TagLogicalElement tle = new TagLogicalElement(state); return tle; } diff --git a/src/java/org/apache/fop/afp/modca/AbstractPageObject.java b/src/java/org/apache/fop/afp/modca/AbstractPageObject.java index 11b5f98b5..f429af28d 100644 --- a/src/java/org/apache/fop/afp/modca/AbstractPageObject.java +++ b/src/java/org/apache/fop/afp/modca/AbstractPageObject.java @@ -224,10 +224,9 @@ public abstract class AbstractPageObject extends AbstractNamedAFPObject implemen * Creates a TagLogicalElement on the page. * * @param state the state of the TLE - * @param tleID the id of the TLE */ - public void createTagLogicalElement(TagLogicalElement.State state, int tleID) { - TagLogicalElement tle = new TagLogicalElement(state, tleID); + public void createTagLogicalElement(TagLogicalElement.State state) { + TagLogicalElement tle = new TagLogicalElement(state); List list = getTagLogicalElements(); list.add(tle); } diff --git a/src/java/org/apache/fop/afp/modca/PageGroup.java b/src/java/org/apache/fop/afp/modca/PageGroup.java index 50f7ecde6..7d472a2cd 100644 --- a/src/java/org/apache/fop/afp/modca/PageGroup.java +++ b/src/java/org/apache/fop/afp/modca/PageGroup.java @@ -35,21 +35,14 @@ import org.apache.fop.afp.Factory; */ public class PageGroup extends AbstractResourceEnvironmentGroupContainer { - /** - * Sequence number for TLE's. - */ - private int tleSequence = 0; - /** * Constructor for the PageGroup. * * @param factory the resource manager * @param name the name of the page group - * @param tleSequence current start tle sequence number within stream */ - public PageGroup(Factory factory, String name, int tleSequence) { + public PageGroup(Factory factory, String name) { super(factory, name); - this.tleSequence = tleSequence; } /** @@ -59,10 +52,9 @@ public class PageGroup extends AbstractResourceEnvironmentGroupContainer { * the state of the TLE */ public void createTagLogicalElement(TagLogicalElement.State state) { - TagLogicalElement tle = factory.createTagLogicalElement(state, tleSequence); + TagLogicalElement tle = factory.createTagLogicalElement(state); if (!getTagLogicalElements().contains(tle)) { getTagLogicalElements().add(tle); - tleSequence++; } } @@ -91,9 +83,4 @@ public class PageGroup extends AbstractResourceEnvironmentGroupContainer { public String toString() { return this.getName(); } - - /** @return the TLE sequence number */ - public int getTleSequence() { - return tleSequence; - } } diff --git a/src/java/org/apache/fop/afp/modca/TagLogicalElement.java b/src/java/org/apache/fop/afp/modca/TagLogicalElement.java index c5efa13e6..9ae88b46f 100644 --- a/src/java/org/apache/fop/afp/modca/TagLogicalElement.java +++ b/src/java/org/apache/fop/afp/modca/TagLogicalElement.java @@ -53,22 +53,15 @@ public class TagLogicalElement extends AbstractTripletStructuredObject { * the params of the TLE */ private State state; - /** - * Sequence of TLE within document - */ - private int tleID; /** * Construct a tag logical element with the name and value specified. * * @param state the state of the tag logical element - * @param tleID unique identifier for TLE within AFP stream */ - public TagLogicalElement(State state, int tleID) { + public TagLogicalElement(State state) { this.state = state; - - this.tleID = tleID; } private void setAttributeValue(String value) { @@ -99,7 +92,6 @@ public class TagLogicalElement extends AbstractTripletStructuredObject { state.key); setAttributeValue(state.value); setEncoding(state.encoding); - setAttributeQualifier(tleID, 1); byte[] data = new byte[SF_HEADER_LENGTH]; copySF(data, Type.ATTRIBUTE, Category.PROCESS_ELEMENT); diff --git a/status.xml b/status.xml index aa9b0d5c1..a0d2267a3 100644 --- a/status.xml +++ b/status.xml @@ -62,6 +62,9 @@ documents. Example: the fix of marks layering will be such a case when it's done. --> + + Removed the Attribute Qualifier on TLEs as they aren't used. + Support for character encoding of TLEs in AFP output -- 2.39.5