You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by do...@apache.org on 2001/06/12 15:39:00 UTC

cvs commit: jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor DefaultExecutor.java AspectAwareExecutor.java

donaldp     01/06/12 06:38:59

  Modified:    proposal/myrmidon/src/java/org/apache/myrmidon/components/executor
                        DefaultExecutor.java AspectAwareExecutor.java
  Log:
  Update to use new ExecutionFrame construct.
  
  Revision  Changes    Path
  1.10      +33 -26    jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java
  
  Index: DefaultExecutor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- DefaultExecutor.java	2001/06/05 07:54:33	1.9
  +++ DefaultExecutor.java	2001/06/12 13:38:58	1.10
  @@ -35,10 +35,7 @@
       implements Executor, Composable
   {
       private Configurer           m_configurer;
  -    private TypeFactory          m_factory;
   
  -    private ComponentManager     m_componentManager;
  -
       /**
        * Retrieve relevent services needed to deploy.
        *
  @@ -48,34 +45,24 @@
       public void compose( final ComponentManager componentManager )
           throws ComponentException
       {
  -        //cache CM so it can be used while executing tasks
  -        m_componentManager = componentManager;
  -
           m_configurer = (Configurer)componentManager.lookup( Configurer.ROLE );
  -
  -        final TypeManager typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
  -        try { m_factory = typeManager.getFactory( Task.ROLE ); }
  -        catch( final TypeException te )
  -        {
  -            throw new ComponentException( "Unable to retrieve factory from TypeManager", te );
  -        }
       }
   
  -    public void execute( final Configuration taskModel, final TaskContext context )
  +    public void execute( final Configuration taskModel, final ExecutionFrame frame )
           throws TaskException
       {
           getLogger().debug( "Creating" );
  -        final Task task = createTask( taskModel.getName() );
  -        setupLogger( task );
  +        final Task task = createTask( taskModel.getName(), frame );
  +        doLoggable( task, taskModel, frame.getLogger() );
   
           getLogger().debug( "Contextualizing" );
  -        doContextualize( task, taskModel, context );
  +        doContextualize( task, taskModel, frame.getContext() );
   
           getLogger().debug( "Composing" );
  -        doCompose( task, taskModel );
  +        doCompose( task, taskModel, frame.getComponentManager() );
   
           getLogger().debug( "Configuring" );
  -        doConfigure( task, taskModel, context );
  +        doConfigure( task, taskModel, frame.getContext() );
   
           getLogger().debug( "Initializing" );
           doInitialize( task, taskModel );
  @@ -88,12 +75,13 @@
           doDispose( task, taskModel );
       }
   
  -    protected final Task createTask( final String name )
  +    protected final Task createTask( final String name, final ExecutionFrame frame )
           throws TaskException
       {
           try
           {
  -            return (Task)m_factory.create( name );
  +            final TypeFactory factory = frame.getTypeManager().getFactory( Task.ROLE );
  +            return (Task)factory.create( name );
           }
           catch( final TypeException te )
           {
  @@ -111,16 +99,18 @@
           {
               throw new TaskException( "Error configuring task " +  taskModel.getName() + " at " +
                                        taskModel.getLocation() + "(Reason: " +
  -                                     throwable.getMessage() + ")" );
  +                                     throwable.getMessage() + ")", throwable );
           }
       }
   
  -    protected final void doCompose( final Task task, final Configuration taskModel )
  +    protected final void doCompose( final Task task, 
  +                                    final Configuration taskModel,
  +                                    final ComponentManager componentManager )
           throws TaskException
       {
           if( task instanceof Composable )
           {
  -            try { ((Composable)task).compose( m_componentManager ); }
  +            try { ((Composable)task).compose( componentManager ); }
               catch( final Throwable throwable )
               {
                   throw new TaskException( "Error composing task " +  taskModel.getName() + " at " +
  @@ -131,8 +121,8 @@
       }
   
       protected final void doContextualize( final Task task,
  -                                  final Configuration taskModel,
  -                                  final TaskContext context )
  +                                          final Configuration taskModel,
  +                                          final TaskContext context )
           throws TaskException
       {
           try
  @@ -160,6 +150,23 @@
               {
                   throw new TaskException( "Error disposing task " +  taskModel.getName() + " at " +
                                            taskModel.getLocation() + "(Reason: " +
  +                                         throwable.getMessage() + ")", throwable );
  +            }
  +        }
  +    }
  +
  +    protected final void doLoggable( final Task task, 
  +                                     final Configuration taskModel, 
  +                                     final Logger logger )
  +        throws TaskException
  +    {
  +        if( task instanceof Loggable )
  +        {
  +            try { ((Loggable)task).setLogger( logger ); }
  +            catch( final Throwable throwable )
  +            {
  +                throw new TaskException( "Error setting logger for task " +  taskModel.getName() + 
  +                                         " at " + taskModel.getLocation() + "(Reason: " +
                                            throwable.getMessage() + ")", throwable );
               }
           }
  
  
  
  1.4       +11 -9     jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/AspectAwareExecutor.java
  
  Index: AspectAwareExecutor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/AspectAwareExecutor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AspectAwareExecutor.java	2001/06/08 09:10:45	1.3
  +++ AspectAwareExecutor.java	2001/06/12 13:38:58	1.4
  @@ -14,6 +14,7 @@
   import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.avalon.framework.configuration.DefaultConfiguration;
  +import org.apache.log.Logger;
   import org.apache.myrmidon.api.Task;
   import org.apache.myrmidon.api.TaskContext;
   import org.apache.myrmidon.api.TaskException;
  @@ -48,12 +49,12 @@
           m_aspectManager = (AspectManager)componentManager.lookup( AspectManager.ROLE );
       }
   
  -    public void execute( final Configuration taskModel, final TaskContext context )
  +    public void execute( final Configuration taskModel, final ExecutionFrame frame )
           throws TaskException
       {
           try
           {
  -            executeTask( taskModel, context );
  +            executeTask( taskModel, frame );
           }
           catch( final TaskException te )
           {
  @@ -64,29 +65,30 @@
           }
       }
   
  -    private void executeTask( Configuration taskModel, final TaskContext context )
  +    private void executeTask( Configuration taskModel, final ExecutionFrame frame )
           throws TaskException
       {
           taskModel = getAspectManager().preCreate( taskModel );
           taskModel = prepareAspects( taskModel );
   
           getLogger().debug( "Pre-Create" );
  -        final Task task = createTask( taskModel.getName() );
  +        final Task task = createTask( taskModel.getName(), frame );
           getAspectManager().postCreate( task );
   
           getLogger().debug( "Pre-Loggable" );
  -        getAspectManager().preLoggable( getLogger() );
  -        setupLogger( task );
  +        final Logger logger = frame.getLogger();
  +        getAspectManager().preLoggable( logger );
  +        doLoggable( task, taskModel, logger );
   
           getLogger().debug( "Contextualizing" );
  -        doContextualize( task, taskModel, context );
  +        doContextualize( task, taskModel, frame.getContext() );
   
           getLogger().debug( "Composing" );
  -        doCompose( task, taskModel );
  +        doCompose( task, taskModel, frame.getComponentManager() );
   
           getLogger().debug( "Configuring" );
           getAspectManager().preConfigure( taskModel );
  -        doConfigure( task, taskModel, context );
  +        doConfigure( task, taskModel, frame.getContext() );
   
           getLogger().debug( "Initializing" );
           doInitialize( task, taskModel );