sboag       00/11/06 09:50:46

  Modified:    java/src/org/apache/xalan/transformer TransformerImpl.java
  Log:
  Try identity comparison for OutputKeys first, before testing for equality.
  Also, small exception handling fix.
  
  Revision  Changes    Path
  1.41      +36 -2     
xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- TransformerImpl.java      2000/11/03 23:28:12     1.40
  +++ TransformerImpl.java      2000/11/06 17:50:41     1.41
  @@ -705,7 +705,26 @@
       OutputFormat ofe = m_outputFormat;
       if(null == ofe)
         ofe = m_stylesheetRoot.getOutputComposed();
  -    if(name.equals(OutputKeys.METHOD))
  +    
  +    if(name == OutputKeys.METHOD)
  +      ofe.setMethod(value);
  +    else if(name == OutputKeys.INDENT)
  +      ofe.setIndent(value.equals("yes"));
  +    else if(name == OutputKeys.DOCTYPE_PUBLIC)
  +      ofe.setDoctypePublicId(value);
  +    else if(name == OutputKeys.DOCTYPE_SYSTEM)
  +      ofe.setDoctypeSystemId(value);
  +    else if(name == OutputKeys.MEDIA_TYPE)
  +      ofe.setMediaType(value);
  +    else if(name == OutputKeys.OMIT_XML_DECLARATION)
  +      ofe.setOmitXMLDeclaration(value.equals("yes"));
  +    else if(name == OutputKeys.STANDALONE)
  +      ofe.setStandalone(value.equals("yes"));
  +    else if(name == OutputKeys.ENCODING)
  +      ofe.setEncoding(value);
  +    else if(name == OutputKeys.VERSION)
  +      ofe.setVersion(value);
  +    else if(name == OutputKeys.METHOD)
         ofe.setMethod(value);
       else if(name.equals(OutputKeys.INDENT))
         ofe.setIndent(value.equals("yes"));
  @@ -1058,15 +1077,30 @@
         }
   
         // ===========
  +      // System.out.println("Calling applyTemplateToNode - 
"+Thread.currentThread().getName());
         this.applyTemplateToNode(null, null, node, null);
  +      // System.out.println("Done with applyTemplateToNode - 
"+Thread.currentThread().getName());
   
         if (null != m_resultTreeHandler)
         {
           m_resultTreeHandler.endDocument();
         }
       }
  -    catch (SAXException se)
  +    catch (Exception se)
       {
  +      // System.out.println(Thread.currentThread().getName()+" threw an 
exception! "
  +      //                   +se.getMessage());
  +      // If an exception was thrown, we need to make sure that any waiting 
  +      // handlers can terminate, which I guess is best done by sending 
  +      // an endDocument.
  +      if (null != m_resultTreeHandler)
  +      {
  +        try
  +        {
  +          m_resultTreeHandler.endDocument();
  +        }
  +        catch(Exception e){}
  +      }
         throw new TransformerException(se);
       }
     }
  
  
  

Reply via email to