leosimons    2002/07/08 10:42:16

  Modified:    tweety   default.properties
               tweety/src/xdocs avalon-container-howto.xml
                        avalon-for-beginners.xml
               tweety/src/java/org/apache/avalon/excalibur/tweety Egg.java
                        Main.java package.html Tweety.java
               tweety/src/java/org/apache/avalon/excalibur/tweety/demos
                        package.html
  Log:
  more docs
  
  Revision  Changes    Path
  1.4       +1 -1      jakarta-avalon-excalibur/tweety/default.properties
  
  Index: default.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/tweety/default.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- default.properties        3 Jul 2002 20:21:03 -0000       1.3
  +++ default.properties        8 Jul 2002 17:42:16 -0000       1.4
  @@ -8,7 +8,7 @@
   name=excalibur-tweety
   Name=Excalibur Tweety
   dir-name=tweety
  -version=1.0.1-alpha
  +version=1.0-beta
   package-version=0.99
   year=2000-2002
   
  
  
  
  1.2       +16 -6     
jakarta-avalon-excalibur/tweety/src/xdocs/avalon-container-howto.xml
  
  Index: avalon-container-howto.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/tweety/src/xdocs/avalon-container-howto.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- avalon-container-howto.xml        27 Jun 2002 16:57:18 -0000      1.1
  +++ avalon-container-howto.xml        8 Jul 2002 17:42:16 -0000       1.2
  @@ -8,13 +8,23 @@
       </authors>
     </header>
     <body>
  -    <s1 title="Introduction">
  -             <p>TBD</p>
  -    </s1>
  +     <s1 title="So you want to build your won container, huh?">
  +             <p>Well, you're mostly on your own for now. We're still working
  +             on the entire concept of container and on the various containers
  +             that ship with avalon.</p>
   
  -     <s1 title="Table of Contents">
  -             <p>TBD</p>
  +             <p>For now, I suggest you check out the sources for Tweety
  +             (inside the <code>jakarta-avalon-excalibur</code> CVS module),
  +             <a 
href="http://tambora.zenplex.org/cgi-bin/cvsweb.cgi/plexus/";>Plexus</a>,
  +             Containerkit (also inside the 
<code>jakarta-avalon-excalibur</code>
  +             CVS module), Fortress (same CVS module) and Phoenix
  +             (inside the <code>jakarta-avalon-phoenix</code> CVS module) to 
see
  +             how it is done.</p>
  +
  +             <p>Finally, take a peak at the avalon-dev mail archives or ask 
some
  +             questions on that list,</p>
        </s1>
  +
     </body>
     <footer>
       <legal>
  
  
  
  1.3       +239 -5    
jakarta-avalon-excalibur/tweety/src/xdocs/avalon-for-beginners.xml
  
  Index: avalon-for-beginners.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/tweety/src/xdocs/avalon-for-beginners.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- avalon-for-beginners.xml  5 Jul 2002 08:27:04 -0000       1.2
  +++ avalon-for-beginners.xml  8 Jul 2002 17:42:16 -0000       1.3
  @@ -8,18 +8,252 @@
       </authors>
     </header>
     <body>
  -    <s1 title="Introduction">
  +     <s1 title="Work in Progress!">
  +             <p>This manual is quite far from finished. While you are free 
