You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by bl...@apache.org on 2003/03/25 02:36:15 UTC

cvs commit: avalon-excalibur/fortress/src/xdocs features.xml

bloritsch    2003/03/24 17:36:15

  Modified:    fortress/src/java/org/apache/avalon/fortress/impl/role
                        ServiceRoleManager.java
               fortress/src/tools/org/apache/avalon/fortress/tools
                        ComponentMetaInfoCollector.java
               fortress/src/xdocs features.xml
  Log:
  update the meta info to the agreed upon extension
  
  Revision  Changes    Path
  1.5       +5 -5      avalon-excalibur/fortress/src/java/org/apache/avalon/fortress/impl/role/ServiceRoleManager.java
  
  Index: ServiceRoleManager.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/src/java/org/apache/avalon/fortress/impl/role/ServiceRoleManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ServiceRoleManager.java	24 Mar 2003 22:03:54 -0000	1.4
  +++ ServiceRoleManager.java	25 Mar 2003 01:36:15 -0000	1.5
  @@ -141,10 +141,10 @@
       static
       {
           Map lifecycleMap = new HashMap();
  -        lifecycleMap.put( "thread-safe", ThreadSafeComponentHandler.class.getName() );
  -        lifecycleMap.put( "per-thread", PerThreadComponentHandler.class.getName() );
  +        lifecycleMap.put( "singleton", ThreadSafeComponentHandler.class.getName() );
  +        lifecycleMap.put( "thread", PerThreadComponentHandler.class.getName() );
           lifecycleMap.put( "pooled", PoolableComponentHandler.class.getName() );
  -        lifecycleMap.put( "factory", FactoryComponentHandler.class.getName() );
  +        lifecycleMap.put( "transient", FactoryComponentHandler.class.getName() );
   
           m_lifecycleMap = Collections.unmodifiableMap( lifecycleMap );
       }
  @@ -273,7 +273,7 @@
               return;
           }
   
  -        String shortName = meta.getProperty( "avalon-ext.name", createShortName( implementation ) );
  +        String shortName = meta.getProperty( "x-avalon.name", createShortName( implementation ) );
           String handler = getHandler( meta );
   
           addRole( shortName, role, implementation, handler );
  @@ -287,7 +287,7 @@
        */
       private String getHandler( Properties meta )
       {
  -        String lifecycle = meta.getProperty( "avalon-ext.lifecycle", null );
  +        String lifecycle = meta.getProperty( "x-avalon.lifecycle", null );
           String handler = null;
   
           if( null != lifecycle )
  
  
  
  1.3       +8 -8      avalon-excalibur/fortress/src/tools/org/apache/avalon/fortress/tools/ComponentMetaInfoCollector.java
  
  Index: ComponentMetaInfoCollector.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/src/tools/org/apache/avalon/fortress/tools/ComponentMetaInfoCollector.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ComponentMetaInfoCollector.java	24 Mar 2003 22:03:54 -0000	1.2
  +++ ComponentMetaInfoCollector.java	25 Mar 2003 01:36:15 -0000	1.3
  @@ -208,12 +208,12 @@
        */
       private void prepareMetaInfo(Properties meta, JavaClass javaClass)
       {
  -        DocletTag avalonScope = javaClass.getTagByName("avalon-ext.lifecycle");
  +        DocletTag avalonLifecycle = javaClass.getTagByName("x-avalon.lifecycle");
           DocletTag fortressHandler = javaClass.getTagByName("fortress.handler");
  -        String scope = null;
  +        String lifecycle = null;
           String handler = null;
           
  -        if ( avalonScope == null && fortressHandler == null )
  +        if ( avalonLifecycle == null && fortressHandler == null )
           {
               Type[] interfaces = javaClass.getImplements();
               for (int i = 0; i < interfaces.length && handler != null; i++)
  @@ -234,22 +234,22 @@
               }
           }
           
  -        if (null != avalonScope)
  +        if (null != avalonLifecycle)
           {
  -            scope = avalonScope.getValue();
  +            lifecycle = avalonLifecycle.getValue();
           }
           else if (handler != null)
           {
               handler = (null == fortressHandler) ? PerThreadComponentHandler.class.getName() : fortressHandler.getValue();
           }
           
  -        if ( null != scope ) meta.setProperty("avalon-ext.lifecycle", scope);
  +        if ( null != lifecycle ) meta.setProperty("x-avalon.lifecycle", lifecycle);
           if ( null != handler ) meta.setProperty("fortress.handler", handler);
           
  -        DocletTag avalonConfigName = javaClass.getTagByName("avalon-ext.name");
  +        DocletTag avalonConfigName = javaClass.getTagByName("x-avalon.name");
           if ( null == avalonConfigName ) avalonConfigName = javaClass.getTagByName("fortress.name");
   
  -        meta.setProperty("avalon-ext.name", (avalonConfigName == null) ? ServiceRoleManager.createShortName(javaClass.getName()) : avalonConfigName.getValue() );
  +        meta.setProperty("x-avalon.name", (avalonConfigName == null) ? ServiceRoleManager.createShortName(javaClass.getName()) : avalonConfigName.getValue() );
       }
   
       /**
  
  
  
  1.4       +39 -26    avalon-excalibur/fortress/src/xdocs/features.xml
  
  Index: features.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/src/xdocs/features.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- features.xml	7 Feb 2003 17:56:31 -0000	1.3
  +++ features.xml	25 Mar 2003 01:36:15 -0000	1.4
  @@ -11,45 +11,58 @@
     <body>
       <section><title>Features</title>
         <p>
  -	Fortress provides a framework for you to easily create your
  -	own application specific containers.  We strive to make it
  -	easy for you to do without sacrificing any power.  Fortress
  -	allows you to focus on the core issues in your system, without
  -	worrying about the component management getting in your way.
  +        Fortress provides a framework for you to easily create your
  +        own application specific containers.  We strive to make it
  +        easy for you to do without sacrificing any power.  Fortress
  +        allows you to focus on the core issues in your system, without
  +        worrying about the component management getting in your way.
         </p>
         <section><title>Asynchronous Component Management</title>
  -	<p>
  +        <p>
             Most component management functions don't take that long to
  -	  perform, but the time they do take can directly affect how
  -	  many requests your system can process at the same time.  For
  -	  that reason, we use the CommandManager from the Event package
  -	  to manage our components.  By moving all the management
  -	  functions to a limited number of background threads, we are
  -	  able to save you time in the critical processing path.
  +          perform, but the time they do take can directly affect how
  +          many requests your system can process at the same time.  For
  +          that reason, we use the CommandManager from the Event package
  +          to manage our components.  By moving all the management
  +          functions to a limited number of background threads, we are
  +          able to save you time in the critical processing path.
           </p>
  -	<p>
  +        <p>
             The CommandManager can be extended to your components as well.
  -	  That way, your components can perform management tasks in the
  -	  background as well.  Fortress will likely be your choice of
  -	  containers if you have strict performance constraints.
  +          That way, your components can perform management tasks in the
  +          background as well.  Fortress will likely be your choice of
  +          containers if you have strict performance constraints.
           </p>
         </section>
         <section><title>Extensible Lifecycle</title>
  -	<p>
  +        <p>
             Fortress has support for an experimental feature that allows
  -	  you to extend your component lifecycle in an application
  -	  specific manner.  If it proves to be a truly useful feature,
  -	  other Avalon containers will adopt it.
  +          you to extend your component lifecycle in an application
  +          specific manner.  If it proves to be a truly useful feature,
  +          other Avalon containers will adopt it.
           </p>
         </section>
         <section><title>Instrumentation</title>
           <p>
             Fortress is integrated with the Instrumentation package so
  -	  you can get a graphical view of the health of your system
  -	  at runtime.  We integrate sampling points for each of the
  -	  component handlers so that you can see how many component
  -	  instances each handler is responsible for.  Using that
  -	  information, you can tune your container more intelligently.
  +          you can get a graphical view of the health of your system
  +          at runtime.  We integrate sampling points for each of the
  +          component handlers so that you can see how many component
  +          instances each handler is responsible for.  Using that
  +          information, you can tune your container more intelligently.
  +        </p>
  +      </section>
  +      <section><title>Attribute Enabled Meta Information</title>
  +        <p>
  +          Instead of using a "roles" file to keep track of the component
  +          configuration name, and what kind of lifestyle the component
  +          has, Fortress provides some tools so that you can keep track
  +          of that information with your java source code.  You have to
  +          use the ANT tasks that are defined in the Fortress tools jar.
  +          It collects all the attributes defined as JavaDoc doc tags
  +          and generates the meta info files which are then read at
  +          runtime.  It makes it a whole lot easier to manage critical
  +          aspects like lifestyle and which classes represent components.
           </p>
         </section>
       </section>
  
  
  

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