leosimons    2003/02/03 07:36:01

  Modified:    proposal/framework-forrest/src/documentation/content/xdocs
                        book.xml designing-a-component.xml
                        getting-started.xml guide-cop-in-avalon.xml
                        guide-cop-what-is.xml guide-oop-best-practices.xml
                        guide-patterns-in-avalon.xml
                        guide-patterns-ioc-security.xml
                        guide-patterns-ioc.xml guide-patterns-soc.xml
                        guide-patterns-soii.xml guide-patterns-what-are.xml
                        guide-where-to-go-from-here.xml index.xml
                        reference-containers.xml
                        reference-the-lifecycle.xml
  Log:
  Applying patch from bug 16660 
(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16660), fixing lots of typos. 
Submitted by [EMAIL PROTECTED] (Ulrich Mayring). Thanks Ulrich!
  
  Revision  Changes    Path
  1.2       +5 -5      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/book.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- book.xml  29 Jan 2003 14:32:05 -0000      1.1
  +++ book.xml  3 Feb 2003 15:36:00 -0000       1.2
  @@ -8,17 +8,17 @@
   
       <menu label="Essentials">
           <menu-item label="Overview" href="index.html"/>
  -        <menu-item label="Getting started" href="getting-started.html"/>
  +        <menu-item label="Getting Started" href="getting-started.html"/>
           <menu-item label="Download" 
href="http://jakarta.apache.org/builds/jakarta-avalon/release/framework"/>
       </menu>
   
       <menu label="Guide">
  -        <menu-item label="OOP best practices" href="guide-oop-best-practices.html"/>
  -        <menu-item label="What are patterns?" href="guide-patterns-what-are.html"/>
  +        <menu-item label="OOP best Practices" href="guide-oop-best-practices.html"/>
  +        <menu-item label="What are Patterns?" href="guide-patterns-what-are.html"/>
           <menu-item label="Patterns in Avalon" href="guide-patterns-in-avalon.html"/>
           <menu-item label="What is COP?" href="guide-cop-what-is.html"/>
           <menu-item label="COP in Avalon" href="guide-cop-in-avalon.html"/>
  -        <menu-item label="Where to go from here" 
href="guide-where-to-go-from-here.html"/>
  +        <menu-item label="Where to Go from here" 
