sboag       01/07/12 12:50:43

  Modified:    java/src/org/apache/xalan/transformer
                        TransformerHandlerImpl.java
  Log:
  In startDocument, run m_contentHandler.startDocument before you start the 
thread.
  
  Revision  Changes    Path
  1.8       +38 -14    
xml-xalan/java/src/org/apache/xalan/transformer/TransformerHandlerImpl.java
  
  Index: TransformerHandlerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerHandlerImpl.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TransformerHandlerImpl.java       2001/06/27 05:52:16     1.7
  +++ TransformerHandlerImpl.java       2001/07/12 19:50:37     1.8
  @@ -200,6 +200,28 @@
           System.out.println("...exiting clearCoRoutine");
       }
     }
  +  
  +  /** 
  +   * Wait for initial events.  This has to be called by the secondary thread 
  +   * upon startup.
  +   */
  +  protected void waitForInitialEvents()
  +  {
  +    
  +    if(m_dtm instanceof SAX2DTM)
  +    {
  +      if(DEBUG)
  +        System.out.println("In clearCoRoutine...");
  +      SAX2DTM sax2dtm = ((SAX2DTM)m_dtm);
  +      if(null != m_contentHandler 
  +         && m_contentHandler instanceof CoroutineSAXParser)
  +      {
  +        CoroutineSAXParser sp = (CoroutineSAXParser)m_contentHandler;
  +        sp.doMore(true, sax2dtm.getAppCoroutineID()); 
  +      }
  +    }
  +  }
  +
   
     ////////////////////////////////////////////////////////////////////
     // Implementation of javax.xml.transform.sax.TransformerHandler.
  @@ -392,25 +414,27 @@
   
      // Thread listener = new Thread(m_transformer);
   
  -    //m_transformer.setTransformThread(listener);
  -    if(DTMManager.getIncremental())
  +    if (m_contentHandler != null)
       {
  -      m_transformer.setSourceTreeDocForThread(m_dtm.getDocument());
  -          
  -      int cpriority = Thread.currentThread().getPriority();
  -  
  -      // runTransformThread is equivalent with the 2.0.1 code,
  -      // except that the Thread may come from a pool.
  -      m_transformer.runTransformThread( cpriority );
  -    }
  +      m_contentHandler.startDocument();
  +    
  +      //m_transformer.setTransformThread(listener);
  +      if(DTMManager.getIncremental())
  +      {
  +        m_transformer.setSourceTreeDocForThread(m_dtm.getDocument());
  +            
  +        int cpriority = Thread.currentThread().getPriority();
  +    
  +        // runTransformThread is equivalent with the 2.0.1 code,
  +        // except that the Thread may come from a pool.
  +        m_transformer.runTransformThread( cpriority );
  +      }
  +      
  +   }
           
      //listener.setDaemon(false);
      //listener.start();
   
  -    if (m_contentHandler != null)
  -    {
  -      m_contentHandler.startDocument();
  -    }
     }
   
     /**
  
  
  

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

Reply via email to