diff --git a/proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java b/proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractTypeDefinition.java
similarity index 69%
rename from proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java
rename to proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractTypeDefinition.java
index e4605c1ae..7ea962a00 100644
--- a/proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractResourceRegisterer.java
+++ b/proposal/myrmidon/src/java/org/apache/ant/modules/core/AbstractTypeDefinition.java
@@ -10,8 +10,6 @@ package org.apache.ant.modules.core;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
-import org.apache.ant.tasklet.engine.DataTypeEngine;
-import org.apache.avalon.framework.camelot.RegistryException;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable;
@@ -19,31 +17,28 @@ import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.api.AbstractTask;
import org.apache.myrmidon.components.deployer.TskDeployer;
import org.apache.myrmidon.components.executor.Executor;
+import org.apache.myrmidon.components.type.TypeManager;
/**
- * Method to register a single tasklet.
+ * Method to register a a typeet.
*
* @author Peter Donald
*/
-public abstract class AbstractResourceRegisterer
+public abstract class AbstractTypeDefinition
extends AbstractTask
implements Composable
{
- protected String m_lib;
- protected String m_name;
- protected String m_classname;
- protected TskDeployer m_tskDeployer;
- protected DataTypeEngine m_dataTypeEngine;
- protected Executor m_engine;
+ private String m_lib;
+ private String m_name;
+ private String m_classname;
+ private TskDeployer m_tskDeployer;
+ private TypeManager m_typeManager;
public void compose( final ComponentManager componentManager )
throws ComponentException
{
- m_engine = (Executor)componentManager.lookup( Executor.ROLE );
+ m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
m_tskDeployer = (TskDeployer)componentManager.lookup( TskDeployer.ROLE );
-
- m_dataTypeEngine = (DataTypeEngine)componentManager.
- lookup( "org.apache.ant.tasklet.engine.DataTypeEngine" );
}
public void setLib( final String lib )
@@ -76,17 +71,20 @@ public abstract class AbstractResourceRegisterer
final URL url = getURL( m_lib );
- try
- {
- registerResource( m_name, m_classname, url );
- }
- catch( final RegistryException re )
- {
- throw new TaskException( "Error registering resource", re );
- }
+ registerResource( m_name, m_classname, url );
+ }
+
+ protected final TskDeployer getDeployer()
+ {
+ return m_tskDeployer;
+ }
+
+ protected final TypeManager getTypeManager()
+ {
+ return m_typeManager;
}
- protected URL getURL( final String libName )
+ private final URL getURL( final String libName )
throws TaskException
{
if( null != libName )
@@ -105,5 +103,5 @@ public abstract class AbstractResourceRegisterer
}
protected abstract void registerResource( String name, String classname, URL url )
- throws TaskException, RegistryException;
+ throws TaskException;
}
diff --git a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DataTypeEngine.java b/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DataTypeEngine.java
deleted file mode 100644
index e04ce99e7..000000000
--- a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DataTypeEngine.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) The Apache Software Foundation. All rights reserved.
- *
- * This software is published under the terms of the Apache Software License
- * version 1.1, a copy of which has been included with this distribution in
- * the LICENSE file.
- */
-package org.apache.ant.tasklet.engine;
-
-import org.apache.ant.tasklet.DataType;
-import org.apache.avalon.framework.component.Component;
-import org.apache.avalon.framework.camelot.FactoryException;
-import org.apache.avalon.framework.camelot.Registry;
-import org.apache.avalon.framework.camelot.RegistryException;
-
-/**
- * This is basically a engine that can be used to access data-types.
- * The engine acts as a repository and factory for these types.
- *
- * @author Peter Donald
- */
-public interface DataTypeEngine
- extends Component
-{
- /**
- * Retrieve registry of data-types.
- * This is used by deployer to add types into engine.
- *
- * @return the registry
- */
- Registry getRegistry();
-
- /**
- * Create a data-type of type registered under name.
- *
- * @param name the name of data type
- * @return the DataType
- * @exception RegistryException if an error occurs
- * @exception FactoryException if an error occurs
- */
- DataType createDataType( String name )
- throws RegistryException, FactoryException;
-}
diff --git a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultDataTypeEngine.java b/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultDataTypeEngine.java
deleted file mode 100644
index 96b5906a4..000000000
--- a/proposal/myrmidon/src/java/org/apache/ant/tasklet/engine/DefaultDataTypeEngine.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) The Apache Software Foundation. All rights reserved.
- *
- * This software is published under the terms of the Apache Software License
- * version 1.1, a copy of which has been included with this distribution in
- * the LICENSE file.
- */
-package org.apache.ant.tasklet.engine;
-
-import org.apache.ant.tasklet.DataType;
-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.component.Composable;
-import org.apache.avalon.framework.camelot.DefaultRegistry;
-import org.apache.avalon.framework.camelot.Factory;
-import org.apache.avalon.framework.camelot.FactoryException;
-import org.apache.avalon.framework.camelot.Locator;
-import org.apache.avalon.framework.camelot.Registry;
-import org.apache.avalon.framework.camelot.RegistryException;
-
-/**
- * This is basically a engine that can be used to access data-types.
- * The engine acts as a repository and factory for these types.
- *
- * @author Peter Donald
- */
-public class DefaultDataTypeEngine
- implements DataTypeEngine, Composable
-{
- protected Factory m_factory;
- protected Registry m_registry = new DefaultRegistry( Locator.class );
-
- /**
- * Retrieve registry of data-types.
- * This is used by deployer to add types into engine.
- *
- * @return the registry
- */
- public Registry getRegistry()
- {
- return m_registry;
- }
-
- /**
- * Retrieve relevent services needed to deploy.
- *
- * @param componentManager the ComponentManager
- * @exception ComponentException if an error occurs
- */
- public void compose( final ComponentManager componentManager )
- throws ComponentException
- {
- m_factory = (Factory)componentManager.lookup( "org.apache.avalon.framework.camelot.Factory" );
- }
-
- /**
- * Create a data-type of type registered under name.
- *
- * @param name the name of data type
- * @return the DataType
- * @exception RegistryException if an error occurs
- * @exception FactoryException if an error occurs
- */
- public DataType createDataType( final String name )
- throws RegistryException, FactoryException
- {
- final Locator locator = (Locator)m_registry.getInfo( name, Locator.class );
- return (DataType)m_factory.create( locator, DataType.class );
- }
-}
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java
index 441708b7b..3621932b0 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultTskDeployer.java
@@ -18,7 +18,6 @@ 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.ant.tasklet.engine.DataTypeEngine;
import org.apache.avalon.framework.camelot.AbstractDeployer;
import org.apache.avalon.framework.camelot.DefaultLocator;
import org.apache.avalon.framework.camelot.DefaultRegistry;
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 65fe6ad73..c057b1405 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
@@ -9,7 +9,6 @@ package org.apache.myrmidon.components.embeddor;
import java.io.File;
import org.apache.ant.convert.engine.ConverterEngine;
-import org.apache.ant.tasklet.engine.DataTypeEngine;
import org.apache.avalon.excalibur.io.FileUtil;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.camelot.CamelotUtil;
@@ -44,7 +43,6 @@ public class MyrmidonEmbeddor
private ProjectBuilder m_builder;
private TskDeployer m_deployer;
- private DataTypeEngine m_dataTypeEngine;
private TypeManager m_typeManager;
private ConverterEngine m_converterEngine;
@@ -139,7 +137,6 @@ public class MyrmidonEmbeddor
throws Exception
{
m_converterEngine = null;
- m_dataTypeEngine = null;
m_executor = null;
m_projectManager = null;
m_builder = null;
@@ -172,8 +169,6 @@ public class MyrmidonEmbeddor
//create all the default properties for components
defaults.setParameter( "org.apache.ant.convert.engine.ConverterEngine",
"org.apache.ant.convert.engine.DefaultConverterEngine" );
- defaults.setParameter( "org.apache.ant.tasklet.engine.DataTypeEngine",
- "org.apache.ant.tasklet.engine.DefaultDataTypeEngine" );
defaults.setParameter( TypeManager.ROLE,
"org.apache.myrmidon.components.type.DefaultTypeManager" );
@@ -203,7 +198,6 @@ public class MyrmidonEmbeddor
componentManager.put( "org.apache.ant.convert.engine.ConverterEngine",
m_converterEngine );
componentManager.put( "org.apache.ant.convert.Converter", m_converterEngine );
- componentManager.put( "org.apache.ant.tasklet.engine.DataTypeEngine", m_dataTypeEngine );
componentManager.put( "org.apache.avalon.framework.camelot.Factory", m_factory );
//Following components required when Myrmidon is used as build tool
@@ -239,9 +233,6 @@ public class MyrmidonEmbeddor
component = getParameter( Configurer.ROLE );
m_configurer = (Configurer)createComponent( component, Configurer.class );
- component = getParameter( "org.apache.ant.tasklet.engine.DataTypeEngine" );
- m_dataTypeEngine = (DataTypeEngine)createComponent( component, DataTypeEngine.class );
-
component = getParameter( TypeManager.ROLE );
m_typeManager = (TypeManager)createComponent( component, TypeManager.class );
@@ -268,7 +259,6 @@ public class MyrmidonEmbeddor
{
setupComponent( m_factory );
setupComponent( m_converterEngine );
- setupComponent( m_dataTypeEngine );
setupComponent( m_executor );
setupComponent( m_projectManager );
setupComponent( m_builder );
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java
index ccf3c897a..ee69ac5bc 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java
@@ -10,13 +10,6 @@ package org.apache.myrmidon.components.executor;
import org.apache.ant.convert.engine.ConverterEngine;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.camelot.DefaultFactory;
-import org.apache.avalon.framework.camelot.DefaultRegistry;
-import org.apache.avalon.framework.camelot.Factory;
-import org.apache.avalon.framework.camelot.FactoryException;
-import org.apache.avalon.framework.camelot.Locator;
-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;
@@ -41,18 +34,11 @@ public class DefaultExecutor
extends AbstractLoggable
implements Executor, Composable
{
- //private Factory m_factory;
- //private Registry m_registry = new DefaultRegistry( Locator.class );
private Configurer m_configurer;
private ComponentSelector m_selector;
private ComponentManager m_componentManager;
- public Registry getRegistry()
- {
- return null;//m_registry;
- }
-
/**
* Retrieve relevent services needed to deploy.
*
@@ -105,19 +91,11 @@ public class DefaultExecutor
try
{
return (Task)m_selector.select( name );
- //final Locator locator = (Locator)m_registry.getInfo( name, Locator.class );
- //return (Task)m_factory.create( locator, Task.class );
}
catch( final ComponentException ce )
{
throw new TaskException( "Unable to create task " + name, ce );
}
-/* catch( final RegistryException re )
- {
- throw new TaskException( "Unable to locate task " + name, re );
- }
- catch( final FactoryException fe )
-*/
}
private void doConfigure( final Task task,
diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java
index 5e563d897..2195fb9a6 100644
--- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java
+++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/Executor.java
@@ -7,7 +7,6 @@
*/
package org.apache.myrmidon.components.executor;
-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;
@@ -23,14 +22,6 @@ public interface Executor
{
String ROLE = "org.apache.myrmidon.components.executor.Executor";
- /**
- * Retrieve locator registry associated with engine.
- * TODO: Remove this as it violates IOC
- *
- * @return the LocatorRegistry
- */
- Registry getRegistry();
-
/**
* execute a task.
*