You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by bl...@apache.org on 2003/07/07 18:50:44 UTC

cvs commit: avalon-excalibur Avalon Excalibur.iml build.xml depchecker.xml forrestbuild.xml maven-common-gump-build.xml maven.xml project.xml status.xml

bloritsch    2003/07/07 09:50:43

  Modified:    compatibility/src/xdocs index.xml
               compatibility project.xml
               component/examples/instrument-manager/conf components.xml
                        instrument.xml
               component/examples/instrument-manager project.properties
               component/src/xdocs index.xml
               component project.xml
               configuration project.properties
               datasource project.properties
               event    project.properties
               extension/src/xdocs index.xml
               i18n/src/xdocs book.xml
               instrument/src/xdocs instrumentables.xml instruments.xml
               lifecycle/src/xdocs extension.xml
               logger/src/test/org/apache/avalon/excalibur/logger/test
                        log4j.xml
               site/src/xdocs index.xml
               sourceresolve/src/java/org/apache/excalibur/source/impl
                        FTPSource.java FTPSourceFactory.java
               sourceresolve/src/test/org/apache/excalibur/source/test
                        SourceUtilTestCase.java
               sourceresolve build.xml fortress-meta.xml
               xmlutil/src/xdocs index.xml
               .        build.xml depchecker.xml forrestbuild.xml
                        maven-common-gump-build.xml maven.xml project.xml
                        status.xml
  Added:       .        Avalon Excalibur.iml
  Log:
  Fix CRLF and fix inadvertant adding of intermediate files
  
  Revision  Changes    Path
  1.2       +15 -15    avalon-excalibur/compatibility/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/compatibility/src/xdocs/index.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.xml	11 Mar 2003 14:08:27 -0000	1.1
  +++ index.xml	7 Jul 2003 16:50:40 -0000	1.2
  @@ -12,30 +12,30 @@
       <section><title>Introduction</title>
         <p>
           Avalon is minimizing the number of projects and utilities it maintains
  -	because we need to focus on our charter.  However, we do have users
  -	who have used some of the projects that were previously released.  We
  -	can't just ignore their needs.  The compatibility project is the
  -	graveyard for projects we are no longer supporting.  It exists simply
  -	to let our users (and in some cases, our users' users) continue to
  -	use their legacy components until they migrate to better supported
  -	libraries.
  +    because we need to focus on our charter.  However, we do have users
  +    who have used some of the projects that were previously released.  We
  +    can't just ignore their needs.  The compatibility project is the
  +    graveyard for projects we are no longer supporting.  It exists simply
  +    to let our users (and in some cases, our users' users) continue to
  +    use their legacy components until they migrate to better supported
  +    libraries.
         </p>
         <p>
           Most of the packages in this project have replacement libraries, but
  -	it is inevitable that some in here may not have a replacement yet--
  -	but the package falls outside our charter.  If you would like to
  -	volunteer to maintain those packages in your own library, please
  -	contact the <link href="mailto:dev@avalon.apache.org">Avalon
  +    it is inevitable that some in here may not have a replacement yet--
  +    but the package falls outside our charter.  If you would like to
  +    volunteer to maintain those packages in your own library, please
  +    contact the <link href="mailto:dev@avalon.apache.org">Avalon
           Developer's List</link> and let them know of your availability.
           Packages with a definite and released replacement will be completely
  -	deprecated and point to the new classes in the new library.
  +    deprecated and point to the new classes in the new library.
         </p>
       </section>
       <section><title>Contents</title>
         <p>
           Currently the Compatibility has the packages in the following list.
  -	If the package has a replacement, then the replacement will be listed
  -	as well:
  +    If the package has a replacement, then the replacement will be listed
  +    as well:
        </p>
        <ul>
          <li>org.apache.avalon.excalibur.cli --&gt; <link href="http://jakarta.apache.org/commons/cli/index.html">Jakarta Commons CLI</link></li>
  
  
  
  1.5       +1 -1      avalon-excalibur/compatibility/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/compatibility/project.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- project.xml	7 Jun 2003 15:12:19 -0000	1.4
  +++ project.xml	7 Jul 2003 16:50:40 -0000	1.5
  @@ -28,4 +28,4 @@
   library.
       </description>
   
  -</project>
  \ No newline at end of file
  +</project>
  
  
  
  1.3       +1 -1      avalon-excalibur/component/examples/instrument-manager/conf/components.xml
  
  Index: components.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/component/examples/instrument-manager/conf/components.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- components.xml	16 Aug 2002 03:44:14 -0000	1.2
  +++ components.xml	7 Jul 2003 16:50:40 -0000	1.3
  @@ -3,4 +3,4 @@
       <!-- Application components.                                         -->
       <!-- =============================================================== -->
       <example-instrumentable logger="example-instrumentable"/>
  -</components>
  \ No newline at end of file
  +</components>
  
  
  
  1.3       +1 -1      avalon-excalibur/component/examples/instrument-manager/conf/instrument.xml
  
  Index: instrument.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/component/examples/instrument-manager/conf/instrument.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- instrument.xml	16 Aug 2002 03:44:14 -0000	1.2
  +++ instrument.xml	7 Jul 2003 16:50:40 -0000	1.3
  @@ -87,4 +87,4 @@
               </instrument>
           </instrumentable>
       </instrumentables>
  -</instrument>
  \ No newline at end of file
  +</instrument>
  
  
  
  1.2       +1 -1      avalon-excalibur/component/examples/instrument-manager/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/component/examples/instrument-manager/project.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.properties	7 Jun 2003 19:19:15 -0000	1.1
  +++ project.properties	7 Jul 2003 16:50:40 -0000	1.2
  @@ -3,4 +3,4 @@
   # P R O J E C T  P R O P E R T I E S
   # -------------------------------------------------------------------
   maven.repo.remote = http://lsd.student.utwente.nl/repository,http://www.apache.org/dist/avalon,http://www.ibiblio.org/maven
  -        
  \ No newline at end of file
  +        
  
  
  
  1.10      +9 -9      avalon-excalibur/component/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/component/src/xdocs/index.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- index.xml	7 Jul 2003 16:31:13 -0000	1.9
  +++ index.xml	7 Jul 2003 16:50:40 -0000	1.10
  @@ -33,17 +33,17 @@
           <section><title>Automated Component Management</title>
             <p>
               The <code>org.apache.avalon.excalibur.component</code> package
  -    	    in Excalibur will allow you to manage components specified in
  -    	    a configuration file.  The beauty of this approach is that the
  -    	    ComponentManagers and ComponentSelectors become the Container
  -    	    and automagically maintain your Component's lifecycle.
  +            in Excalibur will allow you to manage components specified in
  +            a configuration file.  The beauty of this approach is that the
  +            ComponentManagers and ComponentSelectors become the Container
  +            and automagically maintain your Component's lifecycle.
             </p>
             <p>
               The Excalibur Component Management infrastructure uses a
  -    	    RoleManager to help your configuration files remain readable.
  -    	    All classes are instantiated using the current thread's
  -    	    ContextClassLoader--unless you pass a different one in the
  -    	    constructor.
  +            RoleManager to help your configuration files remain readable.
  +            All classes are instantiated using the current thread's
  +            ContextClassLoader--unless you pass a different one in the
  +            constructor.
             </p>
           </section>
           <section><title>The Developing with Avalon paper</title>
  
  
  
  1.2       +1 -1      avalon-excalibur/component/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/component/project.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.xml	7 Jun 2003 16:30:24 -0000	1.1
  +++ project.xml	7 Jul 2003 16:50:40 -0000	1.2
  @@ -73,4 +73,4 @@
       <properties>
           <use-forrest>true</use-forrest>
       </properties>
  -</project>
  \ No newline at end of file
  +</project>
  
  
  
  1.2       +1 -1      avalon-excalibur/configuration/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/configuration/project.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.properties	7 Jun 2003 16:43:52 -0000	1.1
  +++ project.properties	7 Jul 2003 16:50:40 -0000	1.2
  @@ -3,4 +3,4 @@
   # P R O J E C T  P R O P E R T I E S
   # -------------------------------------------------------------------
   maven.repo.remote = http://lsd.student.utwente.nl/repository,http://www.apache.org/dist/avalon,http://www.ibiblio.org/maven
  -        
  \ No newline at end of file
  +        
  
  
  
  1.4       +1 -1      avalon-excalibur/datasource/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/datasource/project.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.properties	7 Jun 2003 19:21:06 -0000	1.3
  +++ project.properties	7 Jul 2003 16:50:40 -0000	1.4
  @@ -3,4 +3,4 @@
   # P R O J E C T  P R O P E R T I E S
   # -------------------------------------------------------------------
   maven.repo.remote = http://lsd.student.utwente.nl/repository,http://www.apache.org/dist/avalon,http://www.ibiblio.org/maven
  -        
  \ No newline at end of file
  +        
  
  
  
  1.7       +1 -1      avalon-excalibur/event/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/event/project.properties,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- project.properties	7 Jun 2003 19:26:23 -0000	1.6
  +++ project.properties	7 Jul 2003 16:50:41 -0000	1.7
  @@ -3,4 +3,4 @@
   # P R O J E C T  P R O P E R T I E S
   # -------------------------------------------------------------------
   maven.repo.remote = http://lsd.student.utwente.nl/repository,http://www.apache.org/dist/avalon,http://www.ibiblio.org/maven
  -        
  \ No newline at end of file
  +        
  
  
  
  1.7       +1 -1      avalon-excalibur/extension/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/extension/src/xdocs/index.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- index.xml	8 Aug 2002 05:11:23 -0000	1.6
  +++ index.xml	7 Jul 2003 16:50:41 -0000	1.7
  @@ -21,4 +21,4 @@
               </p>
           </s1>
       </body>
  -</document>
  \ No newline at end of file
  +</document>
  
  
  
  1.7       +1 -1      avalon-excalibur/i18n/src/xdocs/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/i18n/src/xdocs/book.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- book.xml	27 Feb 2003 19:18:25 -0000	1.6
  +++ book.xml	7 Jul 2003 16:50:41 -0000	1.7
  @@ -2,7 +2,7 @@
         <!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "book-cocoon-v10.dtd">
   
   <book software="Excalibur Fortress"
  -	title="Excalibur Fortress"
  +    title="Excalibur Fortress"
       copyright="@year@ The Apache Software Foundation"
       xmlns:xlink="http://www.w3.org/1999/xlink">
   
  
  
  
  1.8       +7 -7      avalon-excalibur/instrument/src/xdocs/instrumentables.xml
  
  Index: instrumentables.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/instrument/src/xdocs/instrumentables.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- instrumentables.xml	26 Mar 2003 10:40:23 -0000	1.7
  +++ instrumentables.xml	7 Jul 2003 16:50:41 -0000	1.8
  @@ -34,13 +34,13 @@
                   The third and fourth methods, getInstruments and getChildInstrumentables, are
                   each called once by an InstrumentManager to query the Instrumentable for a list
                   of the Instruments and child Instrumentables that it is making available.
  -	</p>
  -	<!-- temporarily commented out until there is some content
  +    </p>
  +    <!-- temporarily commented out until there is some content
               <p>
  -		    Please see the <link href="instrumentable-howto.html">Instrumentable How-To</link>
  +            Please see the <link href="instrumentable-howto.html">Instrumentable How-To</link>
                   for an example.
  -	</p>
  -	-->
  +    </p>
  +    -->
               <p>
                   Implementing the Instrumentable interface directly requires a little bit of work,
                   but is necessary in cases where the parent class can not be controlled.  In most
  @@ -54,9 +54,9 @@
                   classpath.)
               </p>
               <p>
  -		    <!-- Please see the
  +            <!-- Please see the
                   <link href="abstract-instrumentable-howto.html">AbstractInstrumentable How-To</link>
  -		for an example. -->  An example of the AbstractLogEnabledInstrumentable helper class is
  +        for an example. -->  An example of the AbstractLogEnabledInstrumentable helper class is
                   not included as its usage is identical to AbstractInstrumentable.
               </p>
           </section>
  
  
  
  1.4       +1 -1      avalon-excalibur/instrument/src/xdocs/instruments.xml
  
  Index: instruments.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/instrument/src/xdocs/instruments.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- instruments.xml	28 Feb 2003 16:26:04 -0000	1.3
  +++ instruments.xml	7 Jul 2003 16:50:41 -0000	1.4
  @@ -23,7 +23,7 @@
                   where an InstrumentManager is not present, or where it is present but output is
                   not currently being collected, the Instrument effectively becomes a noop.
               </p>
  -            <p>	
  +            <p> 
                   There are currently two types of Instruments available for use by components.
                   So far they have proven to be enough to profile any type of quantitative
                   information.
  
  
  
  1.3       +13 -13    avalon-excalibur/lifecycle/src/xdocs/extension.xml
  
  Index: extension.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/lifecycle/src/xdocs/extension.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- extension.xml	11 Mar 2003 15:53:56 -0000	1.2
  +++ extension.xml	7 Jul 2003 16:50:41 -0000	1.3
  @@ -82,9 +82,9 @@
      </p>
   
       <ol>
  -	    <li>Define the new component interface
  +        <li>Define the new component interface
   
  -		    <br/><br/>
  +            <br/><br/>
         Create the new interface defining the operations that should be called upon components
         that implement this interface. Using the previously mentioned examples, this would be
         your <code>SecurityManageable</code>, <code>Cacheable</code>, <code>Decryptable</code>,
  @@ -92,9 +92,9 @@
         </li>
   
        <li>Define an extension object that calls upon the methods defined in the new interface,
  -	     during one or more of the pre-defined phases of component's lifecycle
  +         during one or more of the pre-defined phases of component's lifecycle
   
  -	     <br/><br/>
  +         <br/><br/>
         Create a class that implements the <code>Creator</code> and/or <code>Accessor</code>
         interfaces and implemets the interaction with target components supplied under the
         create, destroy, access and relase operations.
  @@ -102,7 +102,7 @@
   
        <li>Register your extension object
   
  -	     <br/><br/>
  +         <br/><br/>
          This depends on the container you are using.  In
          Merlin you need to include the &lt;extensions&gt; tag in the component .xinfo file and
          Merlin will automatically recognize it.  In Fortress you register the extension object
  @@ -110,8 +110,8 @@
          </li>
   
        <li>Implement the new component interface on your component
  -	     <br/><br/>
  -	    
  +         <br/><br/>
  +        
         Add the new <code>implements</code> clause to your Component, or Component implementation,
         and write any methods defined in the implemented interface.
         <br/><br/>
  @@ -129,28 +129,28 @@
      </p>
   
       <ol>
  -	    <li>Creation
  +        <li>Creation
   
  -		    <br/><br/>
  +            <br/><br/>
         When the component is instantiated.
         </li>
   
        <li>Access
   
  -	     <br/><br/>
  +         <br/><br/>
         When the component is accessed via a ServiceManager/Selector
         (<code>lookup()/select()</code>).
         </li>
   
        <li>Release
   
  -	     <br/><br/>
  +         <br/><br/>
         When the component is released via a ServiceManager/Selector (<code>release()</code>).
         </li>
   
        <li>Destruction
   
  -	     <br/><br/>
  +         <br/><br/>
         When the component is decommissioned, ready for garbage collection.
         
        </li>
  
  
  
  1.2       +1 -1      avalon-excalibur/logger/src/test/org/apache/avalon/excalibur/logger/test/log4j.xml
  
  Index: log4j.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/logger/src/test/org/apache/avalon/excalibur/logger/test/log4j.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- log4j.xml	28 Oct 2002 00:36:03 -0000	1.1
  +++ log4j.xml	7 Jul 2003 16:50:41 -0000	1.2
  @@ -14,4 +14,4 @@
           <appender-ref ref="FILE"/>
       </root>
   
  -</log4j:configuration>
  \ No newline at end of file
  +</log4j:configuration>
  
  
  
  1.11      +7 -7      avalon-excalibur/site/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/site/src/xdocs/index.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- index.xml	2 Mar 2003 06:58:15 -0000	1.10
  +++ index.xml	7 Jul 2003 16:50:41 -0000	1.11
  @@ -17,15 +17,15 @@
         </p>
         <p>
           Not all of the code in excalibur CVS nor all the packages
  -	listed in the menu have been released; some are in an
  -	alpha or planning stage.
  -	Individual packages inside Excalibur that have been released
  -	can be downloaded from
  -	<a href="http://avalon.apache.org/bindownload.cgi">here</a>.
  +    listed in the menu have been released; some are in an
  +    alpha or planning stage.
  +    Individual packages inside Excalibur that have been released
  +    can be downloaded from
  +    <a href="http://avalon.apache.org/bindownload.cgi">here</a>.
         </p>
         <warn>
           Packages that have not been officially released are of varying
  -	quality and/or stability. They are <strong>NOT</strong>
  +    quality and/or stability. They are <strong>NOT</strong>
           meant for production use. You have been warned.
         </warn>
       </section>
  
  
  
  1.3       +295 -295  avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/FTPSource.java
  
  Index: FTPSource.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/FTPSource.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FTPSource.java	4 Jul 2003 15:09:49 -0000	1.2
  +++ FTPSource.java	7 Jul 2003 16:50:41 -0000	1.3
  @@ -71,307 +71,307 @@
    * @author <a href="mailto:unico@hippo.nl">Unico Hommes</a>
    */
   public class FTPSource extends URLSource implements ModifiableSource
  -{	
  -	
  -	public FTPSource()
  -	{
  -		super();
  -	}
  +{   
  +    
  +    public FTPSource()
  +    {
  +        super();
  +    }
   
  -	/**
  -	 * Can the data sent to an <code>OutputStream</code> returned by
  -	 * {@link #getOutputStream()} be cancelled ?
  -	 *
  -	 * @return <code>true</code> if the stream can be cancelled
  -	 */
  -	public boolean canCancel( final OutputStream stream )
  -	{
  -		if (stream instanceof FTPSourceOutputStream)
  -		{
  -			FTPSourceOutputStream fsos = (FTPSourceOutputStream) stream;
  -			if ( fsos.getSource() == this )
  -			{
  -				return fsos.canCancel();
  -			}
  -		}
  +    /**
  +     * Can the data sent to an <code>OutputStream</code> returned by
  +     * {@link #getOutputStream()} be cancelled ?
  +     *
  +     * @return <code>true</code> if the stream can be cancelled
  +     */
  +    public boolean canCancel( final OutputStream stream )
  +    {
  +        if (stream instanceof FTPSourceOutputStream)
  +        {
  +            FTPSourceOutputStream fsos = (FTPSourceOutputStream) stream;
  +            if ( fsos.getSource() == this )
  +            {
  +                return fsos.canCancel();
  +            }
  +        }
   
  -		throw new IllegalArgumentException( "The stream is not associated to this source" );
  -	}
  +        throw new IllegalArgumentException( "The stream is not associated to this source" );
  +    }
   
  -	/**
  -	 * Cancel the data sent to an <code>OutputStream</code> returned by
  -	 * {@link #getOutputStream()}.
  -	 * <p>
  -	 * After cancel, the stream should not be used.
  -	 */
  -	public void cancel( final OutputStream stream ) throws IOException
  -	{
  -		if (stream instanceof FTPSourceOutputStream)
  -		{
  -			FTPSourceOutputStream fsos = (FTPSourceOutputStream) stream;
  -			if ( fsos.getSource() == this )
  -			{
  -				try
  -				{
  -					fsos.cancel();
  -				}
  -				catch ( Exception e )
  -				{
  -					throw new SourceException( "Exception during cancel.", e );
  -				}
  -				return;
  -			}
  -		}
  +    /**
  +     * Cancel the data sent to an <code>OutputStream</code> returned by
  +     * {@link #getOutputStream()}.
  +     * <p>
  +     * After cancel, the stream should not be used.
  +     */
  +    public void cancel( final OutputStream stream ) throws IOException
  +    {
  +        if (stream instanceof FTPSourceOutputStream)
  +        {
  +            FTPSourceOutputStream fsos = (FTPSourceOutputStream) stream;
  +            if ( fsos.getSource() == this )
  +            {
  +                try
  +                {
  +                    fsos.cancel();
  +                }
  +                catch ( Exception e )
  +                {
  +                    throw new SourceException( "Exception during cancel.", e );
  +                }
  +                return;
  +            }
  +        }
   
  -		throw new IllegalArgumentException( "The stream is not associated to this source" );
  -	}
  +        throw new IllegalArgumentException( "The stream is not associated to this source" );
  +    }
   
  -	/**
  -	 * Delete the source.
  -	 */
  -	public void delete() throws SourceException
  -	{
  -		EnhancedFtpClient ftpClient = null;
  -		try
  -		{
  -			ftpClient = getFtpClient();
  -			final String relativePath = m_url.getPath().substring( 1 );
  -			ftpClient.delete( relativePath );
  -		}
  -		catch ( IOException e )
  -		{
  -			if ( e instanceof FileNotFoundException )
  -			{
  -				throw new SourceNotFoundException( e.getMessage() );
  -			}
  -			else
  -			{
  -				final String message =
  -					"Failure during delete";
  -				throw new SourceException( message, e );
  -			}
  -		}
  -		finally
  -		{
  -			if ( ftpClient != null )
  -			{
  -				try
  -				{
  -					ftpClient.closeServer();
  -				}
  -				catch ( IOException e ) {}
  -			}
  -		}
  -	}
  +    /**
  +     * Delete the source.
  +     */
  +    public void delete() throws SourceException
  +    {
  +        EnhancedFtpClient ftpClient = null;
  +        try
  +        {
  +            ftpClient = getFtpClient();
  +            final String relativePath = m_url.getPath().substring( 1 );
  +            ftpClient.delete( relativePath );
  +        }
  +        catch ( IOException e )
  +        {
  +            if ( e instanceof FileNotFoundException )
  +            {
  +                throw new SourceNotFoundException( e.getMessage() );
  +            }
  +            else
  +            {
  +                final String message =
  +                    "Failure during delete";
  +                throw new SourceException( message, e );
  +            }
  +        }
  +        finally
  +        {
  +            if ( ftpClient != null )
  +            {
  +                try
  +                {
  +                    ftpClient.closeServer();
  +                }
  +                catch ( IOException e ) {}
  +            }
  +        }
  +    }
   
  -	/**
  -	 * Return an {@link OutputStream} to write to.
  -	 */
  -	public OutputStream getOutputStream() throws IOException
  -	{
  -		return new FTPSourceOutputStream( this );
  -	}
  -	
  -	/**
  -	 * Creates an FtpClient and logs in the current user.
  -	 */
  -	private final EnhancedFtpClient getFtpClient()
  -		throws IOException
  -	{
  -		final EnhancedFtpClient ftpClient = 
  -			new EnhancedFtpClient( m_url.getHost() );
  -		ftpClient.login( getUser(), getPassword() );
  -		return ftpClient;
  -	}
  -	
  -	/**
  -	 * @return the user part of the user info string, 
  -	 * <code>null</code> if there is no user info.
  -	 */
  -	private final String getUser() 
  -	{
  -		final String userInfo = m_url.getUserInfo();
  -		if ( userInfo != null )
  -		{
  -			int index = userInfo.indexOf( ':' );
  -			if ( index != -1 )
  -			{
  -				return userInfo.substring( 0, index );
  -			}
  -		}
  -		return null;
  -	}
  -	
  -	/**
  -	 * @return the password part of the user info string, 
  -	 * <code>null</code> if there is no user info.
  -	 */
  -	private final String getPassword()
  -	{
  -		final String userInfo = m_url.getUserInfo();
  -		if ( userInfo != null )
  -		{
  -			int index = userInfo.indexOf( ':' );
  -			if ( index != -1 && userInfo.length() > index + 1 )
  -			{
  -				return userInfo.substring( index + 1 );
  -			}
  -		}
  -		return null;
  -	}
  -	
  -	/**
  -	 * Need to extend FtpClient in order to get to protected issueCommand
  -	 * and implement additional functionality.
  -	 */
  -	private static class EnhancedFtpClient extends FtpClient
  -	{
  -		
  -		private EnhancedFtpClient( String host ) throws IOException
  -		{
  -			super( host );
  -		}
  -		
  -		void delete( final String path ) throws IOException
  -		{
  -			issueCommand( "DELE " + path );
  -		}
  -		
  -		/**
  -		 * Create a directory in the current working directory.
  -		 */
  -		void mkdir( final String directoryName ) throws IOException
  -		{
  -			issueCommand( "MKD " + directoryName );
  -		}
  -		
  -		/**
  -		 * Create all directories along a directory path if they
  -		 * do not already exist.
  -		 * 
  -		 * The algorithm traverses the directory tree in reversed
  -		 * direction. cd'ing first to the deepest level 
  -		 * and if that directory doesn't exist try cd'ing to its
  -		 * parent from where it can be created.
  -		 * 
  -		 * NOTE: after completion the current working directory 
  -		 * will be the directory identified by directoryPath.
  -		 */
  -		void mkdirs( final String directoryPath ) throws IOException
  -		{
  -			try
  -			{
  -				cd( directoryPath );
  -			}
  -			catch ( FileNotFoundException e )
  -			{
  -				// doesn't exist, create it
  -				String directoryName = null;
  -				final int index = directoryPath.lastIndexOf( '/' );
  -				if ( index != -1 )
  -				{
  -					final String parentDirectoryPath = 
  -						directoryPath.substring( 0, index );
  -					directoryName = directoryPath.substring( index + 1 );
  -					mkdirs( parentDirectoryPath );
  -				}
  -				else
  -				{
  -					directoryName = directoryPath;
  -				}
  -				mkdir( directoryName );
  -				cd( directoryName );
  -			}			
  -		}
  -					
  -	}
  -	
  -	/**
  -	 * Buffers the output in a byte array and only writes to the remote 
  -	 * FTP location at closing time.
  -	 */
  -	private static class FTPSourceOutputStream extends ByteArrayOutputStream
  -	{
  -		private final FTPSource m_source;
  -		private boolean m_isClosed = false;
  -		
  -		FTPSourceOutputStream( final FTPSource source )
  -		{
  -			super( 8192 );
  -			m_source = source;
  -		}
  -		
  -		public void close() throws IOException
  -		{			
  -			if ( !m_isClosed )
  -			{
  -				EnhancedFtpClient ftpClient = null;
  -				OutputStream out = null;
  -				try
  -				{
  -					ftpClient = m_source.getFtpClient();
  -					String parentPath = null;
  -					String fileName = null;
  -					final String relativePath = m_source.m_url.getPath().substring( 1 );
  -					final int index = relativePath.lastIndexOf( '/' );
  -					if ( index != -1 )
  -					{
  -						parentPath = relativePath.substring( 0, index );
  -						fileName = relativePath.substring( index + 1 );
  -						ftpClient.mkdirs( parentPath );
  -					}
  -					else
  -					{
  -						fileName = relativePath;
  -					}
  -					out = ftpClient.put( fileName );
  -					final byte[] bytes = toByteArray();
  -					out.write( bytes );
  -				}
  -				finally 
  -				{
  -					if ( out != null )
  -					{
  -						try
  -						{
  -							out.close();
  -						}
  -						catch ( IOException e ) {}
  -					}
  -					if ( ftpClient != null )
  -					{
  -						try
  -						{
  -							ftpClient.closeServer();
  -						}
  -						catch ( IOException e ) {}
  -					}
  -					m_isClosed = true;
  -				}
  -			}
  -		}
  -		
  -		boolean canCancel()
  -		{
  -			return !m_isClosed;
  -		}
  +    /**
  +     * Return an {@link OutputStream} to write to.
  +     */
  +    public OutputStream getOutputStream() throws IOException
  +    {
  +        return new FTPSourceOutputStream( this );
  +    }
  +    
  +    /**
  +     * Creates an FtpClient and logs in the current user.
  +     */
  +    private final EnhancedFtpClient getFtpClient()
  +        throws IOException
  +    {
  +        final EnhancedFtpClient ftpClient = 
  +            new EnhancedFtpClient( m_url.getHost() );
  +        ftpClient.login( getUser(), getPassword() );
  +        return ftpClient;
  +    }
  +    
  +    /**
  +     * @return the user part of the user info string, 
  +     * <code>null</code> if there is no user info.
  +     */
  +    private final String getUser() 
  +    {
  +        final String userInfo = m_url.getUserInfo();
  +        if ( userInfo != null )
  +        {
  +            int index = userInfo.indexOf( ':' );
  +            if ( index != -1 )
  +            {
  +                return userInfo.substring( 0, index );
  +            }
  +        }
  +        return null;
  +    }
  +    
  +    /**
  +     * @return the password part of the user info string, 
  +     * <code>null</code> if there is no user info.
  +     */
  +    private final String getPassword()
  +    {
  +        final String userInfo = m_url.getUserInfo();
  +        if ( userInfo != null )
  +        {
  +            int index = userInfo.indexOf( ':' );
  +            if ( index != -1 && userInfo.length() > index + 1 )
  +            {
  +                return userInfo.substring( index + 1 );
  +            }
  +        }
  +        return null;
  +    }
  +    
  +    /**
  +     * Need to extend FtpClient in order to get to protected issueCommand
  +     * and implement additional functionality.
  +     */
  +    private static class EnhancedFtpClient extends FtpClient
  +    {
  +        
  +        private EnhancedFtpClient( String host ) throws IOException
  +        {
  +            super( host );
  +        }
  +        
  +        void delete( final String path ) throws IOException
  +        {
  +            issueCommand( "DELE " + path );
  +        }
  +        
  +        /**
  +         * Create a directory in the current working directory.
  +         */
  +        void mkdir( final String directoryName ) throws IOException
  +        {
  +            issueCommand( "MKD " + directoryName );
  +        }
  +        
  +        /**
  +         * Create all directories along a directory path if they
  +         * do not already exist.
  +         * 
  +         * The algorithm traverses the directory tree in reversed
  +         * direction. cd'ing first to the deepest level 
  +         * and if that directory doesn't exist try cd'ing to its
  +         * parent from where it can be created.
  +         * 
  +         * NOTE: after completion the current working directory 
  +         * will be the directory identified by directoryPath.
  +         */
  +        void mkdirs( final String directoryPath ) throws IOException
  +        {
  +            try
  +            {
  +                cd( directoryPath );
  +            }
  +            catch ( FileNotFoundException e )
  +            {
  +                // doesn't exist, create it
  +                String directoryName = null;
  +                final int index = directoryPath.lastIndexOf( '/' );
  +                if ( index != -1 )
  +                {
  +                    final String parentDirectoryPath = 
  +                        directoryPath.substring( 0, index );
  +                    directoryName = directoryPath.substring( index + 1 );
  +                    mkdirs( parentDirectoryPath );
  +                }
  +                else
  +                {
  +                    directoryName = directoryPath;
  +                }
  +                mkdir( directoryName );
  +                cd( directoryName );
  +            }           
  +        }
  +                    
  +    }
  +    
  +    /**
  +     * Buffers the output in a byte array and only writes to the remote 
  +     * FTP location at closing time.
  +     */
  +    private static class FTPSourceOutputStream extends ByteArrayOutputStream
  +    {
  +        private final FTPSource m_source;
  +        private boolean m_isClosed = false;
  +        
  +        FTPSourceOutputStream( final FTPSource source )
  +        {
  +            super( 8192 );
  +            m_source = source;
  +        }
  +        
  +        public void close() throws IOException
  +        {           
  +            if ( !m_isClosed )
  +            {
  +                EnhancedFtpClient ftpClient = null;
  +                OutputStream out = null;
  +                try
  +                {
  +                    ftpClient = m_source.getFtpClient();
  +                    String parentPath = null;
  +                    String fileName = null;
  +                    final String relativePath = m_source.m_url.getPath().substring( 1 );
  +                    final int index = relativePath.lastIndexOf( '/' );
  +                    if ( index != -1 )
  +                    {
  +                        parentPath = relativePath.substring( 0, index );
  +                        fileName = relativePath.substring( index + 1 );
  +                        ftpClient.mkdirs( parentPath );
  +                    }
  +                    else
  +                    {
  +                        fileName = relativePath;
  +                    }
  +                    out = ftpClient.put( fileName );
  +                    final byte[] bytes = toByteArray();
  +                    out.write( bytes );
  +                }
  +                finally 
  +                {
  +                    if ( out != null )
  +                    {
  +                        try
  +                        {
  +                            out.close();
  +                        }
  +                        catch ( IOException e ) {}
  +                    }
  +                    if ( ftpClient != null )
  +                    {
  +                        try
  +                        {
  +                            ftpClient.closeServer();
  +                        }
  +                        catch ( IOException e ) {}
  +                    }
  +                    m_isClosed = true;
  +                }
  +            }
  +        }
  +        
  +        boolean canCancel()
  +        {
  +            return !m_isClosed;
  +        }
   
  -		void cancel() throws Exception
  -		{
  -			if ( m_isClosed )
  -			{
  -				final String message =
  -					"Cannot cancel: outputstrem is already closed";
  -				throw new IllegalStateException( message );
  -			}
  -			m_isClosed = true;
  -		}
  -		
  -		FTPSource getSource()
  -		{
  -			return m_source;
  -		}
  -		
  -	}
  +        void cancel() throws Exception
  +        {
  +            if ( m_isClosed )
  +            {
  +                final String message =
  +                    "Cannot cancel: outputstrem is already closed";
  +                throw new IllegalStateException( message );
  +            }
  +            m_isClosed = true;
  +        }
  +        
  +        FTPSource getSource()
  +        {
  +            return m_source;
  +        }
  +        
  +    }
   
   }
  
  
  
  1.2       +15 -15    avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/FTPSourceFactory.java
  
  Index: FTPSourceFactory.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/FTPSourceFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FTPSourceFactory.java	24 Jun 2003 12:39:41 -0000	1.1
  +++ FTPSourceFactory.java	7 Jul 2003 16:50:41 -0000	1.2
  @@ -76,20 +76,20 @@
   public final class FTPSourceFactory extends URLSourceFactory implements SourceFactory, ThreadSafe
   {
   
  -	public FTPSourceFactory() 
  -	{
  -		super();
  -	}
  +    public FTPSourceFactory() 
  +    {
  +        super();
  +    }
   
  -	/**
  -	 * Creates an FTPSource.
  -	 */
  -	protected Source createURLSource( final URL url, final Map parameters ) 
  -		throws MalformedURLException, IOException 
  -	{
  -		URLSource result = new FTPSource();
  -		result.init(url, parameters);
  -		return result;	
  -	}
  -	
  +    /**
  +     * Creates an FTPSource.
  +     */
  +    protected Source createURLSource( final URL url, final Map parameters ) 
  +        throws MalformedURLException, IOException 
  +    {
  +        URLSource result = new FTPSource();
  +        result.init(url, parameters);
  +        return result;  
  +    }
  +    
   }
  
  
  
  1.5       +2 -2      avalon-excalibur/sourceresolve/src/test/org/apache/excalibur/source/test/SourceUtilTestCase.java
  
  Index: SourceUtilTestCase.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/sourceresolve/src/test/org/apache/excalibur/source/test/SourceUtilTestCase.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SourceUtilTestCase.java	10 Jun 2003 14:40:28 -0000	1.4
  +++ SourceUtilTestCase.java	7 Jul 2003 16:50:41 -0000	1.5
  @@ -126,7 +126,7 @@
           assertEquals(-1, SourceUtil.indexOfSchemeColon("h~ttp:foo"));
           assertEquals(-1, SourceUtil.indexOfSchemeColon("~http:foo"));
           assertEquals(-1, SourceUtil.indexOfSchemeColon("http~:foo"));
  -	}
  +    }
   
       public void testAbsolutize()
       {
  
  
  
  1.45      +7 -7      avalon-excalibur/sourceresolve/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/sourceresolve/build.xml,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- build.xml	2 Jul 2003 13:23:45 -0000	1.44
  +++ build.xml	7 Jul 2003 16:50:42 -0000	1.45
  @@ -29,7 +29,7 @@
       <path id="test.class.path">
           <pathelement location="${build.testclasses}"/>
           <pathelement location="${junit.jar}"/>
  -        <pathelement location="${commons-logging.jar}"/>	
  +        <pathelement location="${commons-logging.jar}"/>    
           <path refid="project.class.path"/>
       </path>
       <property name="cp" refid="test.class.path"/>
  @@ -74,8 +74,8 @@
               target="1.2">
               <classpath refid="project.class.path" />
               <include name="**/*.java"/>
  -	    <exclude name="**/HTTPClient*"
  -	            unless="commons-httpclient.present"/>
  +        <exclude name="**/HTTPClient*"
  +                unless="commons-httpclient.present"/>
           </javac>
   
           <!-- copy resources to same location as .class files -->
  @@ -110,8 +110,8 @@
               target="1.2">
               <classpath refid="test.class.path" />
               <include name="**/*.java"/>
  -	    <exclude name="**/HTTPClient*"
  -	            unless="commons-httpclient.present"/>
  +        <exclude name="**/HTTPClient*"
  +                unless="commons-httpclient.present"/>
           </javac>
   
           <copy todir="${build.testclasses}">
  @@ -204,8 +204,8 @@
                   <fileset dir="${build.testclasses}">
                       <include name="**/test/*TestCase.class"/>
                       <exclude name="**/Abstract*"/>
  -		    <exclude name="**/test/HTTPClient*"
  -		             unless="commons-httpclient.present"/>
  +            <exclude name="**/test/HTTPClient*"
  +                     unless="commons-httpclient.present"/>
                   </fileset>
               </batchtest>
   
  
  
  
  1.2       +1 -1      avalon-excalibur/sourceresolve/fortress-meta.xml
  
  Index: fortress-meta.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/sourceresolve/fortress-meta.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- fortress-meta.xml	23 May 2003 16:13:40 -0000	1.1
  +++ fortress-meta.xml	7 Jul 2003 16:50:42 -0000	1.2
  @@ -174,4 +174,4 @@
               property="fortress.meta.generated"/>
       </target>
   
  -</project>
  \ No newline at end of file
  +</project>
  
  
  
  1.4       +1 -1      avalon-excalibur/xmlutil/src/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/xmlutil/src/xdocs/index.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- index.xml	7 Jul 2002 08:00:57 -0000	1.3
  +++ index.xml	7 Jul 2003 16:50:42 -0000	1.4
  @@ -15,4 +15,4 @@
               </p>
           </section>
       </body>
  -</document>
  \ No newline at end of file
  +</document>
  
  
  
  1.209     +6 -6      avalon-excalibur/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/build.xml,v
  retrieving revision 1.208
  retrieving revision 1.209
  diff -u -r1.208 -r1.209
  --- build.xml	4 Jun 2003 13:24:15 -0000	1.208
  +++ build.xml	7 Jul 2003 16:50:42 -0000	1.209
  @@ -87,7 +87,7 @@
       </target>
   
       <target name="prj-lifecycle">
  -	    <ant dir="lifecycle" target="${subproject-target}"/>
  +        <ant dir="lifecycle" target="${subproject-target}"/>
       </target>
   
       <!-- Logger -->
  @@ -127,7 +127,7 @@
       <!--  Ant to decide on the correct build order. -->
       <target name="build-all-subprojects"
           depends="prj-compatibility,
  -		prj-i18n, prj-extension,
  +        prj-i18n, prj-extension,
                   prj-configuration, prj-event,
                   prj-thread, prj-monitor, prj-fortress, prj-datasource,
                   prj-instrument, prj-store, prj-logger,
  @@ -165,14 +165,14 @@
               <pathelement location="instrument/src/client"/>
               <pathelement location="instrument/src/manager"/>
               <pathelement location="instrument/src/test"/>
  -	    <pathelement location="compatibility/src/java"/>
  -	    <pathelement location="compatibility/src/test"/>
  +        <pathelement location="compatibility/src/java"/>
  +        <pathelement location="compatibility/src/test"/>
               <pathelement location="extension/src/java"/>
               <pathelement location="extension/src/test"/>
               <pathelement location="i18n/src/java"/>
               <pathelement location="i18n/src/test"/>
  -	    <pathelement location="lifecycle/src/java"/>
  -	    <pathelement location="lifecycle/src/test"/>
  +        <pathelement location="lifecycle/src/java"/>
  +        <pathelement location="lifecycle/src/test"/>
               <pathelement location="monitor/src/java"/>
               <pathelement location="monitor/src/test"/>
               <pathelement location="naming/src/java"/>
  
  
  
  1.55      +4 -4      avalon-excalibur/depchecker.xml
  
  Index: depchecker.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/depchecker.xml,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- depchecker.xml	15 Jun 2003 16:08:53 -0000	1.54
  +++ depchecker.xml	7 Jul 2003 16:50:43 -0000	1.55
  @@ -375,8 +375,8 @@
       <target name="checkCompatibility">
         <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkRequiredFile">
           <property name="proj.jar.name" value="excalibur-compatibility-1.0.jar"/>
  -	    <property name="path" value="${excalibur-compatibility.jar}"/>
  -	    <property name="proj.home" value="${basedir}/../compatibility"/>
  +        <property name="path" value="${excalibur-compatibility.jar}"/>
  +        <property name="proj.home" value="${basedir}/../compatibility"/>
         </ant>
       </target>
       <target name="checkInstrument">
  @@ -420,7 +420,7 @@
       <target name="checkLifecycle">
           <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkRequiredFile">
               <property name="proj.jar.name" value="excalibur-lifecycle.jar"/>
  -	    <property name="path" value="${excalibur-lifecycle.jar}"/>
  +        <property name="path" value="${excalibur-lifecycle.jar}"/>
               <property name="proj.home" value="${basedir}/../lifecycle"/>
           </ant>
       </target>
  
  
  
  1.3       +2 -2      avalon-excalibur/forrestbuild.xml
  
  Index: forrestbuild.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/forrestbuild.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- forrestbuild.xml	5 Mar 2003 04:01:41 -0000	1.2
  +++ forrestbuild.xml	7 Jul 2003 16:50:43 -0000	1.3
  @@ -11,8 +11,8 @@
   -->
   
   <target name="site" depends="forrest.init" description="Generates static HTML documentation">
  -	<property name="project.home" value="../"/>
  -	<delete dir="${project.home}/build"/>
  +    <property name="project.home" value="../"/>
  +    <delete dir="${project.home}/build"/>
       <ant antfile="${forrest.home}/forrest.antproxy.xml" target="site"/>
     </target>
   
  
  
  
  1.3       +1 -1      avalon-excalibur/maven-common-gump-build.xml
  
  Index: maven-common-gump-build.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/maven-common-gump-build.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- maven-common-gump-build.xml	8 Jun 2003 13:51:22 -0000	1.2
  +++ maven-common-gump-build.xml	7 Jul 2003 16:50:43 -0000	1.3
  @@ -186,4 +186,4 @@
   
           </javadoc>
       </target>
  -</project>
  \ No newline at end of file
  +</project>
  
  
  
  1.5       +1 -1      avalon-excalibur/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/maven.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- maven.xml	8 Jun 2003 14:13:37 -0000	1.4
  +++ maven.xml	7 Jul 2003 16:50:43 -0000	1.5
  @@ -608,4 +608,4 @@
           <attainGoal name="excalibur:write-gump-module.xml"/>
       </goal>
   
  -</project>
  \ No newline at end of file
  +</project>
  
  
  
  1.3       +1 -1      avalon-excalibur/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/project.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- project.xml	7 Jun 2003 15:12:19 -0000	1.2
  +++ project.xml	7 Jul 2003 16:50:43 -0000	1.3
  @@ -27,4 +27,4 @@
           <unitTestSourceDirectory></unitTestSourceDirectory>
       </build>
   
  -</project>
  \ No newline at end of file
  +</project>
  
  
  
  1.3       +357 -357  avalon-excalibur/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/status.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- status.xml	8 Apr 2003 18:35:29 -0000	1.2
  +++ status.xml	7 Jul 2003 16:50:43 -0000	1.3
  @@ -1,357 +1,357 @@
  -<?xml version="1.0"?>
  -<!DOCTYPE changes PUBLIC "-//APACHE//DTD Changes V1.1//EN"  "changes-v11.dtd">
  -
  -<changes title="Avalon Excalibur History of Changes">
  -  <devs>
  -    <person name="Berin Loritsch" email="bloritsch@apache.org" id="BL"/>
  -    <person name="Leo Simons" email="mail@leosimons.com" id="LS"/>
  -    <person name="Peter Donald" email="peter at apache.org" id="PD"/>
  -    <person name="Jeff Turner" email="jeff@socialchange.net.au" id="JT"/>
  -    <person name="Neeme Praks" email="neeme.praks@one.ee" id="NP"/>
  -    <person name="Giacomo Pati" email="giacomo@apache.org" id="GP"/>
  -    <person name="Paul Hammant" email="hammant@apache.org" id="PH"/>
  -    <person name="Leif Mortenson" email="leif@apache.org" id="LM"/>
  -    <person name="Eung-ju Park" email="colus@apache.org" id="EP"/>
  -    <person name="Carston Ziegler" email="cziegler@apache.org" id="CZ"/>
  -    <person name="Peter Royal" email="proyal@apache.org" id="PR"/>
  -  </devs>
  -  <release version="@version@" date="@date@">
  -    <action dev="PR" type="fix">
  -        Fixing proxy-based datasource code.
  -    </action>
  -    <action dev="PR" type="fix">
  -      PriorityFilterTargetFactory throws a ConfigurationException
  -      upon invalid targets
  -    </action>
  -    <action dev="CZ" type="add">
  -      The ExcaliburComponentSelector does not instantiate a Component 
  -      for the hasComponent() test anymore.
  -    </action>
  -    <action dev="CZ" type="add">
  -      Adding XMLizer to the xmlbundle subproject for converting different
  -      data (identitied by a mime-type) to XML.
  -    </action>
  -    <action dev="CZ" type="add">
  -      Finished port of Cocoon's source resolver as the new sourceresolve
  -      subproject.
  -    </action>
  -    <action dev="CZ" type="add">
  -      Added XML Parser role and implementation, EntityResolver role and
  -      some misc. XML support (from Cocoon).
  -    </action>
  -    <action dev="Whole Team" type="add">
  -      Broken Excalibur from single jar into multiple smaller jars.
  -    </action>
  -    
  -  </release>
  -  <release version="4.1" date="January 30, 2002">
  -    <action dev="CZ" type="add">
  -      Initial port of Cocoon's Source resolvers and XML parsers
  -    </action>
  -    <action dev="NP" type="update">
  -      Added many fixes to the XML Resource Bundles and Resource Bundle
  -      access code.
  -    </action>
  -    <action dev="PD" type="update">
  -      Update the extension management code and make it more robust.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add new Container abstraction to separate ComponentManager from
  -      Container code (i.e. ExcaliburComponentManager violates this).
  -      The new ContainerManager and Container abstraction make the system
  -      much easier to manage.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add new CommandManager architecture to manage all asynchronous
  -      commands and the ThreadManager architecture to manage the thread
  -      allocation policy for the CommandManager.
  -    </action>
  -    <action dev="DP" type="add">
  -      New component to handle automatic XML Catalog resolution.
  -    </action>
  -    <action dev="EP" type="update">
  -      Many improvements to the cache component.  Extended cache validation
  -      support, multiple store backends, and more.
  -    </action>
  -    <action dev="JT" type="add">
  -      Add an XPathProcessor abstraction Component with ThreadSafe
  -      implementations for Jaxen and Xalan backed XPath processors.
  -    </action>
  -    <action dev="PD" type="update">
  -      Made automatic proxy code even more robust.
  -    </action>
  -    <action dev="PD" type="update">
  -      Add support for recursive property resolution. Added appropriate
  -      unit test to accompany feature.
  -    </action>
  -    <action dev="BL" type="update">
  -      Optimized pool implementations, and provided a new abstraction for
  -      managed pools (in scratchpad).
  -    </action>
  -    <action dev="GP" type="add">
  -      Add many new LogTargetFactories to LogKitManager.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add new LoggerManager abstraction that works with the new framework
  -      Logger abstractions.
  -    </action>
  -    <action dev="PD" type="fix">
  -      Fixed some classloader issues in the i18n package for loading resources.
  -      Also fixed some i18n related issues in FileUtil and IOUtil.
  -    </action>
  -    <action dev="LM" type="update">
  -      Applied many optimizations and logic fixes to DataSourceComponent
  -      code.
  -    </action>
  -    <action dev="BL" type="fix">
  -      Applied fixes to ReadWriteLock from Avi Drissman (drissman@acm.org)
  -    </action>
  -    <action dev="BL" type="update">
  -      Officially deprecate Lock in favor of Mutex.  They have the same
  -      purpose, and Mutex is more correct.
  -    </action>
  -    <action dev="BL" type="update">
  -      Optimize logging calls throughout components.  Also, make the log
  -      messages more informative.
  -    </action>
  -    <action dev="PD" type="update">
  -      ListUtils now checks for duplicates when merging Lists.
  -    </action>
  -    <action dev="PD" type="update">
  -      Make BinaryHeap and PriorityQueue use Objects instead of Comparables.
  -      Optimize BinaryHeap code.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add new Buffer classes to the collections package.  These are amazingly
  -      performant.  It is based on CircularBuffer, which is now deprecated.
  -    </action>
  -    <action dev="BL" type="update">
  -      Shake out some more performance of CLI Util, as well as better support
  -      for DUPLICATES_ALLOWED.
  -    </action>
  -    <action dev="LM" type="update">
  -      Added some build improvements.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add new profiler instrumentation interfaces inspired by Matt Welsh's
  -      SEDA architecture.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add new asynchronous event queue system inspired by Matt Welsh's
  -      SEDA architecture.
  -    </action>
  -    <action dev="BL" type="update">
  -      Update all the components to the new LogEnabled interface.
  -    </action>
  -  </release>
  -  <release version="4.0" date="September 11, 2001">
  -    <action dev="BL" type="update">
  -      Update user docs.
  -    </action>
  -    <action dev="PD" type="remove">
  -      Remove dead code in scratchpad.
  -    </action>
  -    <action dev="PD" type="update">
  -      Rework thread pooling package to a new design.  This provides a mechanism
  -      to run a cleanup thread when the JVM is killed.
  -    </action>
  -    <action dev="PD" type="add">
  -      Add classloader extension framework into the extension package.
  -    </action>
  -    <action dev="PD" type="add">
  -      Add Container mechanism from Avalon Phoenix.
  -    </action>
  -    <action dev="PD" type="update">
  -      Add support for recursive property resolution. Added appropriate unit test
  -      to accompany feature. (Property utils).
  -    </action>
  -    <action dev="PD" type="fix">
  -      Problem Fixed: I've encountered a problem with the SingleThreadedPool in
  -      that it alternatley returns valid and null pooled objects until you've got
  -      the "initial" constructor argument + 1 and then it starts returning
  -      (Poolable)m_factory.newInstance().  Submitted by: "Corey O'Donovan".
  -    </action>
  -    <action dev="BL" type="fix">
  -      Fix some bugs found by Pool Profiling tests.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add new resource monitoring facility.  This allows you to actively
  -      monitor resources and be notified if they are changed by outside
  -      forces.
  -    </action>
  -    <action dev="DP" type="update">
  -      Set hierarchy via constructor to allow LogKit to work in sub classloaders.
  -      Submitted By: Sylvain Wallez.
  -    </action>
  -    <action dev="DP" type="update">
  -      Update FileUtils with methods to count size of a directory,
  -      input argument check, fix javadoc, and method to convert an array of
  -      Files into URLs.
  -    </action>
  -    <action dev="PH" type="add">
  -      ClassLoaderObjectInputStream moves from Cornerstone to Excalibur.
  -    </action>
  -    <action dev="DP" type="update">
  -      Promote the i18n ResourceManager code to Excalibur production.
  -    </action>
  -    <action dev="BL" type="update">
  -      Updated log messages for JdbcConnection--as well as added runtime
  -      detection if no connections could be created.  This provides better
  -      reporting if the connection has configuration errors or other mitigating
  -      errors.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add direct support for Informix connection pooling.  Requires the most
  -      recent JDBC drivers from Informix to use this feature.
  -    </action>
  -    <action dev="BL" type="update">
  -      Deprecated the oradb attribute in JdbcDataSourceComponent, and added a
  -      keepalive element.This way we can test the line with valid SQL statements
  -      no matter what the DB is.  Informix had trouble with the "select 1" and I
  -      am sure there are others.
  -    </action>
  -    <action dev="BL" type="fix">
  -      Fix bugs found by ReadWriteLock Test Case in the concurrent package.
  -    </action>
  -    <action dev="DP" type="update">
  -      Update component package with support for Paremeterizable components
  -      (patch from Mircea Toma)
  -    </action>
  -    <action dev="BL" type="update">
  -      Add support to display if an option is required.  Patch was from
  -      Tom Jordahl (from xml-axis project).
  -    </action>
  -    <action dev="PD" type="fix" fixes-bug="3255">
  -      Fixed bug "CLArgsParser loops infinitely on OPTIONAL options" like
  -      "-Fa -B" where F optionally has an argument. Added unit tests to verify
  -      that it has been fixed.
  -    </action>
  -    <action dev="JT" type="update">
  -      Update javadocs with '@since' tags so that we know when components
  -      have been introduced.
  -    </action>
  -    <action dev="BL" type="update">
  -      Update JDBC datasource component so that you can specify your keep-alive
  -      query.  This is for databases that don't like "SELECT 1;" as a query.
  -    </action>
  -    <action dev="GP" type="add">
  -      Add new JUnit TestCase for automatically setting up Avalon Components
  -      and running tests.
  -    </action>
  -    <action dev="BL" type="fix">
  -      Fix a number of tests, and provided a couple new tests.
  -    </action>
  -    <action dev="PD" type="fix">
  -      Fix build process for tests and fix some of the tests.
  -    </action>
  -    <action dev="GP" type="add">
  -      Add new LogKit Management framework to allow each component to have unique
  -      logger implementations and provide fine grained control over logging.
  -    </action>
  -    <action dev="PD" type="add">
  -      Add new JNDI package to Excalibur with Memmory and RMI providers.
  -    </action>
  -    <action dev="BL" type="update">
  -      Updated Announcement.xml to not refer to Testlet anymore.
  -    </action>
  -  </release>
  -  <release version="4.0b4" date="August 10, 2001">
  -    <action dev="BL" type="fix">
  -      Fixed race condition brought to my attention by Tom Klaasen.  His excellent
  -      analysis of the problem enabled me to not only fix the race condition but
  -      also increase the efficiency of the pool in some cases by 200%
  -    </action>
  -    <action dev="BL" type="add">
  -      Added new InformixDataSource that uses the Informix JDBC 2.2 driver
  -      and Cadastre to provide pooled connections from Informix.  Unfortunately
  -      the drivers do not yet support transactions.  I need to look further
  -      into this, as it might be a server configuration issue as opposed to
  -      a driver issue.
  -    </action>
  -    <action dev="BL" type="fix">
  -      Fixed errors in utilities discovered by the tests.
  -    </action>
  -    <action dev="BL" type="change">
  -      Converted tests from Testlet to JUnit.
  -    </action>
  -    <action dev="BL" type="fix">
  -      Fixed the build structure so that everything builds correctly.
  -    </action>
  -    <action dev="BL" type="add">
  -      Added extra convenience methods to discover if a component exists.
  -    </action>
  -    <action dev="BL" type="add">
  -      Added stylesheet to convert Stylebook markup to DocBook markup.
  -    </action>
  -    <action dev="BL" type="change">
  -      Changed the documentation build process to use Cocoon to build
  -      the site.
  -    </action>
  -    <action dev="BL" type="add">
  -      Add new configuration element "driver" to JdbcDataSource so that
  -      the class is loaded in the current context classloader when the
  -      component is first set up.
  -    </action>
  -    <action dev="BL" type="update">
  -      Optimize all logging functions to make it easier for JVMs to decide
  -      whether or not to concatenate strings for log messages.
  -    </action>
  -    <action dev="NP" type="update">
  -      Extensive reworking of the excalibur.i18n package (XML Resource bundles).
  -    </action>
  -    <action dev="JT" type="update">
  -      Extensive additions to IOUtils so that it accepts numerous different
  -      stream/writer types. Also will convert streams to strings using a
  -      specific encoder or else by using default platform encoder.
  -    </action>
  -    <action dev="PD" type="add">
  -      Added EndianUtil to excalibur.io to help when need to work with little endian data.
  -    </action>
  -    <action dev="BL" type="add">
  -      Added "ROLE" attribute to DataSource--to comply with practices
  -      outlined in whitepaper.
  -    </action>
  -  </release>
  -  <release version="4.0b3" date="June 6, 2001">
  -    <action dev="BL" type="update">
  -      Release 4.0b3
  -    </action>
  -    <action dev="BL" type="fix">
  -      Repair major showstopper in Excalibur Component Manager.  This
  -      showstopper manifests itself as a NullPointerException with
  -      ExcaliburComponentSelectors.  Because of the reflective code
  -      in the ComponentFactory, this was originally missed in the
  -      Beta 2 release.
  -    </action>
  -  </release>
  -<release version="4.0b2" date="June 4, 2001">
  -  <action dev="BL" type="update">
  -    Release 4.0b2
  -  </action>
  -  <action dev="BL" type="update">
  -    Updated Component Package to be Initializable, so that all components
  -    can be initialized once it is ready.
  -  </action>
  -  <action dev="BL" type="add">
  -    Added initial documentation for Excalibur.
  -  </action>
  -  <action dev="BL" type="fix">
  -    Fixed issues introduced with removing "throws Exception" from
  -    Disposable.
  -  </action>
  -  <action dev="BL" type="fix">
  -    Made connections expire after 15 uses.  This avoids problems with
  -    buggy client code or buggy drivers from causing serious issues
  -    in the long run.
  -  </action>
  -  <action dev="BL" type="fix">
  -    Made Component Manager fixes to use the Thread's context classloader.
  -  </action>
  -</release>
  -<release version="4.0b1" date="May 11, 2001">
  -  <action dev="BL" type="change">
  -    Initial beta release.
  -  </action>
  -</release>
  -
  -</changes>
  +<?xml version="1.0"?>
  +<!DOCTYPE changes PUBLIC "-//APACHE//DTD Changes V1.1//EN"  "changes-v11.dtd">
  +
  +<changes title="Avalon Excalibur History of Changes">
  +  <devs>
  +    <person name="Berin Loritsch" email="bloritsch@apache.org" id="BL"/>
  +    <person name="Leo Simons" email="mail@leosimons.com" id="LS"/>
  +    <person name="Peter Donald" email="peter at apache.org" id="PD"/>
  +    <person name="Jeff Turner" email="jeff@socialchange.net.au" id="JT"/>
  +    <person name="Neeme Praks" email="neeme.praks@one.ee" id="NP"/>
  +    <person name="Giacomo Pati" email="giacomo@apache.org" id="GP"/>
  +    <person name="Paul Hammant" email="hammant@apache.org" id="PH"/>
  +    <person name="Leif Mortenson" email="leif@apache.org" id="LM"/>
  +    <person name="Eung-ju Park" email="colus@apache.org" id="EP"/>
  +    <person name="Carston Ziegler" email="cziegler@apache.org" id="CZ"/>
  +    <person name="Peter Royal" email="proyal@apache.org" id="PR"/>
  +  </devs>
  +  <release version="@version@" date="@date@">
  +    <action dev="PR" type="fix">
  +        Fixing proxy-based datasource code.
  +    </action>
  +    <action dev="PR" type="fix">
  +      PriorityFilterTargetFactory throws a ConfigurationException
  +      upon invalid targets
  +    </action>
  +    <action dev="CZ" type="add">
  +      The ExcaliburComponentSelector does not instantiate a Component 
  +      for the hasComponent() test anymore.
  +    </action>
  +    <action dev="CZ" type="add">
  +      Adding XMLizer to the xmlbundle subproject for converting different
  +      data (identitied by a mime-type) to XML.
  +    </action>
  +    <action dev="CZ" type="add">
  +      Finished port of Cocoon's source resolver as the new sourceresolve
  +      subproject.
  +    </action>
  +    <action dev="CZ" type="add">
  +      Added XML Parser role and implementation, EntityResolver role and
  +      some misc. XML support (from Cocoon).
  +    </action>
  +    <action dev="Whole Team" type="add">
  +      Broken Excalibur from single jar into multiple smaller jars.
  +    </action>
  +    
  +  </release>
  +  <release version="4.1" date="January 30, 2002">
  +    <action dev="CZ" type="add">
  +      Initial port of Cocoon's Source resolvers and XML parsers
  +    </action>
  +    <action dev="NP" type="update">
  +      Added many fixes to the XML Resource Bundles and Resource Bundle
  +      access code.
  +    </action>
  +    <action dev="PD" type="update">
  +      Update the extension management code and make it more robust.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add new Container abstraction to separate ComponentManager from
  +      Container code (i.e. ExcaliburComponentManager violates this).
  +      The new ContainerManager and Container abstraction make the system
  +      much easier to manage.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add new CommandManager architecture to manage all asynchronous
  +      commands and the ThreadManager architecture to manage the thread
  +      allocation policy for the CommandManager.
  +    </action>
  +    <action dev="DP" type="add">
  +      New component to handle automatic XML Catalog resolution.
  +    </action>
  +    <action dev="EP" type="update">
  +      Many improvements to the cache component.  Extended cache validation
  +      support, multiple store backends, and more.
  +    </action>
  +    <action dev="JT" type="add">
  +      Add an XPathProcessor abstraction Component with ThreadSafe
  +      implementations for Jaxen and Xalan backed XPath processors.
  +    </action>
  +    <action dev="PD" type="update">
  +      Made automatic proxy code even more robust.
  +    </action>
  +    <action dev="PD" type="update">
  +      Add support for recursive property resolution. Added appropriate
  +      unit test to accompany feature.
  +    </action>
  +    <action dev="BL" type="update">
  +      Optimized pool implementations, and provided a new abstraction for
  +      managed pools (in scratchpad).
  +    </action>
  +    <action dev="GP" type="add">
  +      Add many new LogTargetFactories to LogKitManager.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add new LoggerManager abstraction that works with the new framework
  +      Logger abstractions.
  +    </action>
  +    <action dev="PD" type="fix">
  +      Fixed some classloader issues in the i18n package for loading resources.
  +      Also fixed some i18n related issues in FileUtil and IOUtil.
  +    </action>
  +    <action dev="LM" type="update">
  +      Applied many optimizations and logic fixes to DataSourceComponent
  +      code.
  +    </action>
  +    <action dev="BL" type="fix">
  +      Applied fixes to ReadWriteLock from Avi Drissman (drissman@acm.org)
  +    </action>
  +    <action dev="BL" type="update">
  +      Officially deprecate Lock in favor of Mutex.  They have the same
  +      purpose, and Mutex is more correct.
  +    </action>
  +    <action dev="BL" type="update">
  +      Optimize logging calls throughout components.  Also, make the log
  +      messages more informative.
  +    </action>
  +    <action dev="PD" type="update">
  +      ListUtils now checks for duplicates when merging Lists.
  +    </action>
  +    <action dev="PD" type="update">
  +      Make BinaryHeap and PriorityQueue use Objects instead of Comparables.
  +      Optimize BinaryHeap code.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add new Buffer classes to the collections package.  These are amazingly
  +      performant.  It is based on CircularBuffer, which is now deprecated.
  +    </action>
  +    <action dev="BL" type="update">
  +      Shake out some more performance of CLI Util, as well as better support
  +      for DUPLICATES_ALLOWED.
  +    </action>
  +    <action dev="LM" type="update">
  +      Added some build improvements.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add new profiler instrumentation interfaces inspired by Matt Welsh's
  +      SEDA architecture.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add new asynchronous event queue system inspired by Matt Welsh's
  +      SEDA architecture.
  +    </action>
  +    <action dev="BL" type="update">
  +      Update all the components to the new LogEnabled interface.
  +    </action>
  +  </release>
  +  <release version="4.0" date="September 11, 2001">
  +    <action dev="BL" type="update">
  +      Update user docs.
  +    </action>
  +    <action dev="PD" type="remove">
  +      Remove dead code in scratchpad.
  +    </action>
  +    <action dev="PD" type="update">
  +      Rework thread pooling package to a new design.  This provides a mechanism
  +      to run a cleanup thread when the JVM is killed.
  +    </action>
  +    <action dev="PD" type="add">
  +      Add classloader extension framework into the extension package.
  +    </action>
  +    <action dev="PD" type="add">
  +      Add Container mechanism from Avalon Phoenix.
  +    </action>
  +    <action dev="PD" type="update">
  +      Add support for recursive property resolution. Added appropriate unit test
  +      to accompany feature. (Property utils).
  +    </action>
  +    <action dev="PD" type="fix">
  +      Problem Fixed: I've encountered a problem with the SingleThreadedPool in
  +      that it alternatley returns valid and null pooled objects until you've got
  +      the "initial" constructor argument + 1 and then it starts returning
  +      (Poolable)m_factory.newInstance().  Submitted by: "Corey O'Donovan".
  +    </action>
  +    <action dev="BL" type="fix">
  +      Fix some bugs found by Pool Profiling tests.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add new resource monitoring facility.  This allows you to actively
  +      monitor resources and be notified if they are changed by outside
  +      forces.
  +    </action>
  +    <action dev="DP" type="update">
  +      Set hierarchy via constructor to allow LogKit to work in sub classloaders.
  +      Submitted By: Sylvain Wallez.
  +    </action>
  +    <action dev="DP" type="update">
  +      Update FileUtils with methods to count size of a directory,
  +      input argument check, fix javadoc, and method to convert an array of
  +      Files into URLs.
  +    </action>
  +    <action dev="PH" type="add">
  +      ClassLoaderObjectInputStream moves from Cornerstone to Excalibur.
  +    </action>
  +    <action dev="DP" type="update">
  +      Promote the i18n ResourceManager code to Excalibur production.
  +    </action>
  +    <action dev="BL" type="update">
  +      Updated log messages for JdbcConnection--as well as added runtime
  +      detection if no connections could be created.  This provides better
  +      reporting if the connection has configuration errors or other mitigating
  +      errors.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add direct support for Informix connection pooling.  Requires the most
  +      recent JDBC drivers from Informix to use this feature.
  +    </action>
  +    <action dev="BL" type="update">
  +      Deprecated the oradb attribute in JdbcDataSourceComponent, and added a
  +      keepalive element.This way we can test the line with valid SQL statements
  +      no matter what the DB is.  Informix had trouble with the "select 1" and I
  +      am sure there are others.
  +    </action>
  +    <action dev="BL" type="fix">
  +      Fix bugs found by ReadWriteLock Test Case in the concurrent package.
  +    </action>
  +    <action dev="DP" type="update">
  +      Update component package with support for Paremeterizable components
  +      (patch from Mircea Toma)
  +    </action>
  +    <action dev="BL" type="update">
  +      Add support to display if an option is required.  Patch was from
  +      Tom Jordahl (from xml-axis project).
  +    </action>
  +    <action dev="PD" type="fix" fixes-bug="3255">
  +      Fixed bug "CLArgsParser loops infinitely on OPTIONAL options" like
  +      "-Fa -B" where F optionally has an argument. Added unit tests to verify
  +      that it has been fixed.
  +    </action>
  +    <action dev="JT" type="update">
  +      Update javadocs with '@since' tags so that we know when components
  +      have been introduced.
  +    </action>
  +    <action dev="BL" type="update">
  +      Update JDBC datasource component so that you can specify your keep-alive
  +      query.  This is for databases that don't like "SELECT 1;" as a query.
  +    </action>
  +    <action dev="GP" type="add">
  +      Add new JUnit TestCase for automatically setting up Avalon Components
  +      and running tests.
  +    </action>
  +    <action dev="BL" type="fix">
  +      Fix a number of tests, and provided a couple new tests.
  +    </action>
  +    <action dev="PD" type="fix">
  +      Fix build process for tests and fix some of the tests.
  +    </action>
  +    <action dev="GP" type="add">
  +      Add new LogKit Management framework to allow each component to have unique
  +      logger implementations and provide fine grained control over logging.
  +    </action>
  +    <action dev="PD" type="add">
  +      Add new JNDI package to Excalibur with Memmory and RMI providers.
  +    </action>
  +    <action dev="BL" type="update">
  +      Updated Announcement.xml to not refer to Testlet anymore.
  +    </action>
  +  </release>
  +  <release version="4.0b4" date="August 10, 2001">
  +    <action dev="BL" type="fix">
  +      Fixed race condition brought to my attention by Tom Klaasen.  His excellent
  +      analysis of the problem enabled me to not only fix the race condition but
  +      also increase the efficiency of the pool in some cases by 200%
  +    </action>
  +    <action dev="BL" type="add">
  +      Added new InformixDataSource that uses the Informix JDBC 2.2 driver
  +      and Cadastre to provide pooled connections from Informix.  Unfortunately
  +      the drivers do not yet support transactions.  I need to look further
  +      into this, as it might be a server configuration issue as opposed to
  +      a driver issue.
  +    </action>
  +    <action dev="BL" type="fix">
  +      Fixed errors in utilities discovered by the tests.
  +    </action>
  +    <action dev="BL" type="change">
  +      Converted tests from Testlet to JUnit.
  +    </action>
  +    <action dev="BL" type="fix">
  +      Fixed the build structure so that everything builds correctly.
  +    </action>
  +    <action dev="BL" type="add">
  +      Added extra convenience methods to discover if a component exists.
  +    </action>
  +    <action dev="BL" type="add">
  +      Added stylesheet to convert Stylebook markup to DocBook markup.
  +    </action>
  +    <action dev="BL" type="change">
  +      Changed the documentation build process to use Cocoon to build
  +      the site.
  +    </action>
  +    <action dev="BL" type="add">
  +      Add new configuration element "driver" to JdbcDataSource so that
  +      the class is loaded in the current context classloader when the
  +      component is first set up.
  +    </action>
  +    <action dev="BL" type="update">
  +      Optimize all logging functions to make it easier for JVMs to decide
  +      whether or not to concatenate strings for log messages.
  +    </action>
  +    <action dev="NP" type="update">
  +      Extensive reworking of the excalibur.i18n package (XML Resource bundles).
  +    </action>
  +    <action dev="JT" type="update">
  +      Extensive additions to IOUtils so that it accepts numerous different
  +      stream/writer types. Also will convert streams to strings using a
  +      specific encoder or else by using default platform encoder.
  +    </action>
  +    <action dev="PD" type="add">
  +      Added EndianUtil to excalibur.io to help when need to work with little endian data.
  +    </action>
  +    <action dev="BL" type="add">
  +      Added "ROLE" attribute to DataSource--to comply with practices
  +      outlined in whitepaper.
  +    </action>
  +  </release>
  +  <release version="4.0b3" date="June 6, 2001">
  +    <action dev="BL" type="update">
  +      Release 4.0b3
  +    </action>
  +    <action dev="BL" type="fix">
  +      Repair major showstopper in Excalibur Component Manager.  This
  +      showstopper manifests itself as a NullPointerException with
  +      ExcaliburComponentSelectors.  Because of the reflective code
  +      in the ComponentFactory, this was originally missed in the
  +      Beta 2 release.
  +    </action>
  +  </release>
  +<release version="4.0b2" date="June 4, 2001">
  +  <action dev="BL" type="update">
  +    Release 4.0b2
  +  </action>
  +  <action dev="BL" type="update">
  +    Updated Component Package to be Initializable, so that all components
  +    can be initialized once it is ready.
  +  </action>
  +  <action dev="BL" type="add">
  +    Added initial documentation for Excalibur.
  +  </action>
  +  <action dev="BL" type="fix">
  +    Fixed issues introduced with removing "throws Exception" from
  +    Disposable.
  +  </action>
  +  <action dev="BL" type="fix">
  +    Made connections expire after 15 uses.  This avoids problems with
  +    buggy client code or buggy drivers from causing serious issues
  +    in the long run.
  +  </action>
  +  <action dev="BL" type="fix">
  +    Made Component Manager fixes to use the Thread's context classloader.
  +  </action>
  +</release>
  +<release version="4.0b1" date="May 11, 2001">
  +  <action dev="BL" type="change">
  +    Initial beta release.
  +  </action>
  +</release>
  +
  +</changes>
  
  
  
  No                   revision
  
  
  No                   revision
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org