Browse Source

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
master
Peter Donald 24 years ago
parent
commit
87f090a12a
2 changed files with 13 additions and 11 deletions
  1. +4
    -7
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java
  2. +9
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/components/manager/DefaultProjectManager.java

+ 4
- 7
proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java View File

@@ -36,9 +36,10 @@ public class DefaultExecutionFrame
implements ExecutionFrame, Loggable, Contextualizable, Composable implements ExecutionFrame, Loggable, Contextualizable, Composable
{ {
private TypeManager m_typeManager; private TypeManager m_typeManager;

private Logger m_logger; private Logger m_logger;
private TaskContext m_context; private TaskContext m_context;
private DefaultComponentManager m_componentManager = new DefaultComponentManager();
private ComponentManager m_componentManager;


public void setLogger( final Logger logger ) public void setLogger( final Logger logger )
{ {
@@ -91,13 +92,9 @@ public class DefaultExecutionFrame
(ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE ); (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );
m_componentManager.put( ConverterRegistry.ROLE, converterRegistry ); 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() public TypeManager getTypeManager()


+ 9
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/components/manager/DefaultProjectManager.java View File

@@ -32,6 +32,7 @@ import org.apache.myrmidon.components.executor.Executor;
import org.apache.myrmidon.components.model.Condition; import org.apache.myrmidon.components.model.Condition;
import org.apache.myrmidon.components.model.Project; import org.apache.myrmidon.components.model.Project;
import org.apache.myrmidon.components.model.Target; import org.apache.myrmidon.components.model.Target;
import org.apache.myrmidon.components.type.TypeManager;
import org.apache.myrmidon.listeners.ProjectListener; import org.apache.myrmidon.listeners.ProjectListener;


/** /**
@@ -45,11 +46,12 @@ public class DefaultProjectManager
{ {
private Executor m_executor; private Executor m_executor;
private ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport(); private ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport();
private DefaultComponentManager m_componentManager;
private ComponentManager m_componentManager;
private Parameters m_parameters; private Parameters m_parameters;
private Project m_project; private Project m_project;
private TaskContext m_baseContext; private TaskContext m_baseContext;
private HashMap m_entrys = new HashMap(); private HashMap m_entrys = new HashMap();
private TypeManager m_typeManager;


/** /**
* Add a listener to project events. * Add a listener to project events.
@@ -80,8 +82,9 @@ public class DefaultProjectManager
public void compose( final ComponentManager componentManager ) public void compose( final ComponentManager componentManager )
throws ComponentException 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_executor = (Executor)componentManager.lookup( Executor.ROLE );
m_project = (Project)componentManager.lookup( Project.ROLE ); m_project = (Project)componentManager.lookup( Project.ROLE );
} }
@@ -149,6 +152,10 @@ public class DefaultProjectManager
final DefaultComponentManager componentManager = final DefaultComponentManager componentManager =
new DefaultComponentManager( m_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 //We need to place projects and ProjectManager
//in ComponentManager so as to support project-local antcall //in ComponentManager so as to support project-local antcall
componentManager.put( ProjectManager.ROLE, this ); componentManager.put( ProjectManager.ROLE, this );
@@ -162,8 +169,6 @@ public class DefaultProjectManager
componentManager.put( Project.ROLE + "/" + name, other ); componentManager.put( Project.ROLE + "/" + name, other );
} }


//Per frame TypeManager here...

final DefaultExecutionFrame frame = new DefaultExecutionFrame(); final DefaultExecutionFrame frame = new DefaultExecutionFrame();
try try


Loading…
Cancel
Save