diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/java/org/apache/fop/fo/Property.java | 12 | ||||
-rw-r--r-- | src/java/org/apache/fop/fo/PropertyList.java | 3 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/java/org/apache/fop/fo/Property.java b/src/java/org/apache/fop/fo/Property.java index 6559ffe6d..11c12205a 100644 --- a/src/java/org/apache/fop/fo/Property.java +++ b/src/java/org/apache/fop/fo/Property.java @@ -174,7 +174,8 @@ public class Property { * value is already partially initialized, this method will modify it. * @param baseProp The Property object representing the compound property, * for example: SpaceProperty. - * @param partName The name of the component whose value is specified. + * @param subpropId The Constants ID of the subproperty (component) + * whose value is specified. * @param propertyList The propertyList being built. * @param fo The FO whose properties are being set. * @param value the value of the @@ -182,18 +183,19 @@ public class Property { * the new subproperty added * @throws FOPException for invalid or inconsistent FO input */ - public Property make(Property baseProp, String partName, + public Property make(Property baseProp, int subpropId, PropertyList propertyList, String value, FObj fo) throws FOPException { if (baseProp == null) { baseProp = makeCompound(propertyList, fo); } - int partId = FOPropertyMapping.getSubPropertyId(partName); - Maker spMaker = getSubpropMaker(partId); + + Maker spMaker = getSubpropMaker(subpropId); + if (spMaker != null) { Property p = spMaker.make(propertyList, value, fo); if (p != null) { - return setSubprop(baseProp, partId, p); + return setSubprop(baseProp, subpropId, p); } } else { //getLogger().error("compound property component " diff --git a/src/java/org/apache/fop/fo/PropertyList.java b/src/java/org/apache/fop/fo/PropertyList.java index 8c69f0e88..0bfbf69ea 100644 --- a/src/java/org/apache/fop/fo/PropertyList.java +++ b/src/java/org/apache/fop/fo/PropertyList.java @@ -500,7 +500,8 @@ public class PropertyList extends HashMap { } else { // e.g. "leader-length.maximum" Property baseProperty = findBaseProperty(attributes, parentFO, basePropertyName, propertyMaker); - prop = propertyMaker.make(baseProperty, subPropertyName, + int subpropId = FOPropertyMapping.getSubPropertyId(subPropertyName); + prop = propertyMaker.make(baseProperty, subpropId, this, attributeValue, parentFO); } if (prop != null) { |