href="guide-where-to-go-from-here.html"/>
       </menu>
   
       <menu label="Reference">
  @@ -26,4 +26,4 @@
           <menu-item label="The Lifecycle" href="reference-the-lifecycle.html"/>
           <menu-item label="Containers" href="reference-containers.html"/>
       </menu>
  -</book>
  \ No newline at end of file
  +</book>
  
  
  
  1.2       +11 -11    
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/designing-a-component.xml
  
  Index: designing-a-component.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/designing-a-component.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- designing-a-component.xml 29 Jan 2003 14:32:05 -0000      1.1
  +++ designing-a-component.xml 3 Feb 2003 15:36:00 -0000       1.2
  @@ -13,17 +13,17 @@
         <section>
   <title>How is the Component Going to be Used?</title>
           <p>
  -          The first step in writing the Component is determining how it is going
  +          The first step in writing the component is determining how it is going
             to be used.  There will be a number of times where you have a powerful
  -          Component that can be used in many different contexts.  Those contexts
  -          may include executing the Component from the command line (separate
  +          component that can be used in many different contexts.  Those contexts
  +          may include executing the component from the command line (separate
             from Avalon), using it as a part of a sub system, or using it as an
             integral part of Avalon.
           </p>
           <section>
   <title>Part of Avalon</title>
             <p>
  -            All Components are an integral part of Avalon, so there is really
  +            All components are an integral part of Avalon, so there is really
               nothing to be done beyond specifying its interface (role).  It is
               important to identify and document its social contract with the
               rest of the system.  What I mean by social contract is the order
  @@ -35,7 +35,7 @@
   <title>Part of a Sub System</title>
             <p>
               A sub system can either be part of Avalon, or live in a separate
  -            context.  A perfect example would be a Component that can function
  +            context.  A perfect example would be a component that can function
               within a Servlet or Enterprise Application.  Neither of those
               contexts are native to Avalon (though they can easily be built
               on top of Avalon).
  @@ -47,7 +47,7 @@
             </p>
             <p>
               Because the contexts may not be an integral part of Avalon,
  -            you must take care to use the Component in the same manner as
  +            you must take care to use the component in the same manner as
               Avalon would.  That means that you follow the order of concerns
               that Avalon has specified for those concerns.
             </p>
  @@ -55,24 +55,24 @@
           <section>
   <title>A Stand Alone Program</title>
             <p>
  -            When you are designing a Component to be run from the command
  +            When you are designing a component to be run from the command
               line (or directly by the operating system), try to separate
  -            the main function from the Component itself.  This is imperative
  +            the main function from the component itself.  This is imperative
               in order to maintain the passive API of Avalon.  By designing
  -            you Component in the manner stated in the previous section,
  +            your component in the manner stated in the previous section,
               you have effectively minimized what the main function has to
               do.
             </p>
             <p>
               Follow the practice of having an object dedicated to the main
               function that includes the parsing of the command line parameters
  -            and initialization of the Component.  When the Component is used
  +            and initialization of the component.  When the component is used
               the exact same way in every context (including the command line),
               you minimize the number of locations to look while debugging.
             </p>
             <note>
               A common mistake is to combine the main function in the
  -            implementation of the Component.  This requires violating the
  +            implementation of the component.  This requires violating the
               contracts and principles that Avalon is built upon.  This
               violation of the pattern of "Inversion of Control" is
               aptly dubbed "Subversion of Control" (thanks to Steven Coffman
  
  
  
  1.2       +3 -3      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/getting-started.xml
  
  Index: getting-started.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/getting-started.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- getting-started.xml       29 Jan 2003 14:32:05 -0000      1.1
  +++ getting-started.xml       3 Feb 2003 15:36:00 -0000       1.2
  @@ -10,15 +10,15 @@
     <body>
       <section>
   <title>Introduction</title>
  -      <p>If you are completely new to Avalon, the Framework subproject is not
  +      <p>If you are completely new to Avalon, the Framework sub-project is not
         the easiest place to start. We suggest you take a look at the
  -      <link href="http://avalon.apache.org/phoenix/getting-started.html";>Avalon 
Phoenix getting started document</link>
  +      <link href="http://avalon.apache.org/phoenix/getting-started.html";>Avalon 
Phoenix Getting Started document</link>
         first, as it will take you through downloading, installing and then
         running something (a very simple server program) much more concrete.</p>
   
         <p>Probably the next smart step is to learn by example. Take a look at
         one or two of the <link 
href="http://avalon.apache.org/apps/index.html";>applications</link>
  -      that use avalon and at how well these are set up, and at some of the
  +      that use Avalon and at how well these are set up, and at some of the
         available <link 
href="http://avalon.apache.org/excalibur/index.html";>components (in Excalibur)</link>
         and <link href="http://avalon.apache.org/cornerstone/index.html";>services (in 
Cornerstone)</link>
         Avalon offers.</p>
  
  
  
  1.2       +50 -50    
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-cop-in-avalon.xml
  
  Index: guide-cop-in-avalon.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-cop-in-avalon.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-cop-in-avalon.xml   29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-cop-in-avalon.xml   3 Feb 2003 15:36:00 -0000       1.2
  @@ -12,7 +12,7 @@
       <section>
   <title>Components in Avalon</title>
         <p>
  -        At the core of the Avalon framework is the Component. We define it as "a
  +        At the core of the Avalon framework is the component. We define it as "a
           passive entity that performs a specific role". This is important to grasp
           because it requires a specific way of thinking.
         </p>
  @@ -28,13 +28,13 @@
         <section>
   <title>A specific Role</title>
           <p>
  -          The concept of roles come from the theater.  A play, musical,
  +          The concept of roles comes from the theater.  A play, musical,
             or movie will have a certain number of roles that actors play.
             Although there never seems to be a shortage of actors, there
             are a finite number of roles.  I am not going to make reference
             to different types of roles at this point, but simply bring
             the concept to light.  The function or action of a role is
  -          defined by it's script.
  +          defined by its script.
           </p>
           <p>
             We are introducing this concept now because you need to have it
  @@ -43,12 +43,12 @@
             "cast" of components so to speak.
           </p>
           <p>
  -          For each role, you need to specify it's script, or interface to
  +          For each role, you need to specify its script, or interface to
             the rest of the system.  To be honest the interface is not enough.
             There are specific contracts that you must define and keep in mind
             when you specify your interfaces.  In other words, what users
  -          of the Component must provide, and what the Component produces.
  -          When the interface and contract are defined, you can work on your
  +          of the component must provide, and what the component produces.
  +          When the interfaces and contracts are defined, you can work on your
             implementation.
           </p>
         </section>
  @@ -59,20 +59,20 @@
   <title>The Component</title>
         <p>
           John Donne wrote, "No man is an island." to communicate that we
  -        are all interdependent.  The same is true for the Component.  That
  -        is why there are different concerns regarding the Component.  In
  +        are all interdependent.  The same is true for the component.  That
  +        is why there are different concerns regarding the component.  In
           the section on roles we specified one of the concerns: the role.
           The concerns directly supported by the Avalon Framework are:
           configuration, external component use, management, and execution.
         </p>
         <note>
  -        We used to have an marker interface Component. This has been deprecated
  +        We used to have a marker interface component. This has been deprecated
           because requiring all components extend this interface makes
           integrating Avalon with other component systems like
           <link href="http://www.corba.org";>CORBA</link> very cumbersome.
         </note>
         <p>
  -        As you might of guessed, each one of these concerns has a separate
  +        As you might have guessed, each one of these concerns has a separate
           interface that describes that concern.  We will delve deeper into
           the interfaces and the reasoning behind them in other sections.  It
           is important to know the order of precedence for the concerns so
  @@ -98,8 +98,8 @@
         <p>
           The contract surrounding this order means that the methods defined
           by each of those interfaces are called in a specific order by the object
  -        that created the Component.  Each interface represents a narrow view
  -        of the Component or object being controlled.
  +        that created the component.  Each interface represents a narrow view
  +        of the component or object being controlled.
         </p>
         <note>
           Notice that each interface is separate from Component, so you can use
  @@ -111,14 +111,14 @@
   <title>The Composable</title>
         <p>
           In Avalon, Composable is defined as an active entity that controls
  -        or uses Components.  Its best analogy is that of a musical composer.
  -        The musical composer chooses what instruments (Components) by their
  +        or uses components.  Its best analogy is that of a musical composer.
  +        The musical composer chooses instruments (components) by their
           role in the symphony (system) and tells them which notes to play.
         </p>
         <p>
           The Avalon Composable follows the principles of Inversion of Control,
           and is assigned a Component Manager.  Within this section we will
  -        discuss how to look up specific Components, and then how to prepare
  +        discuss how to look up specific components, and then how to prepare
           the ComponentManager for the Composable.
         </p>
         <note>
  @@ -135,20 +135,20 @@
   <title>The Component Manager</title>
           <p>
             For the majority of all cases, you will need to use the ComponentManager
  -          get the instance of the Component you need.  If you recall the discussion
  -          on Component Roles in the Component documentation, you already have
  -          a head start.  In Avalon, Roles are defined by the work interface a
  -          Component has.  A work interface is different from any other interface
  -          because it is the interface that defines the Component's Role.  Composable
  +          to get the instance of the component you need.  If you recall the 
discussion
  +          on component roles in the component documentation, you already have
  +          a head start.  In Avalon, roles are defined by the work interface a
  +          component has.  A work interface is different from any other interface
  +          because it is the interface that defines the component's role.  Composable
             and Component are concern interfaces because they address specific
  -          concerns about the Component.
  +          concerns about the component.
           </p>
           <p>
  -          The ComponentManager has one method to retrieve all of your Components.
  -          The <code>lookup</code> method will look up the Component based on the
  +          The ComponentManager has one method to retrieve all of your components.
  +          The <code>lookup</code> method will look up the component based on the
             fully qualified name (FQN) of the work interface (Role).  It is important
             to realize that the ComponentManager returns Components, and therefore
  -          you must recast the Component to the Role you need.  See the following
  +          you must recast the Component to the role you need.  See the following
             example:
           </p>
           <source>
  @@ -156,26 +156,26 @@
        lookup( "com.mycompany.myproject.MyComponent" );
           </source>
           <p>
  -          It is important to note that Role is not the same thing as functional
  +          It is important to note that role is not the same thing as functional
             equivalence.  In other words, if you have a MailSpooler that is 
functionally
             equivalent to a FileStore (they do the same thing), it does not mean that
  -          they perform the same Role.  The FileStore is used to store objects to
  +          they perform the same role.  The FileStore is used to store objects to
             files, and the MailSpooler is used to temporarily store messages until
             they are sent.  Thus they are separate roles.  Some containers require
             that the interface name match the key used to lookup component. In this
  -          situation it you may need to create a new interface that does nothing
  +          situation you may need to create a new interface that does nothing
             more than extend another interface and add a new role.
           </p>
         </section>
         <section>
   <title>The Component Selector</title>
           <p>
  -          Sometimes you will have several Components that function in the same role.
  +          Sometimes you will have several components that function in the same role.
             For those cases, you will use the ComponentSelector to choose the exact
             one you need.  The best way to describe its proper use is the scenario
  -          described here.  You have several formatters that have the same Role:
  +          described here.  You have several formatters that have the same role:
             to take an input document and format it according to the rules in the
  -          individual Component implementations.  One formatter may take a text file
  +          individual component implementations.  One formatter may take a text file
             and remove all tabs and replace them with four spaces.  Another formatter
             may reverse the formerly mentioned one.  Yet another takes the text file
             and formats it for a canvas object.  For the Composable, it makes no 
difference
  @@ -183,12 +183,12 @@
           </p>
           <p>
             Using the processing chain example in the previous paragraph, we realize
  -          the unsuitability of the ComponentManager for getting the right Component.
  -          The Component addresses the concern of one Component per role.  
Fortunately,
  -          the ComponentSelector is a Component.  That means we use the 
ComponentManager
  +          the unsuitability of the ComponentManager for getting the right component.
  +          The component addresses the concern of one component per role.  
Fortunately,
  +          the ComponentSelector is a component.  That means we use the 
ComponentManager
             to lookup the ComponentSelector.  The ComponentSelector is designed to 
choose
  -          the specific Component out of many that perform the <strong>same</strong>
  -          Role.  The following code will help:
  +          the specific component out of many that perform the <strong>same</strong>
  +          role.  The following code will help:
           </p>
           <source>
   final ComponentSelector selector = (ComponentSelector)manager.
  @@ -200,7 +200,7 @@
             acts much like a hashtable lookup.  Keep in mind that the implementation 
of the
             selector does not limit you to a hashtable lookup--you can dynamically
             instantiate objects as well.  It takes an object (a hint), and returns the
  -          specific Component based on that hint.
  +          specific component based on that hint.
           </p>
   
        <note>
  @@ -214,7 +214,7 @@
   <title>When you are done with the Component</title>
           <p>
          Both the ComponentManager and the ComponentSelector require you to
  -       release your Component when you are done with it.  The method used
  +       release your component when you are done with it.  The method used
          to do this is "release".  One way of handling this is to use the
          try/catch/finally construct.  For your convenience, the following
          code can help:
  @@ -237,8 +237,8 @@
   }
        </source>
        <p>
  -       The reason for this is so that smart Component Managers that
  -       select Components from a pool can properly manage the resources.
  +       The reason for this is so that smart component managers that
  +       select components from a pool can properly manage the resources.
        </p>
         </section>
       </section>
  @@ -263,9 +263,9 @@
             the default implementation will look in the parent ComponentManager.
           </p>
           <p>
  -          For the paranoid developer, the Cascading feature of the ComponentManager
  +          For the paranoid developer, the cascading feature of the ComponentManager
             can be seen as a security hole as opposed to a usability enhancement.  You
  -          are free to create your own implementation that does not use the Cascading
  +          are free to create your own implementation that does not use the cascading
             feature--but you have to manually populate it with anything that would
             have been in the parent ComponentManager that your child Composable needs.
             Truth be told, there is very little risk due to the set-once contract for
  @@ -276,36 +276,36 @@
         <section>
   <title>DefaultComponentSelector</title>
           <p>
  -          The DefaultComponentSelector again is simply a Hashtable selection of 
Components
  +          The DefaultComponentSelector again is simply a Hashtable selection of 
components
             based on hints.  It gives the method <code>put</code> to populate the 
ComponentSelector.
             The ComponentSelector does not have the cascading feature of the 
ComponentManager,
  -          nor should it.  A ComponentSelector simply holds a number of Components 
that
  +          nor should it.  A ComponentSelector simply holds a number of components 
that
             implement the same role--there really is no need to cascade.
           </p>
           <p>
             After the ComponentSelector is populated, you must put it in the 
ComponentManager.
  -          Please use the role of the Component you are selecting, not the role of 
the selector
  +          Please use the role of the component you are selecting, not the role of 
the selector
             itself.  An acceptable convention is to add the "Selector" name to the 
end of the
  -          Role you are looking up.  Just be consistent.
  +          role you are looking up.  Just be consistent.
           </p>
         </section>
       </section>
       <section>
   <title>The Container</title>
        <p>
  -             The Container is the entity that manages your Components. It handles
  +             The container is the entity that manages your components. It handles
                things like loading of configuration files, resolution of dependencies,
                component management, component isolation, and lifecycle support.
        </p>
        <p>
  -             The Container is not formalized in the form of an interface or contract
  +             The container is not formalized in the form of an interface or contract
                within Avalon Framework, though it might be at some point in the 
future.
                The informal contract for the container is that it has the ability to
  -             host any fully avalon-framework compliant component. Most current 
containers
  -             place additional requirments on the component.
  +             host any fully Avalon-Framework compliant component. Most current 
containers
  +             place additional requirements on the component.
        </p>
        <p>
  -             For a list of containers implementations,
  +             For a list of container implementations,
                <link href="reference-containers.html">look here</link>.
        </p>
       </section>
  
  
  
  1.2       +7 -7      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-cop-what-is.xml
  
  Index: guide-cop-what-is.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-cop-what-is.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-cop-what-is.xml     29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-cop-what-is.xml     3 Feb 2003 15:36:00 -0000       1.2
  @@ -13,24 +13,24 @@
   <title>Introduction</title> 
         <p>
           Component Oriented Programming, or COP for short, takes Object Oriented
  -        Programming one step further. Regular OOP organizes data object into
  +        Programming one step further. Regular OOP organizes data objects into
           entities that take care of themselves. There are many advantages to this
  -        approach. I'll assume that you, being a java programmer, are familiar
  +        approach. I'll assume that you, being a Java programmer, are familiar
           with those.
         </p>
         <p>
           It also has a big limitation: that of object co-dependency. To remove that
  -        limitation, a more rigid idea had to be formalized: the Component. The key
  +        limitation, a more rigid idea had to be formalized: the component. The key
           difference between a regular object and a component is that a component is
           completely replaceable.
         </p>
       </section>
       <section>
  -<title>COP is not just a buzzword</title>
  +<title>COP is not just a Buzzword</title>
         <p>
           There is a lot of buzz in the industry touting Component Based Design
  -     (CBD).  You will find, that the definition of a Component in Avalon
  -     is more formal than most companies' definition of a Component.  Any
  +     (CBD).  You will find, that the definition of a component in Avalon
  +     is more formal than most companies' definition of a component.  Any
        system developed with the principles of Avalon can claim CBD.  In
        fact the Avalon Framework formalizes CBD more rigidly than the marketing
        definition.  Do not be fooled though, CBD and COP aren't necessarily
  @@ -38,7 +38,7 @@
        designed and not how it is implemented.  Component Oriented Programming,
        on the other hand, refers to how a system is implemented and not how
        it is designed.  In practice, you can't implement COP without first
  -     designing with Components in mind.
  +     designing with components in mind.
         </p>
       </section>
     </body>
  
  
  
  1.2       +9 -9      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-oop-best-practices.xml
  
  Index: guide-oop-best-practices.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-oop-best-practices.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-oop-best-practices.xml      29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-oop-best-practices.xml      3 Feb 2003 15:36:00 -0000       1.2
  @@ -2,7 +2,7 @@
   <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" 
"document-v11.dtd">
   <document>
     <header>
  -    <title>Avalon Framework - Guide - OOP best practices</title>
  +    <title>Avalon Framework - Guide - OOP best Practices</title>
       <authors>
         <person name="Leo Simons" email="[EMAIL PROTECTED]"/>
       </authors>
  @@ -21,7 +21,7 @@
         </p>
   
         <p>
  -        Note that a good knowledge of the basic OOP concepts is a requirment for
  +        Note that a good knowledge of the basic OOP concepts is a requirement for
           understanding any of this. Many books deal with this, one that is freely
           available online is
           <link href="http://www.mindview.net/Books/TIJ/";>
  @@ -40,7 +40,7 @@
         <p>
           If you need additional functionality, either create proxy
           objects that implement the interface, or add it by subclassing
  -        (hence the name "Recursion Introduction".  Even if
  +        (hence the name "Recursion Introduction").  Even if
           there is no recursion happening, it appears to operate in the
           same manner.
         </p>
  @@ -72,7 +72,7 @@
         </p>
       </section>
       <section>
  -<title>The Top of the Class Heirarchy Should be Abstract</title>
  +<title>The Top of the Class Hierarchy Should be Abstract</title>
         <p>
           In many cases it is beneficial to provide an abstract base class 
           to extend for your specializations.  The majority of the 
  @@ -132,13 +132,13 @@
   <title>Send Messages to Components instead of to This</title>
         <p>
           The point of this point is that you want to build your framework
  -        based on Components, and not inheritance.  Avalon takes this
  +        based on components, and not inheritance.  Avalon takes this
           point to heart.  In order to illustrate, I will give two examples
           of the same thing.  The scenario is that we have a data structure
           that we want to output to an arbitrary format.
         </p>
         <p>
  -        In the following example, we will use the java <code>this</code>
  +        In the following example, we will use the Java <code>this</code>
           object and an inheritance based framework.  As you can see, this
           would be a bear to maintain, and it won't easily be extended.
         </p>
  @@ -158,7 +158,7 @@
   }
         </source>
         <p>
  -        In the next example, we will use the Avalon Component based
  +        In the next example, we will use the Avalon component based
           architecture.  There is a clean separation between the purpose
           of the objects, and you can exchange and extend formatting
           without worrying about any other concerns.
  @@ -181,7 +181,7 @@
         <p>
           An inheritance based framework (White Box) can be converted
           into a component based framework (Black Box) structure by
  -        replacing overridden methods by method calls (message sends)
  +        replacing overridden methods with method calls (message sends)
           to components.  Component based architecture is much more
           flexible in this regard.
         </p>
  @@ -191,7 +191,7 @@
         <p>
           Just because two methods share the same information within the
           class does not mean that it should be done in that manner.
  -        Many times, that attribute that is shared should be passed
  +        Many times, the attribute that is shared should be passed
           as a parameter of the method instead of directly accessing
           the attribute.
         </p>
  
  
  
  1.2       +4 -4      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-in-avalon.xml
  
  Index: guide-patterns-in-avalon.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-in-avalon.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-patterns-in-avalon.xml      29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-patterns-in-avalon.xml      3 Feb 2003 15:36:00 -0000       1.2
  @@ -12,7 +12,7 @@
   <title>Getting Started with Patterns</title>
         <p>
           Avalon takes many design patterns and architectural mindsets, and
  -        implements the best ones for Servers.  There are different kinds of
  +        implements the best ones for servers.  There are different kinds of
           patterns that represent different aspects of Avalon. Avalon uses four
           main conceptual patterns called Separation of Interface and
           Implementation, Inversion of Control, Multi-Dimensional Separation
  @@ -45,7 +45,7 @@
   <title>Inversion of Control</title>
           <p>
   <strong>Summary:</strong> Avalon not only has an inheritance hierarchy, but also a
  -        Component hierarchy. In this hierarchy, the control of program flow is
  +        component hierarchy. In this hierarchy, the control of program flow is
           completely in the hands of the parent component(s), as soldiers in the
           military take orders from their officers.
           </p>
  @@ -61,7 +61,7 @@
           <p>
   <strong>Summary:</strong> You just read the introduction about patterns before
           reading about Avalon's patterns because that enables you to reuse the
  -        knowledge you gained about patterns in context other than that of
  +        knowledge you gained about patterns in a context other than that of
           Avalon. We do this with software as well.
           </p>
           <p>
  @@ -78,7 +78,7 @@
           Concerns. Many concerns cannot be centrally addressed using the standard
           OOP mechanisms. Using AOP (which is an extension to OOP), we would be
           able to do so in a simple fashion. As there is no good AOP facility
  -        in java, we use "aspect marker interfaces" and COP instead.
  +        in Java, we use "aspect marker interfaces" and COP instead.
           </p>
         </section>
   
  
  
  
  1.2       +24 -25    
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-ioc-security.xml
  
  Index: guide-patterns-ioc-security.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-ioc-security.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-patterns-ioc-security.xml   29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-patterns-ioc-security.xml   3 Feb 2003 15:36:00 -0000       1.2
  @@ -15,8 +15,8 @@
           In this context security is defined as protection of data, and
           quality of service (QOS).  Both of these fall under security because
           a system must protect itself from these two forms of attack.  When
  -        a company loses a system, they lose business, and the money they
  -        lose can reach scary amounts.
  +        a company loses a system, it loses business, and the money it
  +        loses can reach scary amounts.
         </p>
         <p>
           For the purpose of this discussion, we will address the first
  @@ -35,7 +35,7 @@
             trusted system, authentication is as simple as grabbing a reference
             to the object or entity you want to manipulate.  However, sometimes
             you have trusted systems running in hostile environments (e.g. the
  -          internet).  In those cases you have to make sure that the entity
  +          Internet).  In those cases you have to make sure that the entity
             is the correct one.
           </p>
           <p>
  @@ -51,21 +51,21 @@
             hoops to authenticate themselves.
           </p>
           <p>
  -          Currently, Avalon identifies Blocks as trusted parties.  In other
  +          Currently, Avalon identifies blocks as trusted parties.  In other
             words, the fact that they are installed correctly in the proper
             directory is enough to mark them as authenticated.  Much like a
             good friend--you know them by their voice.  Because of the architecture
  -          of Avalon, Blocks define their own authentication system.  That
  -          means that whether the Block assumes all Components are trusted
  +          of Avalon, blocks define their own authentication system.  That
  +          means that whether the block assumes all components are trusted
             or it forces the blocks to authenticate themselves is up to the
             block.
           </p>
           <p>
             For systems that deal with sensitive information, authentication
  -          becomes more of an issue.  You must validate that the Components
  +          becomes more of an issue.  You must validate that the components
             in use are the ones you have authorized for use.  The more open a
             system is, the more authentication and authorization play an important
  -          role.  If you have Components that are transmitted over some form
  +          role.  If you have components that are transmitted over some form
             of communications system (wire, air, etc.) you must verify that
             they are who they say they are.
           </p>
  @@ -78,17 +78,17 @@
         <section>
   <title>Authorization</title>
           <p>
  -          Once a Component has been authenticated (in other words it's identity
  +          Once a component has been authenticated (in other words its identity
             has been authoritatively validated), then you must decide what access
  -          it has to your systems.  A fully trusted Component can do what it likes.
  -          An untrusted Component must be denied functions it is not allowed.
  +          it has to your systems.  A fully trusted component can do what it likes.
  +          An untrusted component must be denied functions it is not allowed.
           </p>
           <p>
             Authorization is part of the architecture, but is significant enough
  -          to warrant it's own concern.  The best rule of thumb is to hide access
  -          to everything unless the Component is trusted.  When hiding is not
  +          to warrant its own concern.  The best rule of thumb is to hide access
  +          to everything unless the component is trusted.  When hiding is not
             an option, then you have to resort to denying access.  For the security
  -          conscious, all denied accesses should be logged along with the Component's
  +          conscious, all denied accesses should be logged along with the component's
             identifier.
           </p>
         </section>
  @@ -96,7 +96,7 @@
   <title>Architecture</title>
           <p>
             Avalon already has the framework for the proper secure architecture.
  -          With proper planning, security can be added without recoding the 
Components.
  +          With proper planning, security can be added without recoding the 
components.
             However there are some rules of thumb for paranoid programming.
           </p>
           <ol>
  @@ -106,11 +106,11 @@
               Oriented Programming (COP).
             </li>
             <li>
  -            Any Component that originates from your own jar should be trusted--you
  +            Any component that originates from your own jar should be trusted--you
               provided it after all.
             </li>
             <li>
  -            Any Component that originates from another source, and especially over
  +            Any component that originates from another source, and especially over
               a wire, should be treated with suspicion.  Authenticate it, and if it
               checks out, trust it.  Otherwise, don't give it access--you don't know
               where it's been or who created it.
  @@ -134,8 +134,8 @@
         <p>
           Our customer, a well known corporation whom I will call ACME for
           anonymity, is in custody of sensitive information.  Product movement data,
  -        financial data, and demographic data are all stored in one of a couple
  -        huge server farms.  Our application was to reside in the De-Militarize
  +        financial data, and demographic data are all stored in one of a couple of
  +        huge server farms.  Our application was to reside in the De-Militarized
           Zone (DMZ), and talk to a database behind the firewall.  When they 
discovered
           that the application server we chose required Remote Procedure Calls (the
           subject of many CERT advisories in the Unix world), we hit a brick wall.  
Our
  @@ -165,18 +165,17 @@
           conditioners to reduce the Electro-Magnetic Interference (EMI) coming from 
the
           power line feedback of the computers.  His rationalization was that he was
        positive KGB agents had the technology that they could read the EMI 
interference
  -     on the power lines and read the bits on the computers.  In hind sight this is
  +     on the power lines and read the bits on the computers.  In hindsight this is
        improbable; no one can identify the bits travelling on a computer from EMI in 
the
        power lines due to the level of noise (clocks, addressing lines,
        <em>encrypted data</em>, and other computers on the network).
         </p>
         <p>
  -        The security industry have a general rule of thumb to ensure that you don't 
spend
  -     too much time in this area:  The cost of cracking the server should
  -        be more than
  +        The security industry has a general rule of thumb to ensure that you don't 
spend
  +     too much time in this area:  The cost of cracking the server should be more 
than
        the information that is protected is worth.  Basically it boils down to this:
  -     sites like Slashdot and SourceForge do not require as much security as a Bank.
  -     Protecting free information is not as critical as protecting peoples bank 
accounts.
  +     sites like Slashdot and SourceForge do not require as much security as a bank.
  +     Protecting free information is not as critical as protecting people's bank 
accounts.
        I am not minimizing the contributions of the aforementioned sites to the world
        as a whole, but people become much more agitated if their bank account is wiped
        clean than if their news article is defaced.  This is not to say that if you 
are
  
  
  
  1.2       +5 -5      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-ioc.xml
  
  Index: guide-patterns-ioc.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-ioc.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-patterns-ioc.xml    29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-patterns-ioc.xml    3 Feb 2003 15:36:00 -0000       1.2
  @@ -52,10 +52,10 @@
               <p>
                 This is probably the clearest parallel to <em>Inversion
                 of Control</em>.  The military provides each new recruit
  -              with the basic things they need to operate at their rank,
  +              with the basic things he needs to operate at his rank,
                 and issues commands that recruit must obey.  The same
                 principle applies in code.  Each component is given the
  -              provisions they need to operate by the instantiating
  +              provisions it needs to operate by the instantiating
                 entity (i.e. Commanding Officer in this analogy).  The
                 instantiating entity then acts on that component how it
                 needs to act.
  @@ -100,12 +100,12 @@
           </source>
           <p>
             The parent of MyComponent instantiates MyComponent, sets the
  -          Logger, and calls myMethod.  The Component is not autonomous,
  -       and is given a Logger that has been configured by the parent.
  +          Logger, and calls myMethod.  The component is not autonomous,
  +       and is given a logger that has been configured by the parent.
           </p>
           <p>
             The MyComponent class has no state apart from the parent, and
  -          has no way of obtaining a reference to the Logger implementation
  +          has no way of obtaining a reference to the logger implementation
             without the parent giving it the implementation it needs.
           </p>
         </section>
  
  
  
  1.2       +7 -7      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-soc.xml
  
  Index: guide-patterns-soc.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-soc.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-patterns-soc.xml    29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-patterns-soc.xml    3 Feb 2003 15:36:00 -0000       1.2
  @@ -11,7 +11,7 @@
       <section>
   <title>Introduction</title>
         <p>
  -        The concept of using different points of view within the the system
  +        The concept of using different points of view within the system
           goes a long way in the overall comprehension of the system.
         </p>
         <p>You can get more formal information in this paper:
  @@ -23,18 +23,18 @@
             "Separation of Concerns" in its simplest form is separating
             a problem into different points of view.  For instance, the documentation
             uses the "Separation of Concerns" pattern to make the documents
  -          comprehensible (we have separate documents for Developers, Administrators,
  -          and Block Implementers).  The documents also use the pattern with XML and
  +          comprehensible (we have separate documents for developers, administrators,
  +          and block implementers).  The documents also use the pattern with XML and
             XSL so that the look is separated from the content.  Either can change
             without breaking the other.
           </p>
           <p>
             This pattern is less clear to point out in the code, however the concept
             is evident.  There are several interfaces included in Avalon that 
identify 
  -          an object's role within the system.  For instance, all Components have 
certain 
  +          an object's role within the system.  For instance, all components have 
certain 
             contracts -- therefore any object that implements the Component interface 
  -          must comply with those Contracts.  This allows developers to manipulate 
  -          Components using a standard interface, without worrying about the 
semantics 
  +          must comply with those contracts.  This allows developers to manipulate 
  +          components using a standard interface, without worrying about the 
semantics 
             of the implementation. They are separate concerns.
           </p>
         </section>
  @@ -49,7 +49,7 @@
             Every time you use interfaces within Object Oriented Programming (OOP),
             you are using the "Separation of Concerns" Pattern.  The interface
             separates the concern of the implementation from the concern of the user
  -          of the interface.  For example, every Object that can be configured
  +          of the interface.  For example, every object that can be configured
             implements the Configurable interface.  The contract surrounding the
             Configurable interface is that the instantiator of the object passes a
             Configuration object to the Configurable object (see "Inversion
  
  
  
  1.2       +12 -12    
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-soii.xml
  
  Index: guide-patterns-soii.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-soii.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-patterns-soii.xml   29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-patterns-soii.xml   3 Feb 2003 15:36:00 -0000       1.2
  @@ -32,12 +32,12 @@
                 <li>it forces you to decouple different 
modules/components/objects</li>
                 <li>if specified correctly allows you to easily change the 
implementation of
                     the interface/contract in the future</li>
  -              <li>makes it possible for a user to read documentation about interface
  +              <li>makes it possible for a user to read documentation about the 
interface
                     without having the implementation details clutter up their 
perception</li>
                 <li>increases the possibility of reuse in a larger application</li>
             </ol>
           <p>
  -          If you are building objects with the aim of reuse then [2] is important 
but
  +          If you are building objects with the aim of reuse then [3] is important 
but
             most people don't build for reuse (and most XP advocates say you should 
just
             plan to use not reuse) and thus [1] and [2] are more important. If you 
feel
             like documenting that and expanding this then feel free to.
  @@ -77,7 +77,7 @@
         <section>
   <title>History</title>
           <p>
  -          We are referring to this pattern at <strong>interface/impl 
separation</strong>.
  +          We are referring to this pattern as <strong>interface/impl 
separation</strong>.
             Wiley's Patterns in Java book refers to it simply as 'Interface', but we 
feel
             that the word interface is overloaded enough in English and computing.
           </p>
  @@ -86,7 +86,7 @@
             this too could be confusing as the aforementioned SAX is not quite a
             pure set of interfaces. It has a static factory that thunks in an
             implementation that all subsequent calls to the factory method will be
  -          forced to use. See Anti-patterns below.
  +          forced to use. See Anti-Patterns below.
           </p>
           <p>
             Better might be 'separation of implementation and the interface/contract' 
as
  @@ -95,13 +95,13 @@
         </section>
       </section>
       <section>
  -<title>Related topics</title>
  +<title>Related Topics</title>
         <section>
  -<title>Implementation hiding</title>
  +<title>Implementation Hiding</title>
           <p>
             Once a tool is split into interface and impl, it is possible for a 
container
             to hide the implementation.  Most containers already use dynamic proxys
  -          (Available in the JDK since 1.3), but we are talking about having the 
classes
  +          (available in the JDK since 1.3), but we are talking about having the 
classes
             of the implementation hidden from classes using the interface.
           </p>
           <p>
  @@ -126,20 +126,20 @@
         <section>
   <title>Kernel, Client API, Hosted Components</title>
           <p>
  -          This is building the previous section, and in short is referred to as 
K/CAPI/HC.
  -          Basically the Kernel mounts hosted components and satisfies their need 
for a
  +          This is building on the previous section, and in short is referred to as 
K/CAPI/HC.
  +          Basically the kernel mounts hosted components and satisfies their need 
for a
             client API. However the kernel wants to hide its implementation from the 
hosted
             components.
           </p>
           <p>
  -          An EJB container is another good example of this.  EntityBean, 
SessionBean etc is
  +          An EJB container is another good example of this.  EntityBean, 
SessionBean etc. is
             the client API.  The hosted components are the beans, and the container 
has a
             kernel.  It builds a complex tree of classloaders to separate its 
implementation,
             the client API, the JDK's runtime jar (that always being in the system or
             primordial classloader), and the hosted components.
           </p>
           <p>
  -          The central message of this is that it you have interface/impl separated 
