From 87f090a12ad700915e0728cc7836980f7793f36b Mon Sep 17 00:00:00 2001 From: Peter Donald Date: Tue, 12 Jun 2001 14:19:54 +0000 Subject: [PATCH] Moved getChildTypeManager to ProjectManager as havin in ExecutionFrame violates IOC and has not consistent with other approach for frame specific parameters. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269166 13f79535-47bb-0310-9956-ffa450edef68 --- .../components/executor/DefaultExecutionFrame.java | 11 ++++------- .../components/manager/DefaultProjectManager.java | 13 +++++++++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java index 871ad870e..8b975d4c9 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java @@ -36,9 +36,10 @@ 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(); + private ComponentManager m_componentManager; public void setLogger( final Logger logger ) { @@ -91,13 +92,9 @@ public class DefaultExecutionFrame (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE ); m_componentManager.put( ConverterRegistry.ROLE, converterRegistry ); */ - m_componentManager = new DefaultComponentManager( componentManager ); + m_componentManager = 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 ); + m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE ); } public TypeManager getTypeManager() diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/manager/DefaultProjectManager.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/manager/DefaultProjectManager.java index 0995c5672..d02ea6805 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/manager/DefaultProjectManager.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/manager/DefaultProjectManager.java @@ -32,6 +32,7 @@ import org.apache.myrmidon.components.executor.Executor; import org.apache.myrmidon.components.model.Condition; import org.apache.myrmidon.components.model.Project; import org.apache.myrmidon.components.model.Target; +import org.apache.myrmidon.components.type.TypeManager; import org.apache.myrmidon.listeners.ProjectListener; /** @@ -45,11 +46,12 @@ public class DefaultProjectManager { private Executor m_executor; private ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport(); - private DefaultComponentManager m_componentManager; + private ComponentManager m_componentManager; private Parameters m_parameters; private Project m_project; private TaskContext m_baseContext; private HashMap m_entrys = new HashMap(); + private TypeManager m_typeManager; /** * Add a listener to project events. @@ -80,8 +82,9 @@ public class DefaultProjectManager public void compose( final ComponentManager componentManager ) throws ComponentException { - m_componentManager = new DefaultComponentManager( componentManager ); + m_componentManager = componentManager; + m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE ); m_executor = (Executor)componentManager.lookup( Executor.ROLE ); m_project = (Project)componentManager.lookup( Project.ROLE ); } @@ -149,6 +152,10 @@ public class DefaultProjectManager final DefaultComponentManager componentManager = new DefaultComponentManager( m_componentManager ); + //Add in child type manager so each frame can register different + //sets of tasks etc + componentManager.put( TypeManager.ROLE, m_typeManager.createChildTypeManager() ); + //We need to place projects and ProjectManager //in ComponentManager so as to support project-local antcall componentManager.put( ProjectManager.ROLE, this ); @@ -162,8 +169,6 @@ public class DefaultProjectManager componentManager.put( Project.ROLE + "/" + name, other ); } - //Per frame TypeManager here... - final DefaultExecutionFrame frame = new DefaultExecutionFrame(); try