santiagopg    2002/08/28 13:23:23

  Modified:    java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
  Log:
  Keep track of parameters for built-in identity transform (needed for
  some TCK tests).
  
  Revision  Changes    Path
  1.57      +29 -4     
xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- TransformerImpl.java      27 Aug 2002 16:48:25 -0000      1.56
  +++ TransformerImpl.java      28 Aug 2002 20:23:22 -0000      1.57
  @@ -182,6 +182,13 @@
        */
       private boolean _isIdentity = false;
   
  +    /**
  +     * A hashtable to store parameters for the identity transform. These
  +     * are not needed during the transformation, but we must keep track of 
  +     * them to be fully complaint with the JAXP API.
  +     */
  +    private Hashtable _parameters = null;
  +
       protected TransformerImpl(Properties outputProperties, int indentNumber, 
        TransformerFactoryImpl tfactory) 
       {
  @@ -1010,7 +1017,15 @@
        * @param value The value to assign to the parameter
        */
       public void setParameter(String name, Object value) { 
  -     _translet.addParameter(name, value, false);
  +     if (_isIdentity) {
  +         if (_parameters == null) {
  +             _parameters = new Hashtable();
  +         }
  +         _parameters.put(name, value);
  +     }
  +     else {
  +         _translet.addParameter(name, value, false);
  +     }
       }
   
       /**
  @@ -1019,7 +1034,12 @@
        * parameter stack.
        */
       public void clearParameters() {  
  -     _translet.clearParameters();
  +     if (_isIdentity && _parameters != null) {
  +         _parameters.clear();
  +     }
  +     else {
  +         _translet.clearParameters();
  +     }
       }
   
       /**
  @@ -1031,7 +1051,12 @@
        * @return An object that contains the value assigned to the parameter
        */
       public final Object getParameter(String name) {
  -     return(_translet.getParameter(name));
  +     if (_isIdentity) {
  +         return (_parameters != null) ? _parameters.get(name) : null;
  +     }
  +     else {
  +         return _translet.getParameter(name);
  +     }
       }
   
       /**
  
  
  

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

Reply via email to