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.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;


+ 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.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;


+ 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.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" );


+ 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 )
{
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 );


+ 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.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();


+ 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.myrmidon.api.TaskContext;
import org.apache.ant.tasklet.engine.TaskletEngine;
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.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 );
}
}

+ 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 )
throws DeploymentException;

void deployTasklet( String name, String location, URL url )
void deployTask( String name, String location, URL url )
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.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 );


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
* 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 )

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
* 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 <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/
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.
*

Loading…
Cancel
Save