Browse Source

Moved TaskletEngine-> myrmidon.components.executor

Changed name to match word class of other components and to enforce uniformity in conventions. (Also same practice as used in other projects which hopefully will mean it is easier to understand).


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269056 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 24 years ago
parent
commit
ad7ff5ac20
11 changed files with 86 additions and 87 deletions
  1. +0
    -1
      proposal/myrmidon/src/java/org/apache/ant/Main.java
  2. +0
    -1
      proposal/myrmidon/src/java/org/apache/ant/modules/basic/Property.java
  3. +4
    -4
      proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java
  4. +1
    -1
      proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java
  5. +5
    -6
      proposal/myrmidon/src/java/org/apache/ant/project/DefaultProjectEngine.java
  6. +0
    -1
      proposal/myrmidon/src/java/org/apache/ant/project/ProjectEngine.java
  7. +52
    -51
      proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTskDeployer.java
  8. +1
    -1
      proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TskDeployer.java
  9. +9
    -8
      proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java
  10. +7
    -7
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java
  11. +7
    -6
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java

+ 0
- 1
proposal/myrmidon/src/java/org/apache/ant/Main.java View File

@@ -31,7 +31,6 @@ import org.apache.myrmidon.components.embeddor.MyrmidonEmbeddor;
import org.apache.myrmidon.api.JavaVersion; import org.apache.myrmidon.api.JavaVersion;
import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.DefaultTaskContext; import org.apache.myrmidon.api.DefaultTaskContext;
import org.apache.ant.tasklet.engine.TaskletEngine;
import org.apache.avalon.excalibur.cli.CLArgsParser; import org.apache.avalon.excalibur.cli.CLArgsParser;
import org.apache.avalon.excalibur.cli.CLOption; import org.apache.avalon.excalibur.cli.CLOption;
import org.apache.avalon.excalibur.cli.CLUtil; import org.apache.avalon.excalibur.cli.CLUtil;


+ 0
- 1
proposal/myrmidon/src/java/org/apache/ant/modules/basic/Property.java View File

@@ -12,7 +12,6 @@ import org.apache.ant.AntException;
import org.apache.ant.convert.Converter; import org.apache.ant.convert.Converter;
import org.apache.ant.tasklet.DataType; import org.apache.ant.tasklet.DataType;
import org.apache.ant.tasklet.engine.DataTypeEngine; import org.apache.ant.tasklet.engine.DataTypeEngine;
import org.apache.ant.tasklet.engine.TaskletEngine;
import org.apache.avalon.framework.component.ComponentException; import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.component.Composable;


+ 4
- 4
proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java View File

@@ -13,7 +13,7 @@ import java.net.URL;
import org.apache.ant.AntException; import org.apache.ant.AntException;
import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.AbstractTask;
import org.apache.ant.tasklet.engine.TskDeployer; import org.apache.ant.tasklet.engine.TskDeployer;
import org.apache.ant.tasklet.engine.TaskletEngine;
import org.apache.myrmidon.components.executor.Executor;
import org.apache.ant.tasklet.engine.DataTypeEngine; import org.apache.ant.tasklet.engine.DataTypeEngine;
import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException; import org.apache.avalon.framework.component.ComponentException;
@@ -34,13 +34,13 @@ public abstract class AbstractResourceRegisterer
protected String m_classname; protected String m_classname;
protected TskDeployer m_tskDeployer; protected TskDeployer m_tskDeployer;
protected DataTypeEngine m_dataTypeEngine; protected DataTypeEngine m_dataTypeEngine;
protected TaskletEngine m_engine;
protected Executor m_engine;