to read it, I recommend
  +             you don't.</p>
  +     </s1>
  +
  +     <s1 title="Introduction">
                <p>Avalon has <b>a lot</b> of documentation (it has a lot of 
code, too, but most users
                don't see this as that much of a problem). It might be 
difficult for you to see where
                you should get started. That's why I wrote this little 
document.</p>
   
                <p>The place you get started is what we call the avalon 
framework. This little bit of code
                (the jar file is about 60k), combined with quite a bit of 
documentation, will revolutionize
  -             (in time) the way you write software.</p>
  -    </s1>
  +             (in time) the way you write software. Tweety is here to help 
you figure out what avalon
  +             framework is all about.</p>
  +     </s1>
   
        <s1 title="Table of Contents">
  -             <p>TBD</p>
  +             <ol>
  +                     <li>Introduction</li>
  +                     <li>Table of Contents</li>
  +                     <li>Your first component</li>
  +                     <li>The CartoonCreator application
  +                             <ol>
  +                                     <li>Determining application goals and 
features</li>
  +                                     <li>Determining the components we 
need</li>
  +                                     <li>Your average CartoonCreator 
application
  +                                             <ol>
  +                                                     <li>Cartoon</li>
  +                                                     <li>CartoonBuilder</li>
  +                                                     <li>CartoonItem</li>
  +                                                     <li>CartoonBird</li>
  +                                                     <li>CartoonCat</li>
  +                                                     <li>CartoonCage</li>
  +                                             </ol>
  +                                     </li>
  +                                     <li>Refactoring: "use the lifecycle, 
Luke!"
  +                                             <ol>
  +                                                     <li>Cartoon</li>
  +                                                     <li>CartoonBuilder</li>
  +                                                     <li>CartoonItem</li>
  +                                                     <li>CartoonBird</li>
  +                                                     <li>CartoonCat</li>
  +                                                     <li>CartoonCage</li>
  +                                             </ol>
  +                                     </li>
  +                             </ol>
  +                     </li>
  +             </ol>
  +     </s1>
  +
  +     <s1 title="Your first component">
  +             <p>We're gonna start reaally simple. Consider this class:</p>
  +
  +             <s3 title="BirdSong1.java">
  +             <source>
  +                     package avalon.tutorial;
  +
  +                     public class BirdSong1
  +                     {
  +                             private int m_numberOfChilps;
  +                             private String m_chilpMessage;
  +                             private String m_chilpSeparator;
  +
  +                             public void BirdSong1( int numberOfChilps, 
chilpMessage, chilpSeparator )
  +                             {
  +                                     m_numberOfChilps = numberOfChilps;
  +                                     m_chilpMessage = chilpMessage;
  +                                     m_chilpSeparator = chilpSeparator;
  +                             }
  +
  +                             public sing()
  +                             {
  +                                     for( int i = 0; i != m_numberOfChilps; 
i++ )
  +                                     {
  +                                             if( i != 0 &amp;&amp; i != 
(m_numberOfChilps-1) )
  +                                                     System.out.print( 
m_chilpSeparator );
  +
  +                                             System.out.print( 
m_chilpMessage );
  +                                     }
  +                             }
  +
  +                             public static void main(String args[])
  +                             {
  +                                     BirdSong1 birdSong = new BirdSong1( new 
Integer( args[0] ).intValue(),
  +                                                     args[1], args[2] );
  +
  +                                     BirdSong.sing();
  +                             }
  +                     }
  +             </source>
  +             </s3>
  +
  +             <p>I'm sure you've figured out what that clas does. The command
  +             <code>java avalon.tutorial.BirdSong1 20 chilp *</code> will 
print out something like</p>
  +
  +             <source>
  +             
chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp*chilp
  +             </source>
  +
  +             <p>The steps to making this class into a component are as 
follows:</p>
  +
  +             <ul>
  +                     <li>Define an interface and an implementation instead 
of just a class</li>
  +                     <li>Refactor to use avalon framework lifecyle 
methods</li>
  +                     <li>Refactor more to use a setup optimized for lots of 
reuse</li>
  +             </ul>
  +
  +             <p>This results in something like this:</p>
  +
  +             <s3 title="BirdSong.java">
  +             <source>
  +             package avalon.tutorial;
  +
  +             import org.apache.avalon.framework.parameters.Parameterizable;
  +             import org.apache.avalon.framework.parameters.Parameters;
  +             import org.apache.avalon.framework.activity.Startable;
  +             import org.apache.avalon.framework.logger.LogEnabled;
  +
  +             public interface BirdSong extends Parameterizable, Startable, 
LogEnabled;
  +             {
  +                     public static final String PARAM_NUMBER_OF_CHILPS = 
"numberOfChilps";
  +                     public static final String PARAM_CHILP_MESSAGE = 
"chilpMessage";
  +                     public static final String PARAM_CHILP_SEPARATOR = 
"chilpSeparator";
  +
  +                     /**
  +                      * Provide us with the parameters it needs to work. 
Required are:
  +                      * &gt;ul&lt;
  +                      * &gt;li&lt;numberOfChilps&gt;/li&lt;
  +                      * &gt;li&lt;chilpMessage&gt;/li&lt;
  +                      * &gt;li&lt;chilpSeparator&gt;/li&lt;
  +                      * &gt;/ul&lt;
  +                      * &gt;/pre&lt;
  +                      *
  +                      */
  +                     public void parameterize( Parameters parameters );
  +             }
  +             </source>
  +             </s3>
  +
  +             <s3 title="BirdSongImpl.java">
  +             <source>
  +             package avalon.tutorial;
  +
  +             import org.apache.avalon.framework.parameters.Parameters;
  +             import 
org.apache.avalon.framework.parameters.ParameterException;
  +             import org.apache.avalon.logger.AbstractLoggable;
  +
  +             import avalon.tutorial.BirdSong;
  +             import avalon.tutorial.BirdSongRunner;
  +
  +             public class BirdSongImpl extends AbstractLoggable implements 
BirdSong
  +             {
  +                     private int m_numberOfChilps;
  +                     private String m_chilpMessage;
  +                     private String m_chilpSeparator;
  +
  +                     private Thread m_runnerThread;
  +
  +
  +                     public void BirdSongImpl()
  +                     {
  +                     }
  +
  +                     public void parameterize( Parameters parameters ) 
throws ParameterException
  +                     {
  +                             getLogger().debug( "got parameters" );
  +
  +                             m_numberOfChilps = 
m_parameters.getParameterAsInteger( PARAM_NUMBER_OF_CHILPS );
  +                             m_chilpMessage = m_parameters.getParameter( 
PARAM_CHILP_MESSAGE );
  +                             m_chilpSeparator = m_parameters.getParameter( 
PARAM_CHILP_SEPARATOR );
  +                     }
  +                     public void start()
  +                     {
  +                             getLogger().debug( "starting" );
  +
  +                             Runnable runnable = new BirdSongImplRunner( 
this );
  +
  +                             m_runnerThread = new Thread( runnable );
  +                             m_runnerThread.setDaemon( true );
  +                             m_runnerThread.run();
  +                     }
  +                     public void stop()
  +                     {
  +                             getLogger().debug( "stopping" );
  +
  +                             m_runnerThread.notify();
  +                     }
  +
  +                     int getNumberOfChilps()
  +                     {
  +                             return m_numberOfChilps;
  +                     }
  +                     String getChilpMessage()
  +                     {
  +                             return m_chilpMessage;
  +                     }
  +                     String getChilpSeperator()
  +                     {
  +                             return m_chilpSeparator;
  +                     }
  +             }
  +             </source>
  +             </s3>
  +
  +             <s3>
  +             <source>
  +             package avalon.tutorial;
  +
  +             import avalon.tutorial.BirdSongImpl;
  +
  +             public class BirdSongRunner implements Runnable
  +             {
  +                     BirdSongImpl m_bs;
  +
  +                     public void BirdSongRunner( BirdSongImpl bs )
  +                     {
  +                             m_bs = bs;
  +                     }
  +
  +                     public void run()
  +                     {
  +                             int max = bs.getNumberOfChilps();
  +                             String msg = bs.getChilpMessage();
  +                             String separator = bs.getSeparator();
  +
  +                             for( int i = 0; i != max; i++ )
  +                             {
  +                                     if( i != 0 &amp;&amp; i != (max-1) )
  +                                             System.out.print( separator );
  +
  +                                     System.out.print(msg );
  +                             }
  +                     }
  +             }
  +             </source>
  +             </s3>
  +
  +             <p>There's quite a few things different about this component 
compared to the BirdSong1 class.
  +             The constructor doesn't take any arguments; those are passed in 
at a later point instead through
  +             the use of parameterize(). sing() has been renamed to start(), 
and a stop() method has been
  +             added. Also, logging statements have been added throughout the 
code. Finally, the
  +             actual printing of the messages is handled in a separate 
thread.</p>
  +
  +             <p>All the added complexity is of course not really justified 
for this simple demo component; it
  +             just serves to illustrate typical evolution from an 'average' 
java class into a typical avalon
  +             component.</p>
        </s1>
     </body>
     <footer>
  
  
  
  1.2       +26 -20    
jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/Egg.java
  
  Index: Egg.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/Egg.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Egg.java  8 Jul 2002 13:16:02 -0000       1.1
  +++ Egg.java  8 Jul 2002 17:42:16 -0000       1.2
  @@ -43,9 +43,9 @@
    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    
    This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation. For more  information on the 
  + on  behalf of the Apache Software  Foundation. For more  information on the
    Apache Software Foundation, please see <http://www.apache.org/>.
  - 
  +
   */
   
   package org.apache.avalon.excalibur.tweety;
  @@ -62,18 +62,24 @@
   import org.apache.avalon.framework.parameters.*;
   import org.apache.avalon.framework.service.*;
   import org.apache.avalon.framework.container.*;
  -   
  +
   /**
  - * This is a stripped down - collapsed version of Tweety+Main.
  + * This is a stripped down and collapsed version of
  + * [EMAIL PROTECTED] org.apache.avalon.excalibur.tweety.Tweety Tweety} 
combined with
  + * [EMAIL PROTECTED] org.apache.avalon.excalibur.tweety.Main Main}.
    * It reads the configuration file, and creates the components.
    * Then it disposes them.
    *
  - * Useful to understand what Lifecycle is, without getting yet into 
  - * what a Container is; this is application+Container all in one.
  + * <p>Useful to understand what Lifecycle is, without getting yet into
  + * what a Container is; this is application+Container all in one.</p>
  + *
  + * <p>After you understand this, look at Main and Tweety.</p>
    *
  - * After you understand this, look at Main and Tweety.
  + * <p><b>note:</b> Egg does not support the contextualize(), configure() or
  + * parameterize() lifecycle stages.
    *
    [EMAIL PROTECTED]     <a href="mailto:[EMAIL PROTECTED]">Nicola Ken 
Barozzi</a>
  + [EMAIL PROTECTED]     <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a>
    [EMAIL PROTECTED]    June 20, 2002
    [EMAIL PROTECTED]    1.0
    */
  @@ -84,27 +90,27 @@
               Logger  sharedLogger = new ConsoleLogger();
               Context sharedContext = new DefaultContext();
               DefaultComponentManager sharedComponentManager = new 
DefaultComponentManager();
  -            DefaultServiceManager sharedServiceManager = new 
DefaultServiceManager();            
  -                        
  +            DefaultServiceManager sharedServiceManager = new 
DefaultServiceManager();
  +
             try {
  -          
  -            //load properties           
  +
  +            //load properties
               Properties properties = new Properties();
               properties.load(new FileInputStream("tweety.properties"));
  -            
  +
               //this will keep references to components so we know what to 
shutdown at the end
               Object[] components = new Object[properties.size()];
  -            
  +
               //All the roles
               Enumeration roles = properties.propertyNames();
   
  -            //create and setup all the component 
  +            //create and setup all the component
               for (int i=0; roles.hasMoreElements(); i++) {
   
                   //Get the role of the component being setup
                   String role = (String )roles.nextElement();
  -             
  -                //create the component instance 
  +
  +                //create the component instance
                   Object component = Class.forName((String) 
properties.get(role));
   
                   //setup the component by running the appropriate lifecycle 
methods in order
  @@ -122,15 +128,15 @@
                   sharedServiceManager.put(role, component);
                   if(component instanceof 
org.apache.avalon.framework.component.Component){
                      sharedComponentManager.put(role, (Component) component);
  -                }   
  -            
  +                }
  +
                   components[i]=component;
                }
  -             
  +
                //
                // Here components that create threads continue operation till 
they wish
                //
  -             
  +
                //shutdown all the components that were set up
                for (int i=0 ; i<components.length; i++ ) {
              
  
  
  
  1.3       +12 -10    
jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/Main.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Main.java 8 Jul 2002 13:16:26 -0000       1.2
  +++ Main.java 8 Jul 2002 17:42:16 -0000       1.3
  @@ -65,26 +65,29 @@
   import org.apache.avalon.framework.container.*;
   
   /**
  - * This is the tweety 'bootstrapper'. It is used to run Tweety from the
  - * commandline. The single main() method calls all of Tweety's lifecycle
  - * methods.
  + * This is the tweety 'bootstrapper'. It is used to run
  + * [EMAIL PROTECTED] org.apache.avalon.excalibur.tweety.Tweety Tweety} from 
the
  + * commandline. The single [EMAIL PROTECTED] #main(String[] args) main()} 
method calls all of
  + * Tweety's lifecycle methods.
    *
    *
  - [EMAIL PROTECTED]   <a href="mailto:[EMAIL PROTECTED]">Nicola Ken 
Barozzi</a>
  - [EMAIL PROTECTED]   <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a>
  - [EMAIL PROTECTED]  July 4, 2002
  - [EMAIL PROTECTED]  1.0
  + * @author   <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a>
  + * @author   <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a>
  + * @created  July 4, 2002
  + * @version  1.0.1
  + * @since    1.0-alpha
  + * @see      <a 
href="http://jakarta.apache.org/avalon/excalibur/tweety";>Online Tweety 
documentation</a>
    */
   public class Main {
   
  -    /**
  +     /**
         * We've marked the constructor as protected to prevent instantiation.
         * Main is not a real 'object' or 'component', but rather a container
         * for some procedural code (inside the main() method). There is no
         * need to create an instance of it.
         */
        protected Main() {
  -    }
  +     }
   
        //// COMMANDLINE ENTRY POINT ////
        /**
  @@ -167,5 +170,4 @@
                        System.exit(-2);
                }
        }
  -
   }
  
  
  
  1.2       +11 -22    
jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/package.html
  
  Index: package.html
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/package.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- package.html      23 Jun 2002 22:09:12 -0000      1.1
  +++ package.html      8 Jul 2002 17:42:16 -0000       1.2
  @@ -1,26 +1,15 @@
   <html><body>
  -<p>
  -Very simple container for avalon components, written for educational 
purposes.
  -Tweety is not intended for use in production environments, though there is
  -nothing preventing you from using it for that purpose.
  -</p>
  +<p>Tweety is a minimalist container explicitly designed for educational 
purposes, and
  +educational purposes only.</p>
   
  -<h3>Goals</h3>
  -<li>be well documented</li>
  -<li>provide full support for the avalon framework interfaces</li>
  -<li>provide support for nothing else</li>
  -<li>use default framework implementations where possible</li>
  -<li>sacrifice flexibility for readable code wherever possible</li>
  -<li>sacrifice reusability for readable code wherever possible</li>
  -<li>use the most simple configuration possible</li>
  -<li>support only minimal metainfo (for example, no dependency mapping)</li>
  -<li>no security</li>
  -<li>minimal thread management</li>
  -<li>no classloader management</li>
  -<li>separation of engine and (mainable) embeddor</li>
   
  -<h3>Use Case</h3>
  -<p>An example of an avalon container for simple components, to use in
  -teaching avalon concepts.</p>
  +<p>In other words, if you want to learn the concepts behind avalon, and see 
some examples
  +of how to apply them, tweety is your starting point. If you need to actually 
write really
  +cool components for a production environment, look elsewhere.</p>
   
  -</body></html>
  \ No newline at end of file
  [EMAIL PROTECTED]   <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a>
  [EMAIL PROTECTED]   <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a>
  [EMAIL PROTECTED]  June 20, 2002
  [EMAIL PROTECTED]    1.0-alpha
  [EMAIL PROTECTED]      <a 
href="http://jakarta.apache.org/avalon/excalibur/tweety";>Online Tweety 
documentation</a>
  +</body></html>
  
  
  
  1.7       +37 -36    
jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/Tweety.java
  
  Index: Tweety.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/Tweety.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Tweety.java       8 Jul 2002 13:16:26 -0000       1.6
  +++ Tweety.java       8 Jul 2002 17:42:16 -0000       1.7
  @@ -21,7 +21,7 @@
       developed  by the  Apache Software Foundation  (http://www.apache.org/)."
       Alternately, this  acknowledgment may  appear in the software itself,  if
       and wherever such third-party acknowledgments normally appear.
  - 
  +
    4. The names "Jakarta", "Avalon", "Excalibur" and "Apache Software 
Foundation"  
       must not be used to endorse or promote products derived from this  
software 
       without  prior written permission. For written permission, please 
contact 
  @@ -68,18 +68,19 @@
    * to run and manage other Avalon Components. Because it is an Avalon
    * Component itself as well, it can easily be used in any Avalon Application.
    *
  - * <p>The only reason tweety implements <code>Configurable</code> and
  - * <code>Contextualizable</code> is that it doesn't feel much like managing
  + * <p>The only reason tweety implements [EMAIL PROTECTED] 
org.apache.avalon.framework.configuration.Configurable Configurable}
  + * and [EMAIL PROTECTED] 
org.apache.avalon.framework.context.Contextualizable Contextualizable}
  + * is that it doesn't feel much like managing
    * contexts or configurations for the components it manages. Instead, it
    * simply forwards the configuration and context provided to its 
components.</p>
    *
  - * <p><b>Note: </b> Tweety has a <code>main()</code> method to allow it to be
  - * run from the commandline.
  - *
  - [EMAIL PROTECTED]   <a href="mailto:[EMAIL PROTECTED]">Nicola Ken 
Barozzi</a>
  - [EMAIL PROTECTED]   <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a>
  - [EMAIL PROTECTED]  June 20, 2002
  - [EMAIL PROTECTED]  1.2
  + * @author   <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a>
  + * @author   <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a>
  + * @created  June 20, 2002
  + * @version  1.2.1
  + * @since    1.0-alpha
  + * @see      <a 
href="http://jakarta.apache.org/avalon/excalibur/tweety";>Online Tweety 
documentation</a>
  + * @see      <a href="http://jakarta.apache.org/avalon/framework";>Online 
Avalon Framework documentation</a>
    */
   public class Tweety implements LogEnabled, Contextualizable, Configurable, 
Initializable,
                Parameterizable, Startable
  @@ -112,9 +113,9 @@
        protected DefaultServiceManager m_serviceManager;
   
        /**
  -      * this field is filled during <code>parameterize()</code> with a 
parameters
  +      * this field is filled during [EMAIL PROTECTED] 
#parameterize(Parameters parameters) parameterize()} with a parameters
         * object that describes everything <code>Tweety</code> needs to run.
  -      * Usually, it contains information loaded from a tweety.properties 
file. A
  +      * Usually, it contains information loaded from a 
<code>tweety.properties</code> file. A
         * sample <code>tweety.properties</code> file might look like this:
         <pre>
   ########################################################################
  @@ -135,7 +136,7 @@
   
        /**
         * This map will be used to store a reference to all the components
  -      * that tweety will manage; We fill it up during initialize().
  +      * that tweety will manage; We fill it up during [EMAIL PROTECTED] 
#initialize() initialize()}.
         */
        protected Map m_components;
   
  @@ -143,7 +144,7 @@
        /**
         * Tweety has a single, public, no arguments constructor; We supply 
arguments
         * at a later point in the form of an instance of 
<code>Parameters</code>
  -      * during parameterize().
  +      * during [EMAIL PROTECTED] #parameterize(Parameters parameters) 
parameterize()}.
         *
         * <p>The constructor initializes our properties with default 
values.</p>
         */
  @@ -164,37 +165,37 @@
                logger.debug( "Tweety: Tweety got a logger" );
        }
   
  -    /**
  -     * Provide tweety with a context; This context will also be used for all 
the
  +     /**
  +      * Provide tweety with a context; This context will also be used for 
all the
         * components that tweety manages.
  -     *
  -     * @param context the context
  -     */
  -    public void contextualize( Context context )
  +      *
  +      * @param context the context
  +      */
  +     public void contextualize( Context context )
        {
                m_context = context;
                m_logger.debug( "Tweety: Tweety got a context" );
        }
   
  -    /**
  -     * Provide tweety with a configuration; This configuration will also be 
used for all the
  +     /**
  +      * Provide tweety with a configuration; This configuration will also be 
used for all the
         * components that tweety manages.
  -     *
  -     * @param configuration the class configurations.
  -     */
  -    public void configure( Configuration configuration )
  -    {
  +      *
  +      * @param configuration the class configurations.
  +      */
  +     public void configure( Configuration configuration )
  +     {
                m_configuration = configuration;
                m_logger.debug( "Tweety: Tweety got a configuration" );
  -    }
  +     }
   
  -    /**
  -     * Provide tweety with the parameters it needs to run; Each pair of name 
and
  -      * value defines a <b>Role</b> and a component that implements that 
role.
  -     *
  -     * @param parameters the parameters
  -     * @throws ParameterException if parameters are invalid
  -     */
  +     /**
  +      * Provide tweety with the parameters it needs to run; Each pair of 
name and
  +      * value defines a <code>Role</code> and a component that implements 
that role.
  +      *
  +      * @param parameters the parameters
  +      * @throws ParameterException if parameters are invalid
  +      */
        public void parameterize( Parameters parameters ) throws 
ParameterException
        {
                // check whether the supplied parameters object is valid
  @@ -293,7 +294,7 @@
        }
   
        /**
  -      * Start up tweety; We setup all the components tweety contains, add 
them to
  +      * Start up tweety; We set up all the components tweety contains, add 
them to
         * the global componentmanager and servicemanager, and finally we call 
start()
         * on each of them.
         */
  
  
  
  1.2       +7 -1      
jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/demos/package.html
  
  Index: package.html
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/tweety/src/java/org/apache/avalon/excalibur/tweety/demos/package.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- package.html      23 Jun 2002 22:09:12 -0000      1.1
  +++ package.html      8 Jul 2002 17:42:16 -0000       1.2
  @@ -1,4 +1,10 @@
   <html><body>
   Trivial avalon components to demonstrate the use of tweety and illustrate
   its features (or lack thereof).
  -</body></html>
  \ No newline at end of file
  +
  [EMAIL PROTECTED]   <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a>
  [EMAIL PROTECTED]   <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a>
  [EMAIL PROTECTED]  June 20, 2002
  [EMAIL PROTECTED]    1.0-alpha
  [EMAIL PROTECTED]      <a 
href="http://jakarta.apache.org/avalon/excalibur/tweety";>Online Tweety 
documentation</a>
  +</body></html>
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to