Browse Source

Undo r655765, which was causing NPEs in the layout-tests



git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@655791 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_0
Andreas L. Delmelle 16 years ago
parent
commit
2c493c4789

+ 0
- 13
src/java/org/apache/fop/fo/FOEventHandler.java View File

@@ -79,10 +79,6 @@ public abstract class FOEventHandler {
* This is used so we know if the FO tree contains duplicates.
*/
private Set idReferences = new HashSet();
/**
* Keeps track of the last automatically generated id in the current document
*/
private long lastGeneratedId = 1;
/**
* The property list maker.
@@ -181,15 +177,6 @@ public abstract class FOEventHandler {
return this.inMarker;
}
/**
* Return the next value for automatically generated ids
*
* @return the next value to append to automatically generated ids
*/
public long getNextId() {
return this.lastGeneratedId++;
}
/**
* This method is called to indicate the start of a new document run.
* @throws SAXException In case of a problem

+ 1
- 1
src/java/org/apache/fop/fo/FOPropertyMapping.java View File

@@ -2503,7 +2503,7 @@ public final class FOPropertyMapping implements Constants {
addPropertyMaker("content-type", m);

// id
m = new StringProperty.IdMaker(PR_ID);
m = new StringProperty.Maker(PR_ID);
m.setInherited(false);
m.setDefault("");
addPropertyMaker("id", m);

+ 1
- 43
src/java/org/apache/fop/fo/properties/StringProperty.java View File

@@ -81,49 +81,7 @@ public final class StringProperty extends Property {
}

}

/**
* Inner class dedicated to the "id" property, which should provide a random
* unique identifier as an initial value.
* The values for "id" are never cached, as they're typically valid for one
* document.
*/
public static class IdMaker extends PropertyMaker {

/**
* @param propId the id of the property for which the maker should be created
*/
public IdMaker(int propId) {
super(propId);
}

/** {@inheritDoc} */
public Property make(PropertyList propertyList) throws PropertyException {
String newId = "FO_";
newId += propertyList.getFObj().getFOEventHandler().getNextId();
return new StringProperty(newId);
}
/** {@inheritDoc} */
public Property make(PropertyList propertyList,
String value,
FObj fo) throws PropertyException {
Property idProp;
//no parsing necessary; just return a new StringProperty
//TODO: Should we move validation here? (see FObj#checkId())
if ("".equals(value)) {
//if an empty string was specified, return the default
idProp = this.make(propertyList);
} else {
idProp = new StringProperty(value);
}
return idProp;
}
}

/** cache containing all canonical StringProperty instances */
private static final PropertyCache cache = new PropertyCache(StringProperty.class);

+ 0
- 28
test/fotree/testcases/id_auto.fo View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:test="http://xmlgraphics.apache.org/fop/test">
<test:assert property="id" expected="FO_1" />
<fo:layout-master-set>
<test:assert property="id" expected="FO_2" />
<fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
<test:assert property="id" expected="FO_3" />
<fo:region-body>
<test:assert property="id" expected="FO_4" />
</fo:region-body>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="simpleA4">
<test:assert property="id" expected="FO_5" />
<fo:flow flow-name="xsl-region-body">
<test:assert property="id" expected="FO_6" />
<fo:block font-size="14pt" id="block">Hello
<test:assert property="id" expected="block"/>
<fo:inline> World!
<test:assert property="id" expected="FO_7" />
</fo:inline>
</fo:block>
<fo:block font-family="ZapfDingbats">&#2702;
<test:assert property="id" expected="FO_8" />
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

Loading…
Cancel
Save