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:38:29 UTC

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

donaldp     01/06/12 06:38:29

  Added:       proposal/myrmidon/src/java/org/apache/myrmidon/components/executor
                        DefaultExecutionFrame.java
  Log:
  Default implementation of frame that just caches values passed to it.
  
  The exception being TypeManager which it uses to create a child TypeManager that is relevent to frame.
  
  Revision  Changes    Path
  1.1                  jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java
  
  Index: DefaultExecutionFrame.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.myrmidon.components.executor;
  
  import org.apache.avalon.framework.component.ComponentException;
  import org.apache.avalon.framework.component.ComponentManager;
  import org.apache.avalon.framework.component.Composable;
  import org.apache.avalon.framework.component.DefaultComponentManager;
  import org.apache.avalon.framework.context.Context;
  import org.apache.avalon.framework.context.Contextualizable;
  import org.apache.avalon.framework.logger.Loggable;
  import org.apache.log.Logger;
  import org.apache.myrmidon.api.TaskContext;
  import org.apache.myrmidon.components.aspect.AspectManager;
  import org.apache.myrmidon.components.builder.ProjectBuilder;
  import org.apache.myrmidon.components.configurer.Configurer;
  import org.apache.myrmidon.components.converter.ConverterRegistry;
  import org.apache.myrmidon.components.converter.MasterConverter;
  import org.apache.myrmidon.components.deployer.Deployer;
  import org.apache.myrmidon.components.deployer.RoleManager;
  import org.apache.myrmidon.components.executor.Executor;
  import org.apache.myrmidon.components.manager.ProjectManager;
  import org.apache.myrmidon.components.type.TypeManager;
  
  /**
   * Frames in which tasks are executed.
   *
   * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
   */
  public class DefaultExecutionFrame
      implements ExecutionFrame, Loggable, Contextualizable, Composable
  {
      private TypeManager              m_typeManager;
      private Logger                   m_logger;
      private TaskContext              m_context;
      private DefaultComponentManager  m_componentManager = new DefaultComponentManager();
  
      public void setLogger( final Logger logger )
      {
          m_logger = logger;
      }
  
      public void contextualize( final Context context )
      {
          m_context = (TaskContext)context;
      }
  
      /**
       * Retrieve relevent services needed to deploy.
       *
       * @param componentManager the ComponentManager
       * @exception ComponentException if an error occurs
       */
      public void compose( final ComponentManager componentManager )
          throws ComponentException
      {
  /*
          final RoleManager roleManager = (RoleManager)componentManager.lookup( RoleManager.ROLE );
          m_componentManager.put( RoleManager.ROLE, roleManager );
  
          final Configurer configurer = (Configurer)componentManager.lookup( Configurer.ROLE );
          m_componentManager.put( Configurer.ROLE, configurer );
  
          final MasterConverter masterConverter =
              (MasterConverter)componentManager.lookup( MasterConverter.ROLE );
          m_componentManager.put( MasterConverter.ROLE, masterConverter );
  
          final AspectManager aspectManager = (AspectManager)componentManager.lookup( AspectManager.ROLE );
          m_componentManager.put( AspectManager.ROLE, aspectManager );
  
          final Deployer deployer = (Deployer)componentManager.lookup( Deployer.ROLE );
          m_componentManager.put( Deployer.ROLE, deployer );
  
          final Executor executor = (Executor)componentManager.lookup( Executor.ROLE );
          m_componentManager.put( Executor.ROLE, executor );
  
          final ProjectManager projectManager =
              (ProjectManager)componentManager.lookup( ProjectManager.ROLE );
          m_componentManager.put( ProjectManager.ROLE, projectManager );
  
          final ProjectBuilder projectBuilder =
              (ProjectBuilder)componentManager.lookup( ProjectBuilder.ROLE );
          m_componentManager.put( ProjectBuilder.ROLE, projectBuilder );
  
          final ConverterRegistry converterRegistry =
              (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );
          m_componentManager.put( ConverterRegistry.ROLE, converterRegistry );
  */
          m_componentManager = new DefaultComponentManager( componentManager );
  
          //Extend from inherited version
          final TypeManager typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
          m_typeManager = typeManager.createChildTypeManager();
          //m_typeManager = typeManager;
          m_componentManager.put( TypeManager.ROLE, m_typeManager );
      }
  
      public TypeManager getTypeManager()
      {
          return m_typeManager;
      }
  
      public Logger getLogger()
      {
          return m_logger;
      }
  
      public TaskContext getContext()
      {
          return m_context;
      }
  
      public ComponentManager getComponentManager()
      {
          return m_componentManager;
      }
  }