You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mm...@apache.org on 2001/06/12 19:07:55 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/transformer TransformerHandlerImpl.java TransformerImpl.java
mmidy 01/06/12 10:07:55
Modified: java/src/org/apache/xalan/processor Tag: DTM_EXP
TransformerFactoryImpl.java
java/src/org/apache/xalan/transformer Tag: DTM_EXP
TransformerHandlerImpl.java TransformerImpl.java
Log:
Make use of the thread pool for transform threads and use a feature to set whether or not to do an incremental transform
Revision Changes Path
No revision
No revision
1.28.2.3 +14 -2 xml-xalan/java/src/org/apache/xalan/processor/TransformerFactoryImpl.java
Index: TransformerFactoryImpl.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/TransformerFactoryImpl.java,v
retrieving revision 1.28.2.2
retrieving revision 1.28.2.3
diff -u -r1.28.2.2 -r1.28.2.3
--- TransformerFactoryImpl.java 2001/05/27 03:05:12 1.28.2.2
+++ TransformerFactoryImpl.java 2001/06/12 17:07:47 1.28.2.3
@@ -133,7 +133,14 @@
/** a zero length Object array used in loadPropertyFileToSystem() */
private static final Object[] NO_OBJS = new Object[0];
+
+ /** Static string to be used for incremental feature */
+ private static final String FEATURE_INCREMENTAL = "http://xml.apache.org/xalan/features/incremental";
+ /** Static string to be used for optimize feature */
+ private static final String FEATURE_OPTIMIZE = "http://xml.apache.org/xalan/features/optimize";
+
+
/**
* Retrieve a propery bundle from a specified file and load it
* int the System properties.
@@ -488,7 +495,7 @@
else
return false;
}
-
+
/**
* Allows the user to set specific attributes on the underlying
* implementation.
@@ -502,7 +509,12 @@
public void setAttribute(String name, Object value)
throws IllegalArgumentException
{
- throw new IllegalArgumentException(name);
+ if (name.equals(FEATURE_INCREMENTAL))
+ org.apache.xml.dtm.DTMManager.setIncremental(((Boolean)value).booleanValue());
+ if (name.equals(FEATURE_OPTIMIZE))
+ {}
+ else
+ throw new IllegalArgumentException(name);
}
/**
No revision
No revision
1.1.2.8 +13 -6 xml-xalan/java/src/org/apache/xalan/transformer/Attic/TransformerHandlerImpl.java
Index: TransformerHandlerImpl.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/Attic/TransformerHandlerImpl.java,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- TransformerHandlerImpl.java 2001/06/04 07:52:55 1.1.2.7
+++ TransformerHandlerImpl.java 2001/06/12 17:07:51 1.1.2.8
@@ -355,12 +355,18 @@
m_insideParse = true;
- Thread listener = new Thread(m_transformer);
+ // Thread listener = new Thread(m_transformer);
- m_transformer.setTransformThread(listener);
+ //m_transformer.setTransformThread(listener);
m_transformer.setSourceTreeDocForThread(m_dtm.getDocument());
- listener.setDaemon(false);
- listener.start();
+ 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)
{
@@ -388,7 +394,8 @@
m_contentHandler.endDocument();
}
- Thread transformThread = m_transformer.getTransformThread();
+ m_transformer.waitTransformThread();
+ /* Thread transformThread = m_transformer.getTransformThread();
if (null != transformThread)
{
@@ -409,7 +416,7 @@
m_transformer.setTransformThread(null);
}
catch (InterruptedException ie){}
- }
+ }*/
}
/**
1.90.2.22 +11 -0 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.90.2.21
retrieving revision 1.90.2.22
diff -u -r1.90.2.21 -r1.90.2.22
--- TransformerImpl.java 2001/06/12 13:19:54 1.90.2.21
+++ TransformerImpl.java 2001/06/12 17:07:52 1.90.2.22
@@ -2947,6 +2947,17 @@
{
tpool.run(this, -1);
}
+
+ /**
+ * Called by CoRoutineSAXParser. Launches the CoroutineSAXParser
+ * in a thread, and prepares it to invoke the parser from that thread
+ * upon request.
+ *
+ */
+ public static void runTransformThread(Runnable runnable)
+ {
+ tpool.run(runnable, -1);
+ }
/**
* Used by SourceTreeHandler to wait until the transform
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org