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/05/30 22:55:10 UTC

cvs commit: avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/components ExtendedComponentImpl.java

bloritsch    2003/05/30 13:55:10

  Modified:    fortress/examples/src/java/org/apache/avalon/fortress/examples/extended
                        ExtendedContainer.xconf ExtendedContainer.java
                        Main.java
               fortress/examples/src/java/org/apache/avalon/fortress/examples/viewer
                        Main.java
               fortress/examples/src/java/org/apache/avalon/fortress/examples/swing
                        Main.java
               fortress/examples/src/java/org/apache/avalon/fortress/examples/components
                        TranslatorImpl.java
               fortress/examples/src/java/org/apache/avalon/fortress/examples/servlet
                        servlet.java
               fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/components
                        ExtendedComponentImpl.java
  Removed:     fortress/examples/src/java/org/apache/avalon/fortress/examples/extended
                        ExtendedContainer.roles
               fortress/examples/src/java/org/apache/avalon/fortress/examples/viewer
                        ComponentViewer.roles
               fortress/examples/src/java/org/apache/avalon/fortress/examples/swing
                        SwingContainer.roles
               fortress/examples/src/java/org/apache/avalon/fortress/examples/servlet
                        ServletContainer.roles
  Log:
  Update all the examples to be a better representation of how to do things.
  
  Revision  Changes    Path
  1.2       +1 -4      avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/ExtendedContainer.xconf
  
  Index: ExtendedContainer.xconf
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/ExtendedContainer.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ExtendedContainer.xconf	28 Jan 2003 21:19:18 -0000	1.1
  +++ ExtendedContainer.xconf	30 May 2003 20:55:09 -0000	1.2
  @@ -1,7 +1,4 @@
   <test>
  -  <component id="extended-component"
  -     class="org.apache.avalon.fortress.examples.extended.components.ExtendedComponentImpl"
  -     logger="extended-component">
  -  </component>
  +    <extended-component id="extended-component"/>
   </test>
   
  
  
  
  1.8       +4 -10     avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/ExtendedContainer.java
  
  Index: ExtendedContainer.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/ExtendedContainer.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ExtendedContainer.java	11 Apr 2003 07:36:20 -0000	1.7
  +++ ExtendedContainer.java	30 May 2003 20:55:09 -0000	1.8
  @@ -50,18 +50,12 @@
   package org.apache.avalon.fortress.examples.extended;
   
   import org.apache.avalon.fortress.examples.extended.extensions.Extensions;
  +import org.apache.avalon.fortress.examples.extended.components.ExtendedComponent;
  +import org.apache.avalon.fortress.impl.DefaultContainer;
   
   public final class ExtendedContainer
  -    extends org.apache.avalon.fortress.impl.DefaultContainer
  +    extends DefaultContainer
   {
  -    public void initialize()
  -        throws Exception
  -    {
  -        super.initialize();
  -
  -        m_extManager.addAccessorExtension( new Extensions() );
  -    }
  -
       public void doLookups()
           throws Exception
       {
  @@ -69,7 +63,7 @@
   
           for( int i = 0; i < 10; ++i )
           {
  -            org.apache.avalon.fortress.examples.extended.components.ExtendedComponent comp = (org.apache.avalon.fortress.examples.extended.components.ExtendedComponent)m_serviceManager.lookup( org.apache.avalon.fortress.examples.extended.components.ExtendedComponent.ROLE );
  +            ExtendedComponent comp = (ExtendedComponent)m_serviceManager.lookup( ExtendedComponent.ROLE );
               m_serviceManager.release( comp );
           }
   
  
  
  
  1.7       +15 -5     avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/Main.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Main.java	22 Mar 2003 12:46:31 -0000	1.6
  +++ Main.java	30 May 2003 20:55:09 -0000	1.7
  @@ -50,9 +50,12 @@
   package org.apache.avalon.fortress.examples.extended;
   
   import org.apache.avalon.fortress.ContainerManager;
  +import org.apache.avalon.fortress.examples.extended.extensions.Extensions;
   import org.apache.avalon.fortress.impl.DefaultContainerManager;
   import org.apache.avalon.fortress.util.FortressConfig;
  +import org.apache.avalon.fortress.util.LifecycleExtensionManager;
   import org.apache.avalon.framework.container.ContainerUtil;
  +import org.apache.avalon.framework.logger.NullLogger;
   
   /**
    * Fortress container example with custom extensions
  @@ -73,12 +76,10 @@
           throws Exception
       {
           FortressConfig config = new FortressConfig();
  -        config.setContainerClass( ExtendedContainer.class.getName() );
  -        config.setContextDirectory( "./" );
  -        config.setWorkDirectory( "./" );
  +        config.setContainerClass( ExtendedContainer.class );
           config.setContainerConfiguration( "resource://org/apache/avalon/fortress/examples/extended/ExtendedContainer.xconf" );
           config.setLoggerManagerConfiguration( "resource://org/apache/avalon/fortress/examples/extended/ExtendedContainer.xlog" );
  -        config.setRoleManagerConfiguration( "resource://org/apache/avalon/fortress/examples/extended/ExtendedContainer.roles" );
  +        setupExtensions(config);
   
           final ContainerManager cm = new DefaultContainerManager( config.getContext() );
           ContainerUtil.initialize( cm );
  @@ -88,6 +89,15 @@
           m_container.doLookups();
   
           ContainerUtil.dispose( cm );
  +    }
  +
  +    private static void setupExtensions( FortressConfig config )
  +    {
  +        LifecycleExtensionManager extensions = new LifecycleExtensionManager();
  +        extensions.enableLogging(new NullLogger());
  +        extensions.addAccessorExtension( new Extensions() );
  +
  +        config.setLifecycleExtensionManager(extensions);
       }
   }
   
  
  
  
  1.8       +12 -14    avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/viewer/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/viewer/Main.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Main.java	11 Apr 2003 07:36:21 -0000	1.7
  +++ Main.java	30 May 2003 20:55:10 -0000	1.8
  @@ -50,6 +50,10 @@
   package org.apache.avalon.fortress.examples.viewer;
   
   import org.apache.avalon.fortress.impl.DefaultContainerManager;
  +import org.apache.avalon.fortress.util.FortressConfig;
  +import org.apache.avalon.fortress.ContainerManager;
  +import org.apache.avalon.framework.CascadingException;
  +import org.apache.avalon.framework.container.ContainerUtil;
   
   /**
    * Fortress container example allowing you to perform lookups on components
  @@ -67,25 +71,22 @@
       public static final void main( String[] args )
           throws Exception
       {
  -        org.apache.avalon.fortress.ContainerManager cm = null;
  +        ContainerManager cm = null;
   
           try
           {
  -            final org.apache.avalon.fortress.util.FortressConfig config = new org.apache.avalon.fortress.util.FortressConfig();
  -            config.setContainerClass( "org.apache.avalon.fortress.examples.viewer.ComponentViewer" );
  -            config.setContextDirectory( "./" );
  -            config.setWorkDirectory( "./" );
  +            final FortressConfig config = new FortressConfig();
  +            config.setContainerClass( ComponentViewer.class );
               config.setContainerConfiguration( "resource://org/apache/avalon/fortress/examples/viewer/ComponentViewer.xconf" );
               config.setLoggerManagerConfiguration( "resource://org/apache/avalon/fortress/examples/viewer/ComponentViewer.xlog" );
  -            config.setRoleManagerConfiguration( "resource://org/apache/avalon/fortress/examples/viewer/ComponentViewer.roles" );
               config.setInstrumentManagerConfiguration( "resource://org/apache/avalon/fortress/examples/viewer/ComponentViewer.instruments" );
   
               cm = new DefaultContainerManager( config.getContext() );
               org.apache.avalon.framework.container.ContainerUtil.initialize( cm );
   
  -            ( (org.apache.avalon.fortress.examples.viewer.ComponentViewer)cm.getContainer() ).run();
  +            ( (ComponentViewer)cm.getContainer() ).run();
           }
  -        catch( org.apache.avalon.framework.CascadingException e )
  +        catch( CascadingException e )
           {
               e.printStackTrace();
   
  @@ -95,15 +96,12 @@
               {
                   t.printStackTrace();
   
  -                if( t instanceof org.apache.avalon.framework.CascadingException )
  -                    t = ( (org.apache.avalon.framework.CascadingException)t ).getCause();
  -                else
  -                    t = null;
  +                t = t.getCause();
               }
           }
           finally
           {
  -            org.apache.avalon.framework.container.ContainerUtil.dispose( cm );
  +            ContainerUtil.dispose( cm );
           }
       }
   }
  
  
  
  1.7       +9 -9      avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/swing/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/swing/Main.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Main.java	11 Apr 2003 07:36:21 -0000	1.6
  +++ Main.java	30 May 2003 20:55:10 -0000	1.7
  @@ -50,6 +50,9 @@
   package org.apache.avalon.fortress.examples.swing;
   
   import org.apache.avalon.fortress.impl.DefaultContainerManager;
  +import org.apache.avalon.fortress.util.FortressConfig;
  +import org.apache.avalon.fortress.ContainerManager;
  +import org.apache.avalon.framework.container.ContainerUtil;
   
   /**
    * Fortress container example.
  @@ -69,18 +72,15 @@
           throws Exception
       {
           // Set up all the preferences for Fortress
  -        final org.apache.avalon.fortress.util.FortressConfig config = new org.apache.avalon.fortress.util.FortressConfig();
  -        config.setContainerClass( "org.apache.avalon.fortress.examples.swing.SwingContainer" );
  -        config.setContextDirectory( "./" );
  -        config.setWorkDirectory( "./" );
  +        final FortressConfig config = new FortressConfig();
  +        config.setContainerClass( SwingContainer.class );
           config.setContainerConfiguration( "resource://org/apache/avalon/fortress/examples/swing/SwingContainer.xconf" );
           config.setLoggerManagerConfiguration( "resource://org/apache/avalon/fortress/examples/swing/SwingContainer.xlog" );
  -        config.setRoleManagerConfiguration( "resource://org/apache/avalon/fortress/examples/swing/SwingContainer.roles" );
           config.setInstrumentManagerConfiguration( "resource://org/apache/avalon/fortress/examples/swing/SwingContainer.instruments" );
   
           // Get the root container initialized
  -        org.apache.avalon.fortress.ContainerManager cm = new DefaultContainerManager( config.getContext() );
  -        org.apache.avalon.framework.container.ContainerUtil.initialize( cm );
  +        ContainerManager cm = new DefaultContainerManager( config.getContext() );
  +        ContainerUtil.initialize( cm );
   
           /* Special containers such as Swing applications run in a different
            * thread in the background.  This is only one method of handling
  @@ -93,7 +93,7 @@
           ( (SwingContainer)cm.getContainer() ).run();
   
           // Properly clean up when we are done
  -        org.apache.avalon.framework.container.ContainerUtil.dispose( cm );
  +        ContainerUtil.dispose( cm );
       }
   }
   
  
  
  
  1.8       +8 -2      avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/components/TranslatorImpl.java
  
  Index: TranslatorImpl.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/components/TranslatorImpl.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TranslatorImpl.java	11 Apr 2003 07:36:20 -0000	1.7
  +++ TranslatorImpl.java	30 May 2003 20:55:10 -0000	1.8
  @@ -54,6 +54,7 @@
   import java.util.Set;
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.configuration.ConfigurationException;
  +import org.apache.avalon.framework.configuration.Configurable;
   import org.apache.excalibur.instrument.AbstractLogEnabledInstrumentable;
   import org.apache.excalibur.instrument.CounterInstrument;
   
  @@ -75,11 +76,16 @@
    * </pre>
    * </p>
    *
  + * @avalon.component
  + * @avalon.service type=Translator
  + * @x-avalon.info name=translator
  + * @x-avalon.lifestyle type=singleton
  + *
    * @author <a href="mailto:crafterm@apache.org">Marcus Crafter</a>
    * @version CVS $Revision$ $Date$
    */
   public class TranslatorImpl extends AbstractLogEnabledInstrumentable
  -    implements Translator, org.apache.avalon.framework.configuration.Configurable
  +    implements Translator, Configurable
   {
       // Instrument to count the number of translations performed
       private CounterInstrument m_translationsInstrument;
  
  
  
  1.7       +13 -9     avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/servlet/servlet.java
  
  Index: servlet.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/servlet/servlet.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- servlet.java	11 Apr 2003 07:36:20 -0000	1.6
  +++ servlet.java	30 May 2003 20:55:10 -0000	1.7
  @@ -49,7 +49,12 @@
   */
   package org.apache.avalon.fortress.examples.servlet;
   
  +import org.apache.avalon.fortress.ContainerManager;
  +import org.apache.avalon.fortress.impl.DefaultContainerManager;
  +import org.apache.avalon.framework.container.ContainerUtil;
  +
   import java.io.IOException;
  +import java.io.File;
   import javax.servlet.ServletException;
   import javax.servlet.ServletRequest;
   import javax.servlet.ServletResponse;
  @@ -64,7 +69,7 @@
   public final class servlet extends HttpServlet
   {
       private ServletContainer m_container;
  -    private org.apache.avalon.fortress.ContainerManager m_containerManager;
  +    private ContainerManager m_containerManager;
   
       /**
        * Initializes Servlet and creates a <code>ServletContainer</code> instance
  @@ -79,15 +84,14 @@
           try
           {
               final org.apache.avalon.fortress.util.FortressConfig config = new org.apache.avalon.fortress.util.FortressConfig();
  -            config.setContainerClass( "org.apache.avalon.fortress.examples.servlet.ServletContainer" );
  -            config.setContextDirectory( "./" );
  -            config.setWorkDirectory( "./" );
  +            config.setContainerClass( ServletContainer.class );
  +            config.setContextDirectory( getServletContext().getRealPath("/") );
  +            config.setWorkDirectory( (File) getServletContext().getAttribute( "javax.servlet.context.tempdir" ) );
               config.setContainerConfiguration( "resource://org/apache/avalon/fortress/examples/servlet/ServletContainer.xconf" );
               config.setLoggerManagerConfiguration( "resource://org/avalon/excalibur/fortress/examples/servlet/ServletContainer.xlog" );
  -            config.setRoleManagerConfiguration( "resource://org/avalon/excalibur/fortress/examples/servlet/ServletContainer.roles" );
   
  -            m_containerManager = new org.apache.avalon.fortress.impl.DefaultContainerManager( config.getContext() );
  -            org.apache.avalon.framework.container.ContainerUtil.initialize( m_containerManager );
  +            m_containerManager = new DefaultContainerManager( config.getContext() );
  +            ContainerUtil.initialize( m_containerManager );
   
               m_container = (ServletContainer)m_containerManager.getContainer();
           }
  @@ -119,6 +123,6 @@
        */
       public void destroy()
       {
  -        org.apache.avalon.framework.container.ContainerUtil.dispose( m_containerManager );
  +        ContainerUtil.dispose( m_containerManager );
       }
   }
  
  
  
  1.7       +11 -3     avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/components/ExtendedComponentImpl.java
  
  Index: ExtendedComponentImpl.java
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/fortress/examples/src/java/org/apache/avalon/fortress/examples/extended/components/ExtendedComponentImpl.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ExtendedComponentImpl.java	11 Apr 2003 07:36:20 -0000	1.6
  +++ ExtendedComponentImpl.java	30 May 2003 20:55:10 -0000	1.7
  @@ -49,18 +49,26 @@
   */
   package org.apache.avalon.fortress.examples.extended.components;
   
  +import org.apache.avalon.framework.logger.AbstractLogEnabled;
  +import org.apache.avalon.fortress.examples.extended.extensions.SecurityManageable;
  +
   /**
    * <code>TestComponentImpl</code>, demonstrating the use of a custom
    * lifecycle stage <code>SecurityManageable</code>. This code does
    * a simple access check for several files on the file system and logs
    * the results accordingly.
    *
  + * @avalon.component
  + * @avalon.service type=ExtendedComponent
  + * @x-avalon.info name=extended-component
  + * @x-avalon.lifestyle type=singleton
  + *
    * @author <a href="mailto:crafterm@apache.org">Marcus Crafter</a>
    * @version CVS $Revision$ $Date$
    */
   public class ExtendedComponentImpl
  -    extends org.apache.avalon.framework.logger.AbstractLogEnabled
  -    implements org.apache.avalon.fortress.examples.extended.components.ExtendedComponent, org.apache.avalon.fortress.examples.extended.extensions.SecurityManageable
  +    extends AbstractLogEnabled
  +    implements ExtendedComponent, SecurityManageable
   {
       /**
        * Pass a SecurityManager object to the component
  
  
  

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