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]