public void compose( final ComponentManager componentManager ) public void compose( final ComponentManager componentManager )
throws ComponentException throws ComponentException
{ {
m_engine = (TaskletEngine)componentManager.
lookup( "org.apache.ant.tasklet.engine.TaskletEngine" );
m_engine = (Executor)componentManager.
lookup( "org.apache.myrmidon.components.executor.Executor" );


m_tskDeployer = (TskDeployer)componentManager. m_tskDeployer = (TskDeployer)componentManager.
lookup( "org.apache.ant.tasklet.engine.TskDeployer" ); lookup( "org.apache.ant.tasklet.engine.TskDeployer" );


+ 1
- 1
proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java View File

@@ -28,7 +28,7 @@ public class RegisterTasklet
{ {
if( null == classname ) if( null == classname )
{ {
try { m_tskDeployer.deployTasklet( name, url.toString(), url ); }
try { m_tskDeployer.deployTask( name, url.toString(), url ); }
catch( final DeploymentException de ) catch( final DeploymentException de )
{ {
throw new AntException( "Failed deploying " + name + " from " + url, de ); throw new AntException( "Failed deploying " + name + " from " + url, de );


+ 5
- 6
proposal/myrmidon/src/java/org/apache/ant/project/DefaultProjectEngine.java View File

@@ -12,8 +12,7 @@ import java.util.Iterator;
import org.apache.ant.AntException; import org.apache.ant.AntException;
import org.apache.myrmidon.api.DefaultTaskContext; import org.apache.myrmidon.api.DefaultTaskContext;
import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskContext;
import org.apache.ant.tasklet.engine.DefaultTaskletEngine;
import org.apache.ant.tasklet.engine.TaskletEngine;
import org.apache.myrmidon.components.executor.Executor;
import org.apache.ant.util.Condition; import org.apache.ant.util.Condition;
import org.apache.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.activity.Initializable;
@@ -35,7 +34,7 @@ public class DefaultProjectEngine
extends AbstractLoggable extends AbstractLoggable
implements ProjectEngine, Composable implements ProjectEngine, Composable
{ {
protected TaskletEngine m_taskEngine;
protected Executor m_executor;
protected ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport(); protected ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport();
protected DefaultComponentManager m_componentManager; protected DefaultComponentManager m_componentManager;


@@ -69,8 +68,8 @@ public class DefaultProjectEngine
throws ComponentException throws ComponentException
{ {
m_componentManager = (DefaultComponentManager)componentManager; m_componentManager = (DefaultComponentManager)componentManager;
m_taskEngine = (TaskletEngine)componentManager.
lookup( "org.apache.ant.tasklet.engine.TaskletEngine" );
m_executor = (Executor)componentManager.
lookup( "org.apache.myrmidon.components.executor.Executor" );
} }


/** /**
@@ -240,7 +239,7 @@ public class DefaultProjectEngine
m_listenerSupport.taskStarted( name ); m_listenerSupport.taskStarted( name );


//run task //run task
m_taskEngine.execute( task, context );
m_executor.execute( task, context );


//notify listeners task has ended //notify listeners task has ended
m_listenerSupport.taskFinished(); m_listenerSupport.taskFinished();


+ 0
- 1
proposal/myrmidon/src/java/org/apache/ant/project/ProjectEngine.java View File

@@ -9,7 +9,6 @@ package org.apache.ant.project;


import org.apache.ant.AntException; import org.apache.ant.AntException;
import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskContext;
import org.apache.ant.tasklet.engine.TaskletEngine;
import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.component.Component;


/** /**


+ 52
- 51
proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTskDeployer.java View File

@@ -18,21 +18,22 @@ import java.util.zip.ZipFile;
import org.apache.ant.convert.engine.ConverterEngine; import org.apache.ant.convert.engine.ConverterEngine;
import org.apache.ant.convert.engine.ConverterRegistry; import org.apache.ant.convert.engine.ConverterRegistry;
import org.apache.ant.convert.engine.DefaultConverterInfo; import org.apache.ant.convert.engine.DefaultConverterInfo;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.camelot.AbstractDeployer; import org.apache.avalon.framework.camelot.AbstractDeployer;
import org.apache.avalon.framework.camelot.DefaultLocator; import org.apache.avalon.framework.camelot.DefaultLocator;
import org.apache.avalon.framework.camelot.DefaultRegistry; import org.apache.avalon.framework.camelot.DefaultRegistry;
import org.apache.avalon.framework.camelot.DeploymentException;
import org.apache.avalon.framework.camelot.DeployerUtil; import org.apache.avalon.framework.camelot.DeployerUtil;
import org.apache.avalon.framework.camelot.DeploymentException;
import org.apache.avalon.framework.camelot.Loader; import org.apache.avalon.framework.camelot.Loader;
import org.apache.avalon.framework.camelot.Registry; import org.apache.avalon.framework.camelot.Registry;
import org.apache.avalon.framework.camelot.RegistryException; import org.apache.avalon.framework.camelot.RegistryException;
import org.apache.avalon.framework.component.Component;
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.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.log.Logger; import org.apache.log.Logger;
import org.apache.myrmidon.components.executor.Executor;


/** /**
* This class deploys a .tsk file into a registry. * This class deploys a .tsk file into a registry.
@@ -43,12 +44,12 @@ public class DefaultTskDeployer
extends AbstractDeployer extends AbstractDeployer
implements Composable, TskDeployer implements Composable, TskDeployer
{ {
protected final static String TSKDEF_FILE = "TASK-LIB/taskdefs.xml";
private final static String TSKDEF_FILE = "TASK-LIB/taskdefs.xml";


protected Registry m_dataTypeRegistry;
protected Registry m_taskletRegistry;
protected Registry m_converterRegistry;
protected ConverterRegistry m_converterInfoRegistry;
private Registry m_dataTypeRegistry;
private Registry m_taskRegistry;
private Registry m_converterRegistry;
private ConverterRegistry m_converterInfoRegistry;


/** /**
* Default constructor. * Default constructor.
@@ -57,9 +58,9 @@ public class DefaultTskDeployer
{ {
super(); super();
m_autoUndeploy = true; m_autoUndeploy = true;
m_type = "Tasklet";
m_type = "Task";
} }
/** /**
* Retrieve relevent services needed to deploy. * Retrieve relevent services needed to deploy.
* *
@@ -69,10 +70,10 @@ public class DefaultTskDeployer
public void compose( final ComponentManager componentManager ) public void compose( final ComponentManager componentManager )
throws ComponentException throws ComponentException
{ {
final TaskletEngine taskletEngine = (TaskletEngine)componentManager.
lookup( "org.apache.ant.tasklet.engine.TaskletEngine" );
m_taskletRegistry = taskletEngine.getRegistry();
//UGLY HACK alert !!!
final Executor executor = (Executor)componentManager.
lookup( "org.apache.myrmidon.components.executor.Executor" );
m_taskRegistry = executor.getRegistry();


final ConverterEngine converterEngine = (ConverterEngine)componentManager. final ConverterEngine converterEngine = (ConverterEngine)componentManager.
lookup( "org.apache.ant.convert.engine.ConverterEngine" ); lookup( "org.apache.ant.convert.engine.ConverterEngine" );
@@ -82,7 +83,7 @@ public class DefaultTskDeployer


final DataTypeEngine dataTypeEngine = (DataTypeEngine)componentManager. final DataTypeEngine dataTypeEngine = (DataTypeEngine)componentManager.
lookup( "org.apache.ant.tasklet.engine.DataTypeEngine" ); lookup( "org.apache.ant.tasklet.engine.DataTypeEngine" );
m_dataTypeRegistry = dataTypeEngine.getRegistry(); m_dataTypeRegistry = dataTypeEngine.getRegistry();
} }


@@ -90,7 +91,7 @@ public class DefaultTskDeployer
* Deploy a file. * Deploy a file.
* Eventually this should be cached for performance reasons. * Eventually this should be cached for performance reasons.
* *
* @param location the location
* @param location the location
* @param file the file * @param file the file
* @exception DeploymentException if an error occurs * @exception DeploymentException if an error occurs
*/ */
@@ -100,11 +101,11 @@ public class DefaultTskDeployer
final ZipFile zipFile = DeployerUtil.getZipFileFor( file ); final ZipFile zipFile = DeployerUtil.getZipFileFor( file );


URL url = null; URL url = null;
try try
{ {
try { url = file.toURL(); } try { url = file.toURL(); }
catch( final MalformedURLException mue )
catch( final MalformedURLException mue )
{ {
throw new DeploymentException( "Unable to form url", mue ); throw new DeploymentException( "Unable to form url", mue );
} }
@@ -117,7 +118,7 @@ public class DefaultTskDeployer
} }
} }


protected void loadResources( final ZipFile zipFile, final String location, final URL url )
private void loadResources( final ZipFile zipFile, final String location, final URL url )
throws DeploymentException throws DeploymentException
{ {
final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE ); final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE );
@@ -127,9 +128,9 @@ public class DefaultTskDeployer
final Configuration[] tasks = taskdefs.getChildren( "task" ); final Configuration[] tasks = taskdefs.getChildren( "task" );
for( int i = 0; i < tasks.length; i++ ) for( int i = 0; i < tasks.length; i++ )
{ {
handleTasklet( tasks[ i ], url );
handleTask( tasks[ i ], url );
} }
final Configuration[] converters = taskdefs.getChildren( "converter" ); final Configuration[] converters = taskdefs.getChildren( "converter" );
for( int i = 0; i < converters.length; i++ ) for( int i = 0; i < converters.length; i++ )
{ {
@@ -147,14 +148,14 @@ public class DefaultTskDeployer
throw new DeploymentException( "Malformed taskdefs.xml", ce ); throw new DeploymentException( "Malformed taskdefs.xml", ce );
} }
} }
public void deployConverter( String name, String location, URL url ) public void deployConverter( String name, String location, URL url )
throws DeploymentException throws DeploymentException
{ {
checkDeployment( location, url ); checkDeployment( location, url );
final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) ); final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) );
final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE ); final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE );
try try
{ {
final Configuration[] converters = taskdefs.getChildren( "converter" ); final Configuration[] converters = taskdefs.getChildren( "converter" );
@@ -178,9 +179,9 @@ public class DefaultTskDeployer
{ {
checkDeployment( location, url ); checkDeployment( location, url );
final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) ); final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) );
final Configuration datatypedefs =
final Configuration datatypedefs =
DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE ); DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE );
try try
{ {
final Configuration[] datatypes = datatypedefs.getChildren( "datatype" ); final Configuration[] datatypes = datatypedefs.getChildren( "datatype" );
@@ -198,14 +199,14 @@ public class DefaultTskDeployer
throw new DeploymentException( "Malformed taskdefs.xml", ce ); throw new DeploymentException( "Malformed taskdefs.xml", ce );
} }
} }
public void deployTasklet( final String name, final String location, final URL url )
public void deployTask( final String name, final String location, final URL url )
throws DeploymentException throws DeploymentException
{ {
checkDeployment( location, url ); checkDeployment( location, url );
final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) ); final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) );
final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE ); final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE );
try try
{ {
final Configuration[] tasks = taskdefs.getChildren( "task" ); final Configuration[] tasks = taskdefs.getChildren( "task" );
@@ -213,7 +214,7 @@ public class DefaultTskDeployer
{ {
if( tasks[ i ].getAttribute( "name" ).equals( name ) ) if( tasks[ i ].getAttribute( "name" ).equals( name ) )
{ {
handleTasklet( tasks[ i ], url );
handleTask( tasks[ i ], url );
break; break;
} }
} }
@@ -223,20 +224,20 @@ public class DefaultTskDeployer
throw new DeploymentException( "Malformed taskdefs.xml", ce ); throw new DeploymentException( "Malformed taskdefs.xml", ce );
} }
} }
protected void handleConverter( final Configuration converter, final URL url )
private void handleConverter( final Configuration converter, final URL url )
throws DeploymentException, ConfigurationException throws DeploymentException, ConfigurationException
{ {
final String name = converter.getAttribute( "classname" ); final String name = converter.getAttribute( "classname" );
final String source = converter.getAttribute( "source" ); final String source = converter.getAttribute( "source" );
final String destination = converter.getAttribute( "destination" ); final String destination = converter.getAttribute( "destination" );
final DefaultConverterInfo info = new DefaultConverterInfo( source, destination ); final DefaultConverterInfo info = new DefaultConverterInfo( source, destination );
try { m_converterInfoRegistry.register( name, info ); } try { m_converterInfoRegistry.register( name, info ); }
catch( final RegistryException re ) catch( final RegistryException re )
{ {
throw new DeploymentException( "Error registering converter info " +
throw new DeploymentException( "Error registering converter info " +
name + " due to " + re, name + " due to " + re,
re ); re );
} }
@@ -246,48 +247,48 @@ public class DefaultTskDeployer
try { m_converterRegistry.register( name, locator ); } try { m_converterRegistry.register( name, locator ); }
catch( final RegistryException re ) catch( final RegistryException re )
{ {
throw new DeploymentException( "Error registering converter locator " +
throw new DeploymentException( "Error registering converter locator " +
name + " due to " + re, name + " due to " + re,
re ); re );
} }


getLogger().debug( "Registered converter " + name + " that converts from " +
getLogger().debug( "Registered converter " + name + " that converts from " +
source + " to " + destination ); source + " to " + destination );
} }
protected void handleTasklet( final Configuration task, final URL url )
private void handleTask( final Configuration task, final URL url )
throws DeploymentException, ConfigurationException throws DeploymentException, ConfigurationException
{ {
final String name = task.getAttribute( "name" ); final String name = task.getAttribute( "name" );
final String classname = task.getAttribute( "classname" ); final String classname = task.getAttribute( "classname" );


final DefaultLocator info = new DefaultLocator( classname, url ); final DefaultLocator info = new DefaultLocator( classname, url );
try { m_taskletRegistry.register( name, info ); }
try { m_taskRegistry.register( name, info ); }
catch( final RegistryException re ) catch( final RegistryException re )
{ {
throw new DeploymentException( "Error registering " + name + " due to " + re, throw new DeploymentException( "Error registering " + name + " due to " + re,
re ); re );
} }
getLogger().debug( "Registered tasklet " + name + " as " + classname );
getLogger().debug( "Registered task " + name + " as " + classname );
} }
protected void handleDataType( final Configuration datatype, final URL url )
private void handleDataType( final Configuration datatype, final URL url )
throws DeploymentException, ConfigurationException throws DeploymentException, ConfigurationException
{ {
final String name = datatype.getAttribute( "name" ); final String name = datatype.getAttribute( "name" );
final String classname = datatype.getAttribute( "classname" ); final String classname = datatype.getAttribute( "classname" );
final DefaultLocator info = new DefaultLocator( classname, url ); final DefaultLocator info = new DefaultLocator( classname, url );
try { m_dataTypeRegistry.register( name, info ); } try { m_dataTypeRegistry.register( name, info ); }
catch( final RegistryException re ) catch( final RegistryException re )
{ {
throw new DeploymentException( "Error registering " + name + " due to " + re, throw new DeploymentException( "Error registering " + name + " due to " + re,
re ); re );
} }
getLogger().debug( "Registered datatype " + name + " as " + classname ); getLogger().debug( "Registered datatype " + name + " as " + classname );
} }
} }

