jvanzyl     00/11/12 08:21:35

  Modified:    src/java/org/apache/velocity/runtime Runtime.java
  Log:
  - using SimplePool for parser pool. checking in so geir and i can
    figure out some MT problems.
  
  Revision  Changes    Path
  1.39      +12 -12    
jakarta-velocity/src/java/org/apache/velocity/runtime/Runtime.java
  
  Index: Runtime.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/Runtime.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- Runtime.java      2000/11/12 06:37:00     1.38
  +++ Runtime.java      2000/11/12 16:21:35     1.39
  @@ -146,7 +146,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Jeff Bowden</a>
  - * @version $Id: Runtime.java,v 1.38 2000/11/12 06:37:00 geirm Exp $
  + * @version $Id: Runtime.java,v 1.39 2000/11/12 16:21:35 jvanzyl Exp $
    */
   public class Runtime
   {
  @@ -207,9 +207,9 @@
         * The Runtime parser. This has to be changed to
         * a pool of parsers!
         */
  -//    private static SimplePool parserPool;
  +    private static SimplePool parserPool;
       
  -    private static Parser parser = null;
  +    //private static Parser parser = null;
       
       /**
         * Number of parsers to create
  @@ -396,14 +396,12 @@
        */
       private static void initializeParserPool()
       {
  -        /*
           parserPool = new SimplePool(NUMBER_OF_PARSERS);
           for (int i=0;i<NUMBER_OF_PARSERS ;i++ )
           {
               parserPool.put (createNewParser());
           }
           Runtime.info ("Created: " + NUMBER_OF_PARSERS + " parsers.");
  -        */
       }
   
       /**
  @@ -428,15 +426,17 @@
       public static SimpleNode parse(InputStream inputStream)
           throws ParseException
       {
  -        if (parser == null)
  +        SimpleNode AST = null;
  +        Parser parser = (Parser) parserPool.get();
  +        
  +        synchronized(parser)
           {
  -            synchronized(Runtime.class)
  -            {
  -                if (parser == null)
  -                    parser = createNewParser();
  -            }
  +            AST = parser.parse(inputStream);
           }
  -        return parser.parse(inputStream);            
  +        
  +        parserPool.put(parser);
  +        
  +        return AST;
       }
       
       /**
  
  
  

Reply via email to