your
  +          The central message of this is that if you have interface/impl separated 
your
             tool, and are doing tricky things with more classloaders in the 
implementation,
             please make sure you do not assume that the parent classloader of any 
classloader
             is the system classloader.  If your reusable tool has been taken by 
another team
  @@ -148,7 +148,7 @@
           </p>
         </section>
         <section>
  -<title>Anti-patterns</title>
  +<title>Anti-Patterns</title>
           <p>
             SAX, mentioned in multiple contexts in this document, is also an example 
of
             where the design can go wrong.  The Factory is static (that in itself is 
an
  
  
  
  1.2       +7 -7      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-what-are.xml
  
  Index: guide-patterns-what-are.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-patterns-what-are.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-patterns-what-are.xml       29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-patterns-what-are.xml       3 Feb 2003 15:36:00 -0000       1.2
  @@ -14,18 +14,18 @@
         <p>
           I highly recommend reading the 
           <link 
href="http://www6.software.ibm.com/developerworks/education/j-patterns/index.html";>
  -          "Java Design patterns 101"
  +          "Java Design Patterns 101"
           </link> tutorial, and its follow-up
           <link 
href="http://www6.software.ibm.com/developerworks/education/j-patterns201/index.html";>
  -          "Java Design patterns 201"
  -        </link>, if you are unfamiliar with the concept of Design Patterns (and
  +          "Java Design Patterns 201"
  +        </link>, if you are unfamiliar with the concept of design patterns (and
           see below for more information). Note that you have to register at the
           IBM DeveloperWorks site in order to read these, but that's a good idea
           anyway.
         </p>
       </section>
       <section>
  -<title>Where to learn more</title>
  +<title>Where to Learn more</title>
         <p>
           You can find more information about patterns from the following links:
         </p>
  @@ -34,15 +34,15 @@
   </li>
           <li>
   <link 
href="http://www6.software.ibm.com/developerworks/education/j-patterns/index.html";>
  -          "Java Design patterns 101"
  +          "Java Design Patterns 101"
           </link> at DeveloperWorks</li>
                <li>
   <link 
href="http://www6.software.ibm.com/developerworks/education/j-patterns201/index.html";>
  -          "Java Design patterns 201"
  +          "Java Design Patterns 201"
           </link> at DeveloperWorks</li>
                <li>
   <link href="http://cseng.aw.com/book/0,3828,0201633612,00.html";>
  -          "Java Design patterns: Elements of Reusable Object-Oriented Software"
  +          "Java Design Patterns: Elements of Reusable Object-Oriented Software"
           </link> by the GoF (printed book)</li>
         </ol>
       </section>
  
  
  
  1.2       +4 -4      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-where-to-go-from-here.xml
  
  Index: guide-where-to-go-from-here.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/guide-where-to-go-from-here.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- guide-where-to-go-from-here.xml   29 Jan 2003 14:32:05 -0000      1.1
  +++ guide-where-to-go-from-here.xml   3 Feb 2003 15:36:00 -0000       1.2
  @@ -2,7 +2,7 @@
   <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" 
"document-v11.dtd">
   <document>
     <header>
  -    <title>Avalon Framework - Guide - Where to go next</title>
  +    <title>Avalon Framework - Guide - Where to Go next</title>
       <authors>
         <person name="Leo Simons" email="[EMAIL PROTECTED]"/>
       </authors>
  @@ -18,15 +18,15 @@
         </p>
       </section>
       <section>
  -<title>Creating components</title>
  +<title>Creating Components</title>
         <p>
           After all the information in this guide has sunk in, you're probably
  -        itching to write an Avalon Component. Our
  +        itching to write an Avalon component. Our
           <link href="http://avalon.apache.org/developing/index.html";>Developing with 
Avalon guide
           </link> takes you through doing just that. You can download it as a PDF
           and read at your leisure (it comes down to 56 printed pages). If that's
           too much for you, we suggest you get the latest
  -        <link href="http://avalon.apache.org/excalibur/index.html";>excalibur</link> 
release and
  +        <link href="http://avalon.apache.org/excalibur/index.html";>Excalibur</link> 
release and
           take those components as an example. One application that uses a lot of
           those components and is in widespread daily use is
           <link href="http://xml.apache.org/cocoon";>Cocoon</link>.
  
  
  
  1.2       +9 -9      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/index.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.xml 29 Jan 2003 14:32:05 -0000      1.1
  +++ index.xml 3 Feb 2003 15:36:00 -0000       1.2
  @@ -11,7 +11,7 @@
       <section>
   <title>Introduction</title>
         <p>
  -        The Avalon framework consists of interfaces
  +        The Avalon Framework consists of interfaces
           that define relationships between commonly used application components,
           best-of-practice pattern enforcements, and several
           lightweight convenience implementations of the generic components.
  @@ -19,10 +19,10 @@
         <p>
           If that sounds a bit abstract to you, we suggest you start by reading
           the guide (see below). If you want to see the code first, either
  -        <link 
href="http://jakarta.apache.org/builds/jakarta-avalon/release/framework";>Download</link>
  +        <link 
href="http://jakarta.apache.org/builds/jakarta-avalon/release/framework";>download</link>
           it or
           <link href="http://jakarta.apache.org/site/cvsindex.html";>get it from 
CVS</link>.
  -        The <link href="getting-started.html">Getting started</link> document
  +        The <link href="getting-started.html">Getting Started</link> document
           provides more pointers.
         </p>
       </section>
  @@ -55,13 +55,13 @@
   <title>Contents</title>
             <ol>
               <li>
  -<link href="guide-oop-best-practices.html">OOP best practices</link>
  +<link href="guide-oop-best-practices.html">OOP best Practices</link>
   </li>
               <li>
  -<link href="guide-patterns-what-are.html">What are design patterns?</link>
  +<link href="guide-patterns-what-are.html">What are Design Patterns?</link>
   </li>
               <li>
  -<link href="guide-patterns-in-avalon.html">Design patterns in Avalon</link>
  +<link href="guide-patterns-in-avalon.html">Design Patterns in Avalon</link>
   </li>
               <li>
   <link href="guide-cop-what-is.html">What is Component-Oriented Programming?</link>
  @@ -70,7 +70,7 @@
   <link href="guide-cop-in-avalon.html">COP in Avalon</link>
   </li>
               <li>
  -<link href="guide-where-to-go-from-here.html">Where to go next</link>
  +<link href="guide-where-to-go-from-here.html">Where to Go next</link>
   </li>
             </ol>
           </section>
  @@ -80,8 +80,8 @@
           <p>
              Besides the
              <link href="http://avalon.apache.org/api/index.html";>Javadocs</link>, we 
have the
  -           <link href="reference-the-lifecycle.html">Lifecycle specification</link> 
and the
  -           <link href="reference-containers.html">List of containers</link>.
  +           <link href="reference-the-lifecycle.html">Lifecycle Specification</link> 
and the
  +           <link href="reference-containers.html">List of Containers</link>.
           </p>
         </section>
     </body>
  
  
  
  1.2       +8 -8      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/reference-containers.xml
  
  Index: reference-containers.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/reference-containers.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- reference-containers.xml  29 Jan 2003 14:32:05 -0000      1.1
  +++ reference-containers.xml  3 Feb 2003 15:36:00 -0000       1.2
  @@ -25,7 +25,7 @@
   <title>Avalon Phoenix</title>
           <p>
             This is a sister project to Avalon Framework.  It provides an environment
  -          for launching of multiple, isolate, more or less unrestricted server 
applications
  +          for launching multiple, isolated, more or less unrestricted server 
applications
          as hosted components.  These can be applications like a web server, RDBMS or
          EJB server. It provides many advanced features like automatic management, at 
the
          cost of a bit of complexity.
  @@ -44,8 +44,8 @@
        <p>
        Tweety is almost the opposite of Phoenix. It is a recent development and 
written
        exclusively as a teaching tool. It has no features whatsoever besides basic 
support
  -     for the avalon lifecycle. This results in a complete distribution the size of 
the
  -     phoenix bootstrapper.
  +     for the Avalon lifecycle. This results in a complete distribution the size of 
the
  +     Phoenix bootstrapper.
        See <link href="http://avalon.apache.org/excalibur/tweety";>Tweety</link>
        </p>
        </section>
  @@ -69,7 +69,7 @@
           <p>
             This is used by various applications like Cocoon. Cocoon is run inside the
             Sun specified servlet context of a web-app.  It is designed for such
  -          Servlet-context reuse. ECM is the most stable of the containers (it is the
  +          servlet-context reuse. ECM is the most stable of the containers (it is the
          only one with a stable release); it is also arguably the worst design.
          See <link href="http://avalon.apache.org/excalibur/component/";>ECM</link>.
           </p>
  @@ -77,7 +77,7 @@
         <section>
   <title>Fortress</title>
           <p>
  -          Fortress is ment as a future replacement of ECM. It fixes several of ECMs 
flaws
  +          Fortress is meant as a future replacement of ECM. It fixes several of 
ECMs flaws
          like a mixup of concerns. It is built to be very extensible, and it includes
          support for custom lifecycle extensions. Fortress is still pre-alpha.
          See <link 
href="http://avalon.apache.org/excalibur/fortress/";>Fortress</link>.
  @@ -98,14 +98,14 @@
   <title>Plexus</title>
           <p>
             Plexus is a container under development that will become the basis of the
  -       services framework for a sister project to avalon,
  +       services framework for a sister project to Avalon,
          <link href="http://jakarta.apache.org/turbine";>Turbine</link>.
           </p>
        <p>
                See <link 
href="http://tambora.zenplex.org/cgi-bin/cvsweb.cgi/plexus/";>Plexus</link>.
        </p>
        <note>
  -     Plexus is being developed outside of avalon itself as an external project.
  +     Plexus is being developed outside of Avalon itself as an external project.
        </note>
         </section>
         <section>
  @@ -120,7 +120,7 @@
                  See <link href="http://eob.sourceforge.net/";>EOB</link>.
        </p>
        <note>
  -     EOB is an being developed outside of avalon itself as an external project.
  +     EOB is an being developed outside of Avalon itself as an external project.
        </note>
         </section>
        </section>
  
  
  
  1.2       +7 -7      
jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/reference-the-lifecycle.xml
  
  Index: reference-the-lifecycle.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon/proposal/framework-forrest/src/documentation/content/xdocs/reference-the-lifecycle.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- reference-the-lifecycle.xml       29 Jan 2003 14:32:05 -0000      1.1
  +++ reference-the-lifecycle.xml       3 Feb 2003 15:36:00 -0000       1.2
  @@ -27,7 +27,7 @@
           <link href="reference-containers.html">Containers</link>.
         </p>
         <p>
  -        The lifecyle methods from Avalon Framework sub-project are designed to be
  +        The lifecyle methods from the Avalon Framework sub-project are designed to 
be
           used by just about any component hosted by any container.  Of course, the 
API
           in question may well require additional interfaces for strongly typed 
           functionality, but these interfaces should negate the need for any 
duplication
  @@ -39,7 +39,7 @@
         <p>
           The lifecycle of a component specifies the methods that can be called on it,
           and the order in which this may happen. Some methods can be called only once
  -        in a specific <code>Phase</code> of a component its lifecycle, others may
  +        in a specific <code>phase</code> of a component's lifecycle, others may
           be called multiple times. These methods are called the lifecycle methods.
         </p>
         <p>
  @@ -50,7 +50,7 @@
         </p>
       </section>
       <section>
  -<title>The Lifecycle interfaces</title>
  +<title>The Lifecycle Interfaces</title>
         <p>
           A component exposes its lifecycle methods by implementing the lifecycle
           interfaces. Each of these defines one or more methods that represent a
  @@ -80,7 +80,7 @@
         </note>
       </section>
       <section>
  -<title>Phase order</title>
  +<title>Phase Order</title>
         <p>
           The order in which the various lifecycle methods are called is very 
specific.
           While none are required (it is possible to have a component implementing
  @@ -89,7 +89,7 @@
           a few examples.
         </p>
         <section>
  -<title>simple examples</title>
  +<title>Simple Examples</title>
           <p>The lifecycle of a component implementing only Configurable for
           example will be:</p>
           <ol>
  @@ -105,7 +105,7 @@
           </ol>
         </section>
         <section>
  -<title>complete</title>
  +<title>Complete</title>
           <p>
             If a component implements more than one interface the order of
             the events (service, configure etc.) follow a specific order. A component
  @@ -178,7 +178,7 @@
             The methods suspend() and resume() are not guaranteed to be called at all,
             even when implemented. They can be called more than once, but only after
             one another and between start() and stop(). The reason they exist is so 
  -          the container can notify the component it needs to come to temporary stop 
  +          the container can notify the component it needs to temporarily stop 
             any operations. The container may need to perform some synchronized 
operation 
             on one of the components used by this component, or it may wish to call 
any 
             of the following methods, which can also be called zero or more times, 
and 
  
  
  

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

Reply via email to