+ 1
- 1
proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TskDeployer.java View File

@@ -27,7 +27,7 @@ public interface TskDeployer
void deployDataType( String name, String location, URL url ) void deployDataType( String name, String location, URL url )
throws DeploymentException; throws DeploymentException;


void deployTasklet( String name, String location, URL url )
void deployTask( String name, String location, URL url )
throws DeploymentException; throws DeploymentException;
} }



+ 9
- 8
proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java View File

@@ -13,7 +13,6 @@ import org.apache.ant.convert.engine.ConverterEngine;
import org.apache.ant.project.ProjectBuilder; import org.apache.ant.project.ProjectBuilder;
import org.apache.ant.project.ProjectEngine; import org.apache.ant.project.ProjectEngine;
import org.apache.ant.tasklet.engine.DataTypeEngine; import org.apache.ant.tasklet.engine.DataTypeEngine;
import org.apache.ant.tasklet.engine.TaskletEngine;
import org.apache.ant.tasklet.engine.TskDeployer; import org.apache.ant.tasklet.engine.TskDeployer;
import org.apache.avalon.excalibur.io.FileUtil; import org.apache.avalon.excalibur.io.FileUtil;
import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.activity.Initializable;
@@ -25,10 +24,11 @@ import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.component.DefaultComponentManager; import org.apache.avalon.framework.component.DefaultComponentManager;
import org.apache.avalon.framework.logger.AbstractLoggable; import org.apache.avalon.framework.logger.AbstractLoggable;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.parameters.Parameterizable; import org.apache.avalon.framework.parameters.Parameterizable;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.myrmidon.api.JavaVersion; import org.apache.myrmidon.api.JavaVersion;
import org.apache.myrmidon.components.configurer.Configurer; import org.apache.myrmidon.components.configurer.Configurer;
import org.apache.myrmidon.components.executor.Executor;


