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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to