aboutsummaryrefslogtreecommitdiffstats
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
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
-rw-r--r--src/codegen/fo-property-mapping.xsl12
-rw-r--r--src/java/org/apache/fop/fo/FObj.java8
-rw-r--r--src/java/org/apache/fop/fo/PropertyList.java105
3 files changed, 64 insertions, 61 deletions
diff --git a/src/codegen/fo-property-mapping.xsl b/src/codegen/fo-property-mapping.xsl
index a6a888898..ddcba5b1d 100644
--- a/src/codegen/fo-property-mapping.xsl
+++ b/src/codegen/fo-property-mapping.xsl
@@ -79,7 +79,6 @@ Software Foundation, please see <http://www.apache.org/>.
<xsl:variable name="lcletters" select="'abcdefghijklmnopqrstuvwxyz-:'" />
<xsl:variable name="ucletters" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ__'" />
<xsl:variable name="enum" select="translate($prop/name, $lcletters, $ucletters)"/>
-<xsl:text> </xsl:text><xsl:value-of select="$htname"/>String.put("<xsl:value-of select="$prop/name"/>", <xsl:value-of select="$makerclass"/>.maker("<xsl:value-of select="$prop/name"/>"));
<xsl:text> </xsl:text><xsl:value-of select="$htname"/>[PR_<xsl:value-of select="$enum"/>] =<xsl:value-of select="$makerclass"/>.maker("<xsl:value-of select="$prop/name"/>");
<xsl:text> addPropertyName("</xsl:text><xsl:value-of select="$prop/name"/>", PR_<xsl:value-of select="$enum"/>);
</xsl:template>
@@ -111,7 +110,6 @@ import org.apache.fop.fo.Property;
public class <xsl:value-of select="@family"/>PropertyMapping implements Constants {
private static Property.Maker[] s_htGeneric = new Property.Maker[PROPERTY_COUNT+1];
- private static HashMap s_htGenericString = new HashMap(); // temporary
private static HashMap s_htElementStringLists = new HashMap(); // temporary
private static HashMap s_htElementLists = new HashMap();
private static HashMap s_htSubPropNames = new HashMap();
@@ -122,16 +120,12 @@ public class <xsl:value-of select="@family"/>PropertyMapping implements Constant
<xsl:apply-templates/>
- public static HashMap getGenericStringMappings() {
- return s_htGenericString;
- }
-
- public static Set getElementStringMappings() {
+ public static Set getElementStringMappings() { // temporary
return s_htElementStringLists.keySet();
}
- public static HashMap getElementStringMapping(String elemName) {
- return (HashMap)s_htElementStringLists.get(elemName);
+ public static HashMap getElementStringMapping(String elemName) { // temporary
+ return (HashMap) s_htElementStringLists.get(elemName);
}
public static Property.Maker[] getGenericMappings() {
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;
+ }
}