/** /**
* Default implementation of Ant runtime. * Default implementation of Ant runtime.
@@ -41,7 +41,7 @@ public class MyrmidonEmbeddor
{ {
private ConverterEngine m_converterEngine; private ConverterEngine m_converterEngine;
private DataTypeEngine m_dataTypeEngine; private DataTypeEngine m_dataTypeEngine;
private TaskletEngine m_taskEngine;
private Executor m_executor;
private ProjectEngine m_projectEngine; private ProjectEngine m_projectEngine;


private ProjectBuilder m_builder; private ProjectBuilder m_builder;
@@ -127,7 +127,7 @@ public class MyrmidonEmbeddor
{ {
m_converterEngine = null; m_converterEngine = null;
m_dataTypeEngine = null; m_dataTypeEngine = null;
m_taskEngine = null;
m_executor = null;
m_projectEngine = null; m_projectEngine = null;
m_builder = null; m_builder = null;
m_deployer = null; m_deployer = null;
@@ -163,7 +163,7 @@ public class MyrmidonEmbeddor
defaults.setParameter( "ant.comp.datatype", defaults.setParameter( "ant.comp.datatype",
"org.apache.ant.tasklet.engine.DefaultDataTypeEngine" ); "org.apache.ant.tasklet.engine.DefaultDataTypeEngine" );
defaults.setParameter( "ant.comp.task", defaults.setParameter( "ant.comp.task",
"org.apache.ant.tasklet.engine.DefaultTaskletEngine" );
"org.apache.myrmidon.components.executor.DefaultExecutor" );
defaults.setParameter( "ant.comp.project", defaults.setParameter( "ant.comp.project",
"org.apache.ant.project.DefaultProjectEngine" ); "org.apache.ant.project.DefaultProjectEngine" );
defaults.setParameter( "ant.comp.builder", defaults.setParameter( "ant.comp.builder",
@@ -185,7 +185,6 @@ public class MyrmidonEmbeddor
{ {
final DefaultComponentManager componentManager = new DefaultComponentManager(); final DefaultComponentManager componentManager = new DefaultComponentManager();


componentManager.put( "org.apache.ant.tasklet.engine.TaskletEngine", m_taskEngine );
componentManager.put( "org.apache.ant.project.ProjectEngine", m_projectEngine ); componentManager.put( "org.apache.ant.project.ProjectEngine", m_projectEngine );
componentManager.put( "org.apache.ant.convert.engine.ConverterEngine", componentManager.put( "org.apache.ant.convert.engine.ConverterEngine",
m_converterEngine ); m_converterEngine );
@@ -194,7 +193,9 @@ public class MyrmidonEmbeddor
componentManager.put( "org.apache.ant.project.ProjectBuilder", m_builder ); componentManager.put( "org.apache.ant.project.ProjectBuilder", m_builder );
componentManager.put( "org.apache.ant.tasklet.engine.TskDeployer", m_deployer ); componentManager.put( "org.apache.ant.tasklet.engine.TskDeployer", m_deployer );
componentManager.put( "org.apache.avalon.framework.camelot.Factory", m_factory ); componentManager.put( "org.apache.avalon.framework.camelot.Factory", m_factory );

componentManager.put( "org.apache.myrmidon.components.configurer.Configurer", m_configurer ); componentManager.put( "org.apache.myrmidon.components.configurer.Configurer", m_configurer );
componentManager.put( "org.apache.myrmidon.components.executor.Executor", m_executor );


return componentManager; return componentManager;
} }
@@ -216,7 +217,7 @@ public class MyrmidonEmbeddor
m_dataTypeEngine = (DataTypeEngine)createComponent( component, DataTypeEngine.class ); m_dataTypeEngine = (DataTypeEngine)createComponent( component, DataTypeEngine.class );


component = getParameter( "ant.comp.task" ); component = getParameter( "ant.comp.task" );
m_taskEngine = (TaskletEngine)createComponent( component, TaskletEngine.class );
m_executor = (Executor)createComponent( component, Executor.class );


component = getParameter( "ant.comp.project" ); component = getParameter( "ant.comp.project" );
m_projectEngine = (ProjectEngine)createComponent( component, ProjectEngine.class ); m_projectEngine = (ProjectEngine)createComponent( component, ProjectEngine.class );
@@ -242,7 +243,7 @@ public class MyrmidonEmbeddor
setupComponent( m_factory ); setupComponent( m_factory );
setupComponent( m_converterEngine ); setupComponent( m_converterEngine );
setupComponent( m_dataTypeEngine ); setupComponent( m_dataTypeEngine );
setupComponent( m_taskEngine );
setupComponent( m_executor );
setupComponent( m_projectEngine ); setupComponent( m_projectEngine );
setupComponent( m_builder ); setupComponent( m_builder );
setupComponent( m_deployer ); setupComponent( m_deployer );


proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTaskletEngine.java → proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java View File

@@ -5,7 +5,7 @@
* version 1.1, a copy of which has been included with this distribution in * version 1.1, a copy of which has been included with this distribution in
* the LICENSE file. * the LICENSE file.
*/ */
package org.apache.ant.tasklet.engine;
package org.apache.myrmidon.components.executor;


