You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by gm...@apache.org on 2004/01/05 02:31:09 UTC
cvs commit: xml-fop/src/java/org/apache/fop/fo/pagination RegionBody.java
gmazza 2004/01/04 17:31:09
Modified: src/java/org/apache/fop/datatypes LengthBase.java
src/java/org/apache/fop/fo PropertyList.java
src/java/org/apache/fop/fo/expr InheritedPropFunction.java
src/java/org/apache/fop/fo/pagination RegionBody.java
Log:
More String->Int Conversions.
Revision Changes Path
1.5 +1 -1 xml-fop/src/java/org/apache/fop/datatypes/LengthBase.java
Index: LengthBase.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/datatypes/LengthBase.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- LengthBase.java 29 Dec 2003 23:28:47 -0000 1.4
+++ LengthBase.java 5 Jan 2004 01:31:09 -0000 1.5
@@ -142,7 +142,7 @@
case FONTSIZE:
return propertyList.get(Constants.PR_FONT_SIZE).getLength().getValue();
case INH_FONTSIZE:
- return propertyList.getInherited("font-size").getLength().getValue();
+ return propertyList.getInherited(Constants.PR_FONT_SIZE).getLength().getValue();
//case CONTAINING_BOX:
// depends on property?? inline-progression vs block-progression
//return parentFO.getContentWidth();
1.20 +20 -34 xml-fop/src/java/org/apache/fop/fo/PropertyList.java
Index: PropertyList.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/PropertyList.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- PropertyList.java 5 Jan 2004 00:44:59 -0000 1.19
+++ PropertyList.java 5 Jan 2004 01:31:09 -0000 1.20
@@ -184,20 +184,11 @@
*/
public Property getExplicitOrShorthand(int propId) {
/* Handle request for one part of a compound property */
- String propertyName = FOPropertyMapping.getPropertyName(propId);
-
- int sepchar = propertyName.indexOf('.');
- String baseName;
- if (sepchar > -1) {
- baseName = propertyName.substring(0, sepchar);
- } else {
- baseName = propertyName;
- }
- Property p = getExplicitBaseProp(baseName);
+ Property p = getExplicitBaseProp(propId & Constants.PROPERTY_MASK);
if (p == null) {
p = getShorthand(propId & Constants.PROPERTY_MASK);
}
- if (p != null && sepchar > -1) {
+ if (p != null && (propId & Constants.PROPERTY_MASK) != 0) {
return getSubpropValue(p, propId);
}
return p;
@@ -213,10 +204,8 @@
String propertyName = FOPropertyMapping.getPropertyName(propId);
/* Handle request for one part of a compound property */
- int sepchar = propertyName.indexOf('.');
- if (sepchar > -1) {
- String baseName = propertyName.substring(0, sepchar);
- Property p = getExplicitBaseProp(baseName);
+ if ((propId & Constants.COMPOUND_MASK) != 0) {
+ Property p = getExplicitBaseProp(propId & Constants.PROPERTY_MASK);
if (p != null) {
return getSubpropValue(p, propId);
} else {
@@ -231,7 +220,8 @@
* @param propertyName The name of the base property whose value is desired.
* @return The value if the property is explicitly set, otherwise null.
*/
- public Property getExplicitBaseProp(String propertyName) {
+ public Property getExplicitBaseProp(int propId) {
+ String propertyName = FOPropertyMapping.getPropertyName(propId);
return (Property) super.get(propertyName);
}
@@ -239,11 +229,10 @@
* Return the value of this property inherited by this FO.
* Implements the inherited-property-value function.
* The property must be inheritable!
- * @param propertyName The name of the property whose value is desired.
+ * @param propID The ID of the property whose value is desired.
* @return The inherited value, otherwise null.
*/
- public Property getInherited(String propertyName) {
- int propId = FOPropertyMapping.getPropertyId(propertyName);
+ public Property getInherited(int propId) {
if (parentPropertyList != null
&& isInherited(propId)) {
@@ -315,14 +304,12 @@
* happens in computeProperty.
*/
private Property findProperty(int propId, boolean bTryInherit) {
-
- String propertyName = FOPropertyMapping.getPropertyName(propId);
-
Property p = null;
+
if (isCorrespondingForced(propId)) {
p = computeProperty(propId);
} else {
- p = getExplicitBaseProp(propertyName);
+ p = getExplicitBaseProp(propId);
if (p == null) {
p = this.computeProperty(propId);
}
@@ -348,13 +335,13 @@
* ancestor of the current FO, else the initial value.
*/
public Property getNearestSpecified(int propId) {
- String propertyName = FOPropertyMapping.getPropertyName(propId);
-
Property p = null;
+
for (PropertyList plist = this; p == null && plist != null;
plist = plist.parentPropertyList) {
p = plist.getExplicit(propId);
}
+
if (p == null) {
// If no explicit setting found, return initial (default) value.
try {
@@ -506,7 +493,7 @@
* the base attribute was already created in
* findBaseProperty()
*/
- if (getExplicitBaseProp(basePropertyName) != null) {
+ if (super.get(basePropertyName) != null) {
return;
}
prop = propertyMaker.make(this, attributeValue, parentFO);
@@ -534,7 +521,9 @@
/* If the baseProperty has already been created, return it
* e.g. <fo:leader xxxx="120pt" xxxx.maximum="200pt"... />
*/
- Property baseProperty = getExplicitBaseProp(basePropName);
+ int propId = FOPropertyMapping.getPropertyId(basePropName);
+ Property baseProperty = getExplicitBaseProp(propId);
+
if (baseProperty != null) {
return baseProperty;
}
@@ -544,13 +533,10 @@
*/
String basePropertyValue = attributes.getValue(basePropName);
- if (basePropertyValue != null) {
- int propertyId = FOPropertyMapping.getPropertyId(basePropName);
- if (propertyId != -1) {
- baseProperty = propertyMaker.make(this, basePropertyValue,
- parentFO);
- return baseProperty;
- }
+ if (basePropertyValue != null && propertyMaker != null) {
+ baseProperty = propertyMaker.make(this, basePropertyValue,
+ parentFO);
+ return baseProperty;
}
return null; // could not find base property
1.3 +4 -1 xml-fop/src/java/org/apache/fop/fo/expr/InheritedPropFunction.java
Index: InheritedPropFunction.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/expr/InheritedPropFunction.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- InheritedPropFunction.java 13 Jul 2003 03:16:11 -0000 1.2
+++ InheritedPropFunction.java 5 Jan 2004 01:31:09 -0000 1.3
@@ -51,6 +51,7 @@
package org.apache.fop.fo.expr;
import org.apache.fop.fo.Property;
+import org.apache.fop.fo.properties.FOPropertyMapping;
/**
* Class modelling the inherited-property-value Property Value function. See
@@ -79,7 +80,9 @@
if (propName == null) {
throw new PropertyException("Incorrect parameter to inherited-property-value function");
}
- return pInfo.getPropertyList().getInherited(propName);
+
+ int propId = FOPropertyMapping.getPropertyId(propName);
+ return pInfo.getPropertyList().getInherited(propId);
}
}
1.11 +5 -2 xml-fop/src/java/org/apache/fop/fo/pagination/RegionBody.java
Index: RegionBody.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionBody.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- RegionBody.java 20 Dec 2003 06:53:23 -0000 1.10
+++ RegionBody.java 5 Jan 2004 01:31:09 -0000 1.11
@@ -60,6 +60,7 @@
import org.apache.fop.fo.Property;
import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.properties.CommonMarginBlock;
+import org.apache.fop.fo.properties.FOPropertyMapping;
import org.apache.fop.fo.properties.WritingMode;
/**
@@ -112,9 +113,11 @@
FObj parent = (FObj) getParent();
String sPropName = "margin-"
+ parent.propertyList.wmRelToAbs(reldir);
- Property prop = propertyList.getExplicitBaseProp(sPropName);
+ int propId = FOPropertyMapping.getPropertyId(sPropName);
+ Property prop = propertyList.getExplicitBaseProp(propId);
if (prop == null) {
- prop = propertyList.getExplicitBaseProp(sRelPropName);
+ propId = FOPropertyMapping.getPropertyId(sRelPropName);
+ prop = propertyList.getExplicitBaseProp(propId);
}
return ((prop != null) ? prop.getLength().getValue() : 0);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org
Re: Regression caused by the string->int conversion
Posted by Glen Mazza <gr...@yahoo.com>.
Fixed. Thanks.
Glen
--- Finn Bock <bc...@worldonline.dk> wrote:
__________________________________
Do you Yahoo!?
New Yahoo! Photos - easier uploading and sharing.
http://photos.yahoo.com/
Regression caused by the string->int conversion
Posted by Finn Bock <bc...@worldonline.dk>.
> --- PropertyList.java 5 Jan 2004 00:44:59 -0000 1.19
> +++ PropertyList.java 5 Jan 2004 01:31:09 -0000 1.20
> @@ -184,20 +184,11 @@
> */
> public Property getExplicitOrShorthand(int propId) {
> /* Handle request for one part of a compound property */
> - String propertyName = FOPropertyMapping.getPropertyName(propId);
> -
> - int sepchar = propertyName.indexOf('.');
> - String baseName;
> - if (sepchar > -1) {
> - baseName = propertyName.substring(0, sepchar);
> - } else {
> - baseName = propertyName;
> - }
> - Property p = getExplicitBaseProp(baseName);
> + Property p = getExplicitBaseProp(propId & Constants.PROPERTY_MASK);
> if (p == null) {
> p = getShorthand(propId & Constants.PROPERTY_MASK);
> }
> - if (p != null && sepchar > -1) {
> + if (p != null && (propId & Constants.PROPERTY_MASK) != 0) {
> return getSubpropValue(p, propId);
> }
Glen, I think that the last 3 statements should read:
> + if (p != null && (propId & Constants.COMPOUND_MASK) != 0) {
> return getSubpropValue(p, propId);
> }
after all, the subprop should only be retrived when the propId also
includes a subproperty.
Also, there is a bit of a mixup wrt. the signature of the
Maker.setSubprop() method. The generated makers (eg. GenericSpace)
overrides
setSubprop(Property, int, Property)
while the base method in Property.Maker defines and calls:
setSubprop(Propertu, String, Property)
Something along these lines will fix the setSubprop issue:
--- src/java/org/apache/fop/fo/Property.java 5 Jan 2004 00:44:59 -0000 1.9
+++ src/java/org/apache/fop/fo/Property.java 5 Jan 2004 13:33:43 -0000
@@ -192,7 +192,8 @@
if (spMaker != null) {
Property p = spMaker.make(propertyList, value, fo);
if (p != null) {
- return setSubprop(baseProp, partName, p);
+ int partId = FOPropertyMapping.getSubPropertyId(partName);
+ return setSubprop(baseProp, partId, p);
}
} else {
//getLogger().error("compound property component "
@@ -215,7 +216,7 @@
* component to be set.
* @return The modified compound property object.
*/
- protected Property setSubprop(Property baseProp, String partName,
+ protected Property setSubprop(Property baseProp, int parId,
Property subProp) {
return baseProp;
}