diff --git a/proposal/myrmidon/src/java/org/apache/ant/Main.java b/proposal/myrmidon/src/java/org/apache/ant/Main.java index 3bab8dec7..38045449b 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/Main.java +++ b/proposal/myrmidon/src/java/org/apache/ant/Main.java @@ -31,7 +31,6 @@ import org.apache.myrmidon.components.embeddor.MyrmidonEmbeddor; import org.apache.myrmidon.api.JavaVersion; import org.apache.myrmidon.api.TaskContext; 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.CLOption; import org.apache.avalon.excalibur.cli.CLUtil; diff --git a/proposal/myrmidon/src/java/org/apache/ant/modules/basic/Property.java b/proposal/myrmidon/src/java/org/apache/ant/modules/basic/Property.java index bef0bb3ff..09d33c16a 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/modules/basic/Property.java +++ b/proposal/myrmidon/src/java/org/apache/ant/modules/basic/Property.java @@ -12,7 +12,6 @@ import org.apache.ant.AntException; import org.apache.ant.convert.Converter; import org.apache.ant.tasklet.DataType; 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.ComponentManager; import org.apache.avalon.framework.component.Composable; diff --git a/proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java b/proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java index 65f0af028..3f5c8bec4 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java +++ b/proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java @@ -13,7 +13,7 @@ import java.net.URL; import org.apache.ant.AntException; import org.apache.myrmidon.api.AbstractTask; 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.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.ComponentException; @@ -34,13 +34,13 @@ public abstract class AbstractResourceRegisterer protected String m_classname; protected TskDeployer m_tskDeployer; protected DataTypeEngine m_dataTypeEngine; - protected TaskletEngine m_engine; + protected Executor m_engine; public void compose( final ComponentManager componentManager ) 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. lookup( "org.apache.ant.tasklet.engine.TskDeployer" ); diff --git a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java index 2692005b6..e759c8294 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java +++ b/proposal/myrmidon/src/java/org/apache/ant/modules/core/RegisterTasklet.java @@ -28,7 +28,7 @@ public class RegisterTasklet { if( null == classname ) { - try { m_tskDeployer.deployTasklet( name, url.toString(), url ); } + try { m_tskDeployer.deployTask( name, url.toString(), url ); } catch( final DeploymentException de ) { throw new AntException( "Failed deploying " + name + " from " + url, de ); diff --git a/proposal/myrmidon/src/java/org/apache/ant/project/DefaultProjectEngine.java b/proposal/myrmidon/src/java/org/apache/ant/project/DefaultProjectEngine.java index c10d92019..03f500275 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/project/DefaultProjectEngine.java +++ b/proposal/myrmidon/src/java/org/apache/ant/project/DefaultProjectEngine.java @@ -12,8 +12,7 @@ import java.util.Iterator; import org.apache.ant.AntException; import org.apache.myrmidon.api.DefaultTaskContext; 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.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Initializable; @@ -35,7 +34,7 @@ public class DefaultProjectEngine extends AbstractLoggable implements ProjectEngine, Composable { - protected TaskletEngine m_taskEngine; + protected Executor m_executor; protected ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport(); protected DefaultComponentManager m_componentManager; @@ -69,8 +68,8 @@ public class DefaultProjectEngine throws ComponentException { 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 ); //run task - m_taskEngine.execute( task, context ); + m_executor.execute( task, context ); //notify listeners task has ended m_listenerSupport.taskFinished(); diff --git a/proposal/myrmidon/src/java/org/apache/ant/project/ProjectEngine.java b/proposal/myrmidon/src/java/org/apache/ant/project/ProjectEngine.java index b4a535773..9692472ac 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/project/ProjectEngine.java +++ b/proposal/myrmidon/src/java/org/apache/ant/project/ProjectEngine.java @@ -9,7 +9,6 @@ package org.apache.ant.project; import org.apache.ant.AntException; import org.apache.myrmidon.api.TaskContext; -import org.apache.ant.tasklet.engine.TaskletEngine; import org.apache.avalon.framework.component.Component; /** diff --git a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTskDeployer.java b/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTskDeployer.java index 64174700c..7aed1adb5 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTskDeployer.java +++ b/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTskDeployer.java @@ -18,21 +18,22 @@ import java.util.zip.ZipFile; import org.apache.ant.convert.engine.ConverterEngine; import org.apache.ant.convert.engine.ConverterRegistry; 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.DefaultLocator; 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.DeploymentException; import org.apache.avalon.framework.camelot.Loader; import org.apache.avalon.framework.camelot.Registry; 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.myrmidon.components.executor.Executor; /** * This class deploys a .tsk file into a registry. @@ -43,12 +44,12 @@ public class DefaultTskDeployer extends AbstractDeployer 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. @@ -57,9 +58,9 @@ public class DefaultTskDeployer { super(); m_autoUndeploy = true; - m_type = "Tasklet"; + m_type = "Task"; } - + /** * Retrieve relevent services needed to deploy. * @@ -69,10 +70,10 @@ public class DefaultTskDeployer public void compose( final ComponentManager componentManager ) 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. lookup( "org.apache.ant.convert.engine.ConverterEngine" ); @@ -82,7 +83,7 @@ public class DefaultTskDeployer final DataTypeEngine dataTypeEngine = (DataTypeEngine)componentManager. lookup( "org.apache.ant.tasklet.engine.DataTypeEngine" ); - + m_dataTypeRegistry = dataTypeEngine.getRegistry(); } @@ -90,7 +91,7 @@ public class DefaultTskDeployer * Deploy a file. * Eventually this should be cached for performance reasons. * - * @param location the location + * @param location the location * @param file the file * @exception DeploymentException if an error occurs */ @@ -100,11 +101,11 @@ public class DefaultTskDeployer final ZipFile zipFile = DeployerUtil.getZipFileFor( file ); URL url = null; - + try { try { url = file.toURL(); } - catch( final MalformedURLException mue ) + catch( final MalformedURLException 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 { final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE ); @@ -127,9 +128,9 @@ public class DefaultTskDeployer final Configuration[] tasks = taskdefs.getChildren( "task" ); for( int i = 0; i < tasks.length; i++ ) { - handleTasklet( tasks[ i ], url ); + handleTask( tasks[ i ], url ); } - + final Configuration[] converters = taskdefs.getChildren( "converter" ); for( int i = 0; i < converters.length; i++ ) { @@ -147,14 +148,14 @@ public class DefaultTskDeployer throw new DeploymentException( "Malformed taskdefs.xml", ce ); } } - + public void deployConverter( String name, String location, URL url ) throws DeploymentException { checkDeployment( location, url ); final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) ); final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE ); - + try { final Configuration[] converters = taskdefs.getChildren( "converter" ); @@ -178,9 +179,9 @@ public class DefaultTskDeployer { checkDeployment( location, url ); final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) ); - final Configuration datatypedefs = + final Configuration datatypedefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE ); - + try { final Configuration[] datatypes = datatypedefs.getChildren( "datatype" ); @@ -198,14 +199,14 @@ public class DefaultTskDeployer 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 { checkDeployment( location, url ); final ZipFile zipFile = DeployerUtil.getZipFileFor( getFileFor( url ) ); final Configuration taskdefs = DeployerUtil.loadConfiguration( zipFile, TSKDEF_FILE ); - + try { final Configuration[] tasks = taskdefs.getChildren( "task" ); @@ -213,7 +214,7 @@ public class DefaultTskDeployer { if( tasks[ i ].getAttribute( "name" ).equals( name ) ) { - handleTasklet( tasks[ i ], url ); + handleTask( tasks[ i ], url ); break; } } @@ -223,20 +224,20 @@ public class DefaultTskDeployer 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 { final String name = converter.getAttribute( "classname" ); final String source = converter.getAttribute( "source" ); final String destination = converter.getAttribute( "destination" ); - + final DefaultConverterInfo info = new DefaultConverterInfo( source, destination ); - + try { m_converterInfoRegistry.register( name, info ); } catch( final RegistryException re ) { - throw new DeploymentException( "Error registering converter info " + + throw new DeploymentException( "Error registering converter info " + name + " due to " + re, re ); } @@ -246,48 +247,48 @@ public class DefaultTskDeployer try { m_converterRegistry.register( name, locator ); } catch( final RegistryException re ) { - throw new DeploymentException( "Error registering converter locator " + + throw new DeploymentException( "Error registering converter locator " + name + " due to " + re, re ); } - getLogger().debug( "Registered converter " + name + " that converts from " + + getLogger().debug( "Registered converter " + name + " that converts from " + source + " to " + destination ); } - - protected void handleTasklet( final Configuration task, final URL url ) + + private void handleTask( final Configuration task, final URL url ) throws DeploymentException, ConfigurationException { final String name = task.getAttribute( "name" ); final String classname = task.getAttribute( "classname" ); final DefaultLocator info = new DefaultLocator( classname, url ); - - try { m_taskletRegistry.register( name, info ); } + + try { m_taskRegistry.register( name, info ); } catch( final RegistryException re ) { throw new DeploymentException( "Error registering " + name + " due to " + 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 { final String name = datatype.getAttribute( "name" ); final String classname = datatype.getAttribute( "classname" ); - + final DefaultLocator info = new DefaultLocator( classname, url ); - + try { m_dataTypeRegistry.register( name, info ); } catch( final RegistryException re ) { throw new DeploymentException( "Error registering " + name + " due to " + re, re ); } - + getLogger().debug( "Registered datatype " + name + " as " + classname ); } } diff --git a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TskDeployer.java b/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TskDeployer.java index 0331623bb..a598f7206 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TskDeployer.java +++ b/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TskDeployer.java @@ -27,7 +27,7 @@ public interface TskDeployer void deployDataType( String name, String location, URL url ) throws DeploymentException; - void deployTasklet( String name, String location, URL url ) + void deployTask( String name, String location, URL url ) throws DeploymentException; } diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java index 3af50e00e..0d98ca9f1 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/MyrmidonEmbeddor.java @@ -13,7 +13,6 @@ import org.apache.ant.convert.engine.ConverterEngine; import org.apache.ant.project.ProjectBuilder; import org.apache.ant.project.ProjectEngine; import org.apache.ant.tasklet.engine.DataTypeEngine; -import org.apache.ant.tasklet.engine.TaskletEngine; import org.apache.ant.tasklet.engine.TskDeployer; import org.apache.avalon.excalibur.io.FileUtil; 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.DefaultComponentManager; 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.Parameters; import org.apache.myrmidon.api.JavaVersion; import org.apache.myrmidon.components.configurer.Configurer; +import org.apache.myrmidon.components.executor.Executor; /** * Default implementation of Ant runtime. @@ -41,7 +41,7 @@ public class MyrmidonEmbeddor { private ConverterEngine m_converterEngine; private DataTypeEngine m_dataTypeEngine; - private TaskletEngine m_taskEngine; + private Executor m_executor; private ProjectEngine m_projectEngine; private ProjectBuilder m_builder; @@ -127,7 +127,7 @@ public class MyrmidonEmbeddor { m_converterEngine = null; m_dataTypeEngine = null; - m_taskEngine = null; + m_executor = null; m_projectEngine = null; m_builder = null; m_deployer = null; @@ -163,7 +163,7 @@ public class MyrmidonEmbeddor defaults.setParameter( "ant.comp.datatype", "org.apache.ant.tasklet.engine.DefaultDataTypeEngine" ); defaults.setParameter( "ant.comp.task", - "org.apache.ant.tasklet.engine.DefaultTaskletEngine" ); + "org.apache.myrmidon.components.executor.DefaultExecutor" ); defaults.setParameter( "ant.comp.project", "org.apache.ant.project.DefaultProjectEngine" ); defaults.setParameter( "ant.comp.builder", @@ -185,7 +185,6 @@ public class MyrmidonEmbeddor { 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.convert.engine.ConverterEngine", m_converterEngine ); @@ -194,7 +193,9 @@ public class MyrmidonEmbeddor componentManager.put( "org.apache.ant.project.ProjectBuilder", m_builder ); componentManager.put( "org.apache.ant.tasklet.engine.TskDeployer", m_deployer ); 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.executor.Executor", m_executor ); return componentManager; } @@ -216,7 +217,7 @@ public class MyrmidonEmbeddor m_dataTypeEngine = (DataTypeEngine)createComponent( component, DataTypeEngine.class ); component = getParameter( "ant.comp.task" ); - m_taskEngine = (TaskletEngine)createComponent( component, TaskletEngine.class ); + m_executor = (Executor)createComponent( component, Executor.class ); component = getParameter( "ant.comp.project" ); m_projectEngine = (ProjectEngine)createComponent( component, ProjectEngine.class ); @@ -242,7 +243,7 @@ public class MyrmidonEmbeddor setupComponent( m_factory ); setupComponent( m_converterEngine ); setupComponent( m_dataTypeEngine ); - setupComponent( m_taskEngine ); + setupComponent( m_executor ); setupComponent( m_projectEngine ); setupComponent( m_builder ); setupComponent( m_deployer ); diff --git a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTaskletEngine.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java similarity index 94% rename from proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTaskletEngine.java rename to proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java index 9f5f8cf9b..d291f1e25 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultTaskletEngine.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java @@ -5,7 +5,7 @@ * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ -package org.apache.ant.tasklet.engine; +package org.apache.myrmidon.components.executor; import java.util.HashMap; 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.Composable; 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.Configuration; 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.components.configurer.Configurer; -public class DefaultTaskletEngine +public class DefaultExecutor extends AbstractLoggable - implements TaskletEngine, Composable + implements Executor, Composable { 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 ComponentManager m_componentManager; public Registry getRegistry() { - return m_locatorRegistry; + return m_registry; } /** @@ -64,6 +63,7 @@ public class DefaultTaskletEngine m_componentManager = componentManager; m_factory = (Factory)componentManager.lookup( "org.apache.avalon.framework.camelot.Factory" ); + m_configurer = (Configurer)componentManager. lookup( "org.apache.myrmidon.components.configurer.Configurer" ); } @@ -104,7 +104,7 @@ public class DefaultTaskletEngine { 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 ); } catch( final RegistryException re ) diff --git a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TaskletEngine.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java similarity index 89% rename from proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TaskletEngine.java rename to proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java index 799047544..b2180292f 100644 --- a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/TaskletEngine.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java @@ -5,29 +5,30 @@ * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ -package org.apache.ant.tasklet.engine; +package org.apache.myrmidon.components.executor; 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.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. * * @author Peter Donald */ -public interface TaskletEngine +public interface Executor extends Component { /** * Retrieve locator registry associated with engine. + * TODO: Remove this as it violates IOC * * @return the LocatorRegistry */ Registry getRegistry(); - + /** * execute a task. *