aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop
diff options
context:
space:
mode:
authorGlen Mazza <gmazza@apache.org>2003-12-22 01:03:31 +0000
committerGlen Mazza <gmazza@apache.org>2003-12-22 01:03:31 +0000
commit657644f5904c56555d5ffca15ff297343cfbbd61 (patch)
treebbdeb0554db74a77698391c0be24043f72da9662 /src/java/org/apache/fop
parenta93ddf92d90ee5ef8a4995488dc330b289bcdde8 (diff)
downloadxmlgraphics-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.java8
-rw-r--r--src/java/org/apache/fop/fo/PropertyList.java105
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;
+ }
}