pbwest      2004/04/24 06:43:25

  Modified:    src/java/org/apache/fop/fo/properties Tag:
                        FOP_0-20-0_Alt-Design
                        BorderCommonWidthRelative.java BorderLeftStyle.java
                        BorderCommonWidthAbsolute.java
                        BorderCommonStyleAbsolute.java
                        BorderColorCorrespondingRelative.java
                        BorderCommonStyleRelative.java Property.java
                        BorderColorCorrespondingAbsolute.java
               src/java/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design
                        PropertyConsts.java PropNames.java FONode.java
  Log:
  More work on border corresponding properties;
  Handling  corresponding properties within FONode
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.2   +5 -2      
xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderCommonWidthRelative.java
  
  Index: BorderCommonWidthRelative.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderCommonWidthRelative.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- BorderCommonWidthRelative.java    22 Apr 2004 07:36:55 -0000      1.1.2.1
  +++ BorderCommonWidthRelative.java    24 Apr 2004 13:43:25 -0000      1.1.2.2
  @@ -59,4 +59,7 @@
           return false;
       }
   
  +    public boolean isCorrespondingRelative() {
  +        return true;
  +    }
   }
  
  
  
  1.1.2.7   +2 -2      
xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderLeftStyle.java
  
  Index: BorderLeftStyle.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderLeftStyle.java,v
  retrieving revision 1.1.2.6
  retrieving revision 1.1.2.7
  diff -u -r1.1.2.6 -r1.1.2.7
  --- BorderLeftStyle.java      22 Apr 2004 03:05:47 -0000      1.1.2.6
  +++ BorderLeftStyle.java      24 Apr 2004 13:43:25 -0000      1.1.2.7
  @@ -51,7 +51,7 @@
           return inherited;
       }
   
  -    public int getCorrespondingRelativeProperty(FONode foNode)
  +    public int getCorrespondingProperty(FONode foNode)
       throws PropertyException {
           return getCorrespondingStyleProperty(
                   foNode, WritingMode.LEFT);
  
  
  
  1.1.2.2   +5 -2      
xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderCommonWidthAbsolute.java
  
  Index: BorderCommonWidthAbsolute.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderCommonWidthAbsolute.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- BorderCommonWidthAbsolute.java    22 Apr 2004 07:36:54 -0000      1.1.2.1
  +++ BorderCommonWidthAbsolute.java    24 Apr 2004 13:43:25 -0000      1.1.2.2
  @@ -55,4 +55,7 @@
           return relBorderWidthProps[relEdge];
       }
   
  +    public boolean isCorrespondingAbsolute() {
  +        return true;
  +    }
   }
  
  
  
  1.1.2.4   +5 -2      
xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderCommonStyleAbsolute.java
  
  Index: BorderCommonStyleAbsolute.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderCommonStyleAbsolute.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- BorderCommonStyleAbsolute.java    22 Apr 2004 03:05:47 -0000      1.1.2.3
  +++ BorderCommonStyleAbsolute.java    24 Apr 2004 13:43:25 -0000      1.1.2.4
  @@ -59,4 +59,7 @@
           return relBorderStyleProps[relEdge];
       }
   
  +    public boolean isCorrespondingAbsolute() {
  +        return true;
  +    }
   }
  
  
  
  1.1.2.2   +5 -2      
xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderColorCorrespondingRelative.java
  
  Index: BorderColorCorrespondingRelative.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderColorCorrespondingRelative.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- BorderColorCorrespondingRelative.java     22 Apr 2004 07:36:55 -0000      1.1.2.1
  +++ BorderColorCorrespondingRelative.java     24 Apr 2004 13:43:25 -0000      1.1.2.2
  @@ -59,4 +59,7 @@
           return false;
       }
   
  +    public boolean isCorrespondingRelative() {
  +        return true;
  +    }
   }
  
  
  
  1.1.2.5   +5 -2      
xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderCommonStyleRelative.java
  
  Index: BorderCommonStyleRelative.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderCommonStyleRelative.java,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- BorderCommonStyleRelative.java    22 Apr 2004 07:36:54 -0000      1.1.2.4
  +++ BorderCommonStyleRelative.java    24 Apr 2004 13:43:25 -0000      1.1.2.5
  @@ -63,4 +63,7 @@
           return false;
       }
   
  +    public boolean isCorrespondingRelative() {
  +        return true;
  +    }
   }
  
  
  
  1.1.2.12  +5 -5      xml-fop/src/java/org/apache/fop/fo/properties/Property.java
  
  Index: Property.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/properties/Property.java,v
  retrieving revision 1.1.2.11
  retrieving revision 1.1.2.12
  diff -u -r1.1.2.11 -r1.1.2.12
  --- Property.java     21 Apr 2004 15:21:18 -0000      1.1.2.11
  +++ Property.java     24 Apr 2004 13:43:25 -0000      1.1.2.12
  @@ -251,7 +251,7 @@
        * Such properties must override this method.
        * @return answer
        */
  -    public static boolean isCorrespondingAbsolute() {
  +    public boolean isCorrespondingAbsolute() {
           return false;
       }
   
  @@ -260,7 +260,7 @@
        * Such properties must override this method.
        * @return answer
        */
  -    public static boolean isCorrespondingRelative() {
  +    public boolean isCorrespondingRelative() {
           return false;
       }
   
  
  
  
  1.1.2.2   +5 -2      
xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderColorCorrespondingAbsolute.java
  
  Index: BorderColorCorrespondingAbsolute.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/properties/Attic/BorderColorCorrespondingAbsolute.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- BorderColorCorrespondingAbsolute.java     22 Apr 2004 07:36:55 -0000      1.1.2.1
  +++ BorderColorCorrespondingAbsolute.java     24 Apr 2004 13:43:25 -0000      1.1.2.2
  @@ -55,4 +55,7 @@
           return relBorderColorProps[relEdge];
       }
   
  +    public boolean isCorrespondingAbsolute() {
  +        return true;
  +    }
   }
  
  
  
  No                   revision
  No                   revision
  1.1.2.5   +95 -86    xml-fop/src/java/org/apache/fop/fo/Attic/PropertyConsts.java
  
  Index: PropertyConsts.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/Attic/PropertyConsts.java,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- PropertyConsts.java       19 Feb 2004 03:11:56 -0000      1.1.2.4
  +++ PropertyConsts.java       24 Apr 2004 13:43:25 -0000      1.1.2.5
  @@ -24,7 +24,7 @@
   
   package org.apache.fop.fo;
   
  -import java.util.BitSet;
  +//import java.util.BitSet;
   import java.util.HashMap;
   import java.util.StringTokenizer;
   
  @@ -73,7 +73,15 @@
        */
       private final Property[] properties
                           = new Property[PropNames.LAST_PROPERTY_INDEX + 1];
  -
  +    /**
  +     * Get the individual Property object denoted by the property index
  +     * @param propindex
  +     * @return
  +     * @throws PropertyException
  +     */
  +    public Property getProperty(int propindex) throws PropertyException {
  +        return setupProperty(propindex);
  +    }
       /**
        * A Class[] array containing Class objects corresponding to each of the
        * class names in the classNames array.  Elements are set
  @@ -106,62 +114,24 @@
                       (int)((PropNames.LAST_PROPERTY_INDEX + 1) / 0.75) + 1);
   
       /**
  -     * An <tt>int[]</tt> containing the <i>inherited</i> values from the
  -     * <tt>Property</tt> classes.
  -     */
  -    private final int[] inherited
  -                            = new int[PropNames.LAST_PROPERTY_INDEX + 1];
  -
  -    /**
  -     * A <tt>BitSet</tt> of properties which are normally inherited
  -     * (strictly, not not inherited).
  -     * It is defined relative to the set of all properties; i.e. the
  -     * inheritability of any property can be established by testing the
  -     * bit in this set that corresponds to the queried property's index.
  -     * <p>The <tt>BitSet</tt> is private and is the basis for
  -     * <i>inheritedProperties</i>.
  -     */
  -    private final BitSet inheritedprops
  -                            = new BitSet(PropNames.LAST_PROPERTY_INDEX + 1);
  -
  -    /**
  -     * An int[] array of the types of the <i>initialValue</i> field of each
  -     * property.  The array is indexed by the index value constants that are
  -     * defined in the PropNames class in parallel to the
  -     * PropNames.propertyNames[] array.
  -     */
  -    private final int[] initialValueTypes
  -                            = new int[PropNames.LAST_PROPERTY_INDEX + 1];
  -
  -    /**
  -     * A <tt>PropertyValue</tt> array containing the initial values of
  -     * each of the properties.
  -     */
  -    private final PropertyValue[] initialValues
  -                    = new PropertyValue[PropNames.LAST_PROPERTY_INDEX + 1];
  -
  -    /**
  -     * An int[] array of the values of the <i>dataTypes</i> field of each
  +     * An int[] array of the values of the <i>traitMapping</i> field of each
        * property.  The array is indexed by the index value constants that are
        * defined in the PropNames class in parallel to the
        * PropNames.propertyNames[] array.
        * The array elements are set from the values of the
  -     * <i>dataTypes</i> field in each property class.
  +     * <i>traitMapping</i> field in each property class.
        */
  -    private final int[] datatypes
  +    private final int[] traitMappings
                               = new int[PropNames.LAST_PROPERTY_INDEX + 1];
   
       /**
  -     * An int[] array of the values of the <i>traitMapping</i> field of each
  +     * An int[] array of the types of the <i>initialValue</i> field of each
        * property.  The array is indexed by the index value constants that are
        * defined in the PropNames class in parallel to the
        * PropNames.propertyNames[] array.
  -     * The array elements are set from the values of the
  -     * <i>traitMapping</i> field in each property class.
        */
  -    private final int[] traitMappings
  +    private final int[] initialValueTypes
                               = new int[PropNames.LAST_PROPERTY_INDEX + 1];
  -
       /**
        * Get the initial value type for a property name.
        * @param property String name of the FO property
  @@ -187,12 +157,16 @@
               throws PropertyException
       {
           setupProperty(propindex);
  -        //System.out.println("getInitialValueType: " + propindex + " "
  -                            //+ initialValueTypes[propindex]);
           return initialValueTypes[propindex];
       }
   
       /**
  +     * A <tt>PropertyValue</tt> array containing the initial values of
  +     * each of the properties.
  +     */
  +    private final PropertyValue[] initialValues
  +                    = new PropertyValue[PropNames.LAST_PROPERTY_INDEX + 1];
  +    /**
        * Get the initial value <tt>PropertyValue</tt> for a given property.
        * Note that this is a <b>raw</b> value; if it is
        * an unresolved percentage that value will be returned.
  @@ -206,8 +180,6 @@
       {
           if (initialValues[propindex] != null)
               return initialValues[propindex];
  -        //System.out.println("PropertyConts.getInitialValue(" + propindex
  -                           //+ ") " + PropNames.getPropertyName(propindex));
           return
               (initialValues[propindex] =
                       setupProperty(propindex).getInitialValue(propindex));
  @@ -249,25 +221,11 @@
       }
   
       /**
  -     * Get the <tt>Numeric</tt> value corresponding to an enumerated value.
  -     * @param foNode the <tt>FONode</tt> being built
  -     * @param propindex int index of the FO property
  -     * @param enum - the integer equivalent of the enumeration keyword.
  -     * @return the <tt>Numeric</tt> result.
  -     * @throws PropertyException
  +     * An <tt>int[]</tt> containing the <i>inherited</i> values from the
  +     * <tt>Property</tt> classes.
        */
  -    public Numeric getMappedNumeric(FONode foNode, int propindex, int enum)
  -            throws PropertyException
  -    {
  -        Property property = setupProperty(propindex);
  -        if ((datatypes[propindex] & Property.MAPPED_LENGTH) != 0)
  -            return property.getMappedLength(foNode, enum);
  -        else
  -            throw new PropertyException
  -                ("MAPPED_LENGTH not valid in "
  -                                    + PropNames.getPropertyName(propindex));
  -    }
  -
  +    private final int[] inherited
  +                            = new int[PropNames.LAST_PROPERTY_INDEX + 1];
       /**
        * @param property  name of the FO property
        * @return int type of inheritance for this property
  @@ -277,7 +235,6 @@
       public int inheritance(String property) throws PropertyException {
           return inheritance(PropNames.getPropertyIndex(property));
       }
  -
       /**
        * @param propindex int index of the FO property
        * @return int type of inheritance for this property
  @@ -298,7 +255,6 @@
           Property property = setupProperty(propindex);
           return inherited[propindex] != Property.NO;
       }
  -
       /**
        * @param property String name of the FO property
        * @return <tt>boolean</tt> is property inherited?
  @@ -308,6 +264,37 @@
           return isInherited(PropNames.getPropertyIndex(property));
       }
   
  +
  +    /**
  +     * An int[] array of the values of the <i>dataTypes</i> field of each
  +     * property.  The array is indexed by the index value constants that are
  +     * defined in the PropNames class in parallel to the
  +     * PropNames.propertyNames[] array.
  +     * The array elements are set from the values of the
  +     * <i>dataTypes</i> field in each property class.
  +     */
  +    private final int[] datatypes
  +                            = new int[PropNames.LAST_PROPERTY_INDEX + 1];
  +
  +    /**
  +     * Get the <tt>Numeric</tt> value corresponding to an enumerated value.
  +     * @param foNode the <tt>FONode</tt> being built
  +     * @param propindex int index of the FO property
  +     * @param enum - the integer equivalent of the enumeration keyword.
  +     * @return the <tt>Numeric</tt> result.
  +     * @throws PropertyException
  +     */
  +    public Numeric getMappedNumeric(FONode foNode, int propindex, int enum)
  +            throws PropertyException
  +    {
  +        Property property = setupProperty(propindex);
  +        if ((datatypes[propindex] & Property.MAPPED_LENGTH) != 0)
  +            return property.getMappedLength(foNode, enum);
  +        else
  +            throw new PropertyException
  +                ("MAPPED_LENGTH not valid in "
  +                                    + PropNames.getPropertyName(propindex));
  +    }
       /**
        * @param propindex int index of the FO property
        * @return <tt>boolean</tt> is property a shorthand?
  @@ -405,6 +392,37 @@
           return property.getEnumText(enumIndex);
       }
   
  +    /** An array of boolean results of the <code>isCorrespondingAbsolute</code>
  +     * method */
  +    private final boolean[] correspondingAbs =
  +        new boolean[PropNames.LAST_PROPERTY_INDEX + 1];
  +    /**
  +     * Is the indicated property absolute corresponding?
  +     * @param propindex
  +     * @return
  +     * @throws PropertyException
  +     */
  +    public boolean isCorrespondingAbs(int propindex)
  +    throws PropertyException {
  +        Property property = setupProperty(propindex);
  +        return correspondingAbs[propindex];
  +    }
  +    /** An array of boolean results of the <code>isCorrespondingRelative</code>
  +     * method */
  +    private final boolean[] correspondingRel =
  +        new boolean[PropNames.LAST_PROPERTY_INDEX + 1];
  +    /**
  +     * Is the indicated property relative corresponding?
  +     * @param propindex
  +     * @return
  +     * @throws PropertyException
  +     */
  +    public boolean isCorrespondingRel(int propindex)
  +    throws PropertyException {
  +        Property property = setupProperty(propindex);
  +        return correspondingRel[propindex];
  +    }
  +
       /**
        * Set up the details of a single property and return the
        * <tt>Property</tt> object.  If the <tt>Property</tt> object
  @@ -418,12 +436,11 @@
       public Property setupProperty(int propindex)
               throws PropertyException
       {
  -        String cname = "";
  -        Class pclass;
           Property property;
  -
           if ((property = properties[propindex]) != null) return property;
   
  +        String cname = "";
  +        Class pclass;
           // Get the property class name
           StringTokenizer stoke;
           stoke = new StringTokenizer
  @@ -448,23 +465,15 @@
           try {
               pclass = Class.forName(name);
               classes[propindex] = pclass;
  -
               // Instantiate the class
               property = (Property)(pclass.newInstance());
               properties[propindex] = property;
  -
  -            // Set inheritance value
  -            if ((inherited[propindex]
  -                                = property.getInherited())
  -                    != Property.NO)
  -                            inheritedprops.set(propindex);
  -            // Set datatypes
  +            inherited[propindex] = property.getInherited();
               datatypes[propindex] = property.getDataTypes();
  -
  -            // Set initialValueTypes
               initialValueTypes[propindex] = property.getInitialValueType();
  -
               traitMappings[propindex] = property.getTraitMapping();
  +            correspondingAbs[propindex] = property.isCorrespondingAbsolute();
  +            correspondingRel[propindex] = property.isCorrespondingRelative();
   
           } catch (ClassNotFoundException e) {
               throw new PropertyException
  
  
  
  1.1.2.6   +7 -3      xml-fop/src/java/org/apache/fop/fo/Attic/PropNames.java
  
  Index: PropNames.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/Attic/PropNames.java,v
  retrieving revision 1.1.2.5
  retrieving revision 1.1.2.6
  diff -u -r1.1.2.5 -r1.1.2.6
  --- PropNames.java    19 Feb 2004 03:11:56 -0000      1.1.2.5
  +++ PropNames.java    24 Apr 2004 13:43:25 -0000      1.1.2.6
  @@ -407,6 +407,10 @@
                                           Z_INDEX = 323,
           
                               LAST_PROPERTY_INDEX = Z_INDEX;
  +    // TODO specify last corresponding accurately and possibly re-organize to
  +    // group all corresponding properties early in the list
  +    public static final int
  +                       LAST_CORRESPONDING_INDEX = Z_INDEX;
   
   
       /**
  
  
  
  1.2.2.19  +70 -10    xml-fop/src/java/org/apache/fop/fo/FONode.java
  
  Index: FONode.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FONode.java,v
  retrieving revision 1.2.2.18
  retrieving revision 1.2.2.19
  diff -u -r1.2.2.18 -r1.2.2.19
  --- FONode.java       19 Apr 2004 15:24:51 -0000      1.2.2.18
  +++ FONode.java       24 Apr 2004 13:43:25 -0000      1.2.2.19
  @@ -36,6 +36,7 @@
   import org.apache.fop.fo.expr.FunctionNotImplementedException;
   import org.apache.fop.fo.expr.PropertyException;
   import org.apache.fop.fo.expr.PropertyParser;
  +import org.apache.fop.fo.properties.CorrespondingProperty;
   import org.apache.fop.fo.properties.Property;
   import org.apache.fop.xml.XmlEvent;
   import org.apache.fop.xml.Namespaces;
  @@ -142,6 +143,31 @@
       /** BitSet of properties which have been specified on this node. */
       private BitSet specifiedProps =
                                   new BitSet(PropNames.LAST_PROPERTY_INDEX + 1);
  +    /** BitSet of corresponding properties set on this mode. */
  +    private BitSet correspondingProps =
  +        new BitSet(PropNames.LAST_CORRESPONDING_INDEX + 1);
  +    /**
  +     * Indicate that the corresponding <code>property</code> has been set on
  +     * this node
  +     * @param property
  +     */
  +    public void setCorresponding(int property) throws PropertyException {
  +        if (correspondingProps != null) {
  +            correspondingProps.set(property);
  +        }
  +        throw new PropertyException("No corresponding BitSet");
  +    }
  +    /**
  +     * Has the corresponding <code>property</code> been set on this node?
  +     * @param property
  +     * @return
  +     */
  +    public boolean correspondingSet(int property) throws PropertyException {
  +        if (correspondingProps != null) {
  +            return correspondingProps.get(property);
  +        }
  +        throw new PropertyException("No corresponding BitSet");
  +    }
   
       /** The property set for this node.  This reference has two lives.
           During FO subtree building, it holds all values which may potentially
  @@ -257,21 +283,14 @@
               try {
                   props = handleAttrValue(prop, attrValue);
                   ptype = props.getType();
  -                if (ptype != PropertyValue.LIST) { 
  -                    property = props.getProperty();
  -                    // Update the propertySet
  -                    propertySet[property] = props;
  -                    specifiedProps.set(property);
  -                    // Handle corresponding properties here
  +                if (ptype != PropertyValue.LIST) {
  +                    handlePropertyValue(props);
                   } else { // a list
                       PropertyValue value;
                       Iterator propvals = ((PropertyValueList)props).iterator();
                       while (propvals.hasNext()) {
                           value = (PropertyValue)(propvals.next());
  -                        property = value.getProperty();
  -                        propertySet[value.getProperty()] = value;
  -                        specifiedProps.set(property);
  -                        // Handle corresponding properties here
  +                        handlePropertyValue(value);
                       }
                   }
               } catch (FunctionNotImplementedException e) {
  @@ -287,6 +306,46 @@
           }
       }
   
  +    private void handlePropertyValue(PropertyValue propval)
  +    throws PropertyException {
  +        int property = propval.getProperty();
  +        Property tempP =
  +            PropertyConsts.pconsts.getProperty(property);
  +        specifiedProps.set(property);
  +        // Handle corresponding properties here
  +        if (tempP instanceof CorrespondingProperty) {
  +            // is this property already set?
  +            if ( ! correspondingProps.get(property)) {
  +                // Update the propertySet
  +                propertySet[property] = propval;
  +                correspondingProps.set(property);
  +                // find corresponding properties, and check whether
  +                // already set
  +                // TODO Can a property have more than one
  +                // coresponding?  I don't think so.  I think this
  +                // is dealt with in shorthand/compound handling
  +                int corresP =
  +                    ((CorrespondingProperty)tempP)
  +                    .getCorrespondingProperty(this);
  +                if ( ! correspondingProps.get(corresP)) {
  +                    propertySet[corresP] = propval;
  +                    correspondingProps.set(corresP);
  +                } // else this property's corresponding property
  +                  // already set.  Presumably it has already been
  +                  // encountered in the set of attributes, e.g.
  +                  // the absolute property is set.  Ignore this
  +                  // value.
  +            } // this property already set by its corresponding
  +              // property.  E.g. this is a relative property.
  +              // Ignore this value.
  +        }
  +        else {
  +            // Not a corresponding property
  +            // Update the propertySet
  +            propertySet[property] = propval;
  +        }
  +    }
  +
       private PropertyValue handleAttrValue(int property, String attrValue)
           throws FunctionNotImplementedException, PropertyException
       {
  @@ -320,6 +379,7 @@
           // Clean up structures that are no longer needed
           propertySet = null;
           specifiedProps = null;
  +        correspondingProps = null;
           attrBitSet = null;
           foKeys = null;
           foProperties = null;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to