import java.util.HashMap; import java.util.HashMap;
import org.apache.ant.AntException; import org.apache.ant.AntException;
@@ -24,7 +24,6 @@ import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable; import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.component.DefaultComponentManager; import org.apache.avalon.framework.component.DefaultComponentManager;
import org.apache.avalon.framework.component.DefaultComponentManager;
import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.Context;
@@ -36,19 +35,19 @@ import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.components.configurer.Configurer; import org.apache.myrmidon.components.configurer.Configurer;


public class DefaultTaskletEngine
public class DefaultExecutor
extends AbstractLoggable extends AbstractLoggable
implements TaskletEngine, Composable
implements Executor, Composable
{ {
protected Factory m_factory; protected Factory m_factory;
protected Registry m_locatorRegistry = new DefaultRegistry( Locator.class );
protected Registry m_registry = new DefaultRegistry( Locator.class );
protected Configurer m_configurer; protected Configurer m_configurer;


protected ComponentManager m_componentManager; protected ComponentManager m_componentManager;


public Registry getRegistry() public Registry getRegistry()
{ {
return m_locatorRegistry;
return m_registry;
} }


/** /**
@@ -64,6 +63,7 @@ public class DefaultTaskletEngine
m_componentManager = componentManager; m_componentManager = componentManager;


m_factory = (Factory)componentManager.lookup( "org.apache.avalon.framework.camelot.Factory" ); m_factory = (Factory)componentManager.lookup( "org.apache.avalon.framework.camelot.Factory" );

m_configurer = (Configurer)componentManager. m_configurer = (Configurer)componentManager.
lookup( "org.apache.myrmidon.components.configurer.Configurer" ); lookup( "org.apache.myrmidon.components.configurer.Configurer" );
} }
@@ -104,7 +104,7 @@ public class DefaultTaskletEngine
{ {
try try
{ {
final Locator locator = (Locator)m_locatorRegistry.getInfo( name, Locator.class );
final Locator locator = (Locator)m_registry.getInfo( name, Locator.class );
return (Task)m_factory.create( locator, Task.class ); return (Task)m_factory.create( locator, Task.class );
} }
catch( final RegistryException re ) catch( final RegistryException re )

proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TaskletEngine.java → proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java View File

@@ -5,29 +5,30 @@
* version 1.1, a copy of which has been included with this distribution in * version 1.1, a copy of which has been included with this distribution in
* the LICENSE file. * the LICENSE file.
*/ */
package org.apache.ant.tasklet.engine;
package org.apache.myrmidon.components.executor;


import org.apache.ant.AntException; import org.apache.ant.AntException;
import org.apache.myrmidon.api.TaskContext;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.camelot.Registry; import org.apache.avalon.framework.camelot.Registry;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.myrmidon.api.TaskContext;
/** /**
* Engine inteface that should be implemented by all tasklet engines. * Engine inteface that should be implemented by all tasklet engines.
* *
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a> * @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/ */
public interface TaskletEngine
public interface Executor
extends Component extends Component
{ {
/** /**
* Retrieve locator registry associated with engine. * Retrieve locator registry associated with engine.
* TODO: Remove this as it violates IOC
* *
* @return the LocatorRegistry * @return the LocatorRegistry
*/ */
Registry getRegistry(); Registry getRegistry();
/** /**
* execute a task. * execute a task.
* *

Loading…
Cancel
Save