]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Removal of some of the temporary code elements (FO Element lists still pending.)
authorGlen Mazza <gmazza@apache.org>
Mon, 22 Dec 2003 01:03:31 +0000 (01:03 +0000)
committerGlen Mazza <gmazza@apache.org>
Mon, 22 Dec 2003 01:03:31 +0000 (01:03 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197046 13f79535-47bb-0310-9956-ffa450edef68

src/codegen/fo-property-mapping.xsl
src/java/org/apache/fop/fo/FObj.java
src/java/org/apache/fop/fo/PropertyList.java

index a6a888898232267db9ceda59e666660a7b946aee..ddcba5b1ddc4c4b5fc7a89e696838c0861d3f9b2 100644 (file)
@@ -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() {
index 9e65217bce6486e58da42928fa1ba25574ffbaf3..9e72a1590495d3c8d93ccff9ac5cb14dfd30b027 100644 (file)
@@ -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 =
index fc302897c84b2fa3e98c5da77b3e4ea488366a99..6c4485f66f55c2a1690dc1d9a2168a927af4dcc1 100644 (file)
@@ -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);
@@ -659,46 +669,6 @@ public class PropertyList extends HashMap {
         return p;
     }
 
-    /**
-     * @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
@@ -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;
+    }
 }