diff options
author | Glen Mazza <gmazza@apache.org> | 2003-12-22 01:03:31 +0000 |
---|---|---|
committer | Glen Mazza <gmazza@apache.org> | 2003-12-22 01:03:31 +0000 |
commit | 657644f5904c56555d5ffca15ff297343cfbbd61 (patch) | |
tree | bbdeb0554db74a77698391c0be24043f72da9662 /src/java/org/apache/fop | |
parent | a93ddf92d90ee5ef8a4995488dc330b289bcdde8 (diff) | |
download | xmlgraphics-fop-657644f5904c56555d5ffca15ff297343cfbbd61.tar.gz xmlgraphics-fop-657644f5904c56555d5ffca15ff297343cfbbd61.zip |
Removal of some of the temporary code elements (FO Element lists still pending.)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197046 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/fop')
-rw-r--r-- | src/java/org/apache/fop/fo/FObj.java | 8 | ||||
-rw-r--r-- | src/java/org/apache/fop/fo/PropertyList.java | 105 |
2 files changed, 61 insertions, 52 deletions
diff --git a/src/java/org/apache/fop/fo/FObj.java b/src/java/org/apache/fop/fo/FObj.java index 9e65217bc..9e72a1590 100644 --- a/src/java/org/apache/fop/fo/FObj.java +++ b/src/java/org/apache/fop/fo/FObj.java @@ -69,7 +69,6 @@ import org.xml.sax.Attributes; public class FObj extends FONode { private static final String FO_URI = "http://www.w3.org/1999/XSL/Format"; - public static HashMap propertyListStringTable = null; // temporary public static HashMap elementStringTable = null; // temporary public static Property.Maker[] propertyListTable = null; @@ -107,12 +106,7 @@ public class FObj extends FONode { */ public FObj(FONode parent) { super(parent); -/* temporary, during conversions to int constants only - if (propertyListStringTable == null) { - propertyListStringTable = new HashMap(); - propertyListStringTable.putAll(FOPropertyMapping.getGenericStringMappings()); - } -*/ + if (elementStringTable == null) { elementStringTable = new HashMap(); for (Iterator iter = diff --git a/src/java/org/apache/fop/fo/PropertyList.java b/src/java/org/apache/fop/fo/PropertyList.java index fc302897c..6c4485f66 100644 --- a/src/java/org/apache/fop/fo/PropertyList.java +++ b/src/java/org/apache/fop/fo/PropertyList.java @@ -57,6 +57,7 @@ import org.xml.sax.Attributes; // FOP import org.apache.fop.apps.FOPException; import org.apache.fop.fo.Property.Maker; +import org.apache.fop.fo.properties.Constants; import org.apache.fop.fo.properties.FOPropertyMapping; import org.apache.fop.fo.properties.WritingMode; @@ -207,7 +208,7 @@ public class PropertyList extends HashMap { return null; } } - return (Property)super.get(propertyName); + return (Property) super.get(propertyName); } /** @@ -483,6 +484,7 @@ public class PropertyList extends HashMap { String attributeName, String attributeValue) { + Property.Maker propertyMaker = null; FObj parentFO = fobj.findNearestAncestorFObj(); HashMap validProperties; @@ -492,8 +494,12 @@ public class PropertyList extends HashMap { String basePropertyName = findBasePropertyName(attributeName); String subPropertyName = findSubPropertyName(attributeName); - Property.Maker propertyMaker = findMaker(validProperties, - basePropertyName); + // convert the string (e.g., "font-size") to its const value (PR_FONT_SIZE). + int propertyId = FOPropertyMapping.getPropertyId(basePropertyName); + if (propertyId != -1) { // -1 w/namespaces (xmlns:fo, xmlns:svg, etc.) + propertyMaker = findMaker(validProperties, propertyId); + } + if (propertyMaker == null) { handleInvalidProperty(attributeName); return; @@ -532,10 +538,14 @@ public class PropertyList extends HashMap { } // If it is specified later in this list of Attributes, create it String basePropertyValue = attributes.getValue(basePropName); + if (basePropertyValue != null) { - baseProperty = propertyMaker.make(this, basePropertyValue, + int propertyId = FOPropertyMapping.getPropertyId(basePropertyValue); + if (propertyId != -1) { + baseProperty = propertyMaker.make(this, basePropertyValue, parentFO); - return baseProperty; + return baseProperty; + } } // Otherwise it is a compound property ?? // baseProperty = propertyMaker.makeCompound(propertyList, parentFO); @@ -660,46 +670,6 @@ public class PropertyList extends HashMap { } /** - * @param space namespace of element - * @param elementName name of element - * @param propertyName name of property - * @return the Property.Maker for this property - */ - protected Property.Maker findMaker(String space, String elementName, - String propertyName) { - return findMaker((HashMap) FObj.elementStringTable.get(elementName), - propertyName); - } - - /** - * Convenience function to return the Maker for a given property - * given the HashMap containing properties specific to this element. - * If table is non-null and - * @param elemTable Element-specific properties or null if none. - * @param propertyName Name of property. - * @return A Maker for this property. - */ - private Property.Maker findMaker(HashMap elemTable, - String propertyName) { - Property.Maker propertyMaker = null; - if (elemTable != null) { - propertyMaker = (Property.Maker) elemTable.get(propertyName); - } - if (propertyMaker == null) { - int propId = FOPropertyMapping.getPropertyId(propertyName); - if (propId != -1) { // -1 w/namespaces (xmlns:fo, xmlns:svg, etc.) - propertyMaker = FObj.propertyListTable[propId]; - } - // old string method (retained temporarily for troubleshooting) - // propertyMaker = - // (Property.Maker) FObj.propertyListStringTable.get(propertyName); - // System.out.println(propertyName + "= " + propId + " propMaker = " - // + ((propertyMaker != null) ? (propertyMaker.toString()) : "(is null)")); - } - return propertyMaker; - } - - /** * * @param propertyList collection of properties * @param space namespace of element @@ -750,5 +720,50 @@ public class PropertyList extends HashMap { } return b; } + + /** + * @param space namespace of element + * @param elementName name of element + * @param propertyName name of property + * @return the Property.Maker for this property + */ + protected Property.Maker findMaker(String space, String elementName, + String propertyName) { + + // convert the string (e.g., "font-size") to its const value (PR_FONT_SIZE). + int propertyId = FOPropertyMapping.getPropertyId(propertyName); + if (propertyId != -1) { // -1 w/namespaces (xmlns:fo, xmlns:svg, etc.) + return findMaker((HashMap) FObj.elementStringTable.get(elementName), + propertyId); + } else { + return null; + } + } + + /** + * Convenience function to return the Maker for a given property + * given the HashMap containing properties specific to this element. + * If table is non-null and + * @param elemTable Element-specific properties or null if none. + * @param propId int value of property (see property.Constants) + * @return A Maker for this property. + */ + private Property.Maker findMaker(HashMap elemTable, + int propertyId) { + + if (propertyId < 1 || propertyId > Constants.PROPERTY_COUNT) { + return null; + } + + Property.Maker propertyMaker = null; + if (elemTable != null) { + String propertyName = FOPropertyMapping.getPropertyName(propertyId); + propertyMaker = (Property.Maker) elemTable.get(propertyName); + } + if (propertyMaker == null) { + propertyMaker = FObj.propertyListTable[propertyId]; + } + return propertyMaker; + } } |