Browse Source

Rename myrmidons ServiceManager stuff to AntServiceManager

Refactored the codebase to use Avalons ServiceManager rather than ComponentManager. The reason for this is that the ComponentManager required that contained objects implement the Component interface while the ServiceManager constructs do not have this requirement.

This makes it much easier to extract parts of Myrmidon without any dependency on Ant/Avalon


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271495 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 23 years ago
parent
commit
7edeb4e678
43 changed files with 316 additions and 349 deletions
  1. BIN
      proposal/myrmidon/lib/avalon-framework-21022002.jar
  2. +1
    -3
      proposal/myrmidon/src/java/org/apache/aut/vfs/FileSystemManager.java
  3. +9
    -8
      proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/ClassicConfigurer.java
  4. +17
    -11
      proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/DefaultConfigurer.java
  5. +13
    -14
      proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultMasterConverter.java
  6. +0
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/ClassLoaderManager.java
  7. +8
    -8
      proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultClassLoaderManager.java
  8. +19
    -19
      proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultDeployer.java
  9. +19
    -24
      proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java
  10. +8
    -8
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/AspectAwareExecutor.java
  11. +9
    -9
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java
  12. +25
    -18
      proposal/myrmidon/src/java/org/apache/myrmidon/components/service/DefaultAntServiceManager.java
  13. +0
    -54
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/ComponentManagerAdaptor.java
  14. +1
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultExecutionFrame.java
  15. +6
    -6
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultTaskContext.java
  16. +29
    -30
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultWorkspace.java
  17. +54
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/ServiceManagerAdaptor.java
  18. +0
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/Condition.java
  19. +5
    -5
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/factorys/ExecManagerFactory.java
  20. +3
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/factorys/VfsManagerFactory.java
  21. +1
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/aspect/AspectManager.java
  22. +1
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/builder/ProjectBuilder.java
  23. +0
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/configurer/Configurer.java
  24. +0
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/converter/ConverterRegistry.java
  25. +1
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/converter/MasterConverter.java
  26. +4
    -6
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/deployer/Deployer.java
  27. +1
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/embeddor/Embeddor.java
  28. +0
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/executor/Executor.java
  29. +1
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/extensions/ExtensionManager.java
  30. +0
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/model/Project.java
  31. +0
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/role/RoleManager.java
  32. +4
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/AntServiceException.java
  33. +4
    -7
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/AntServiceManager.java
  34. +8
    -8
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/MultiSourceServiceManager.java
  35. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/ServiceFactory.java
  36. +0
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/type/TypeManager.java
  37. +0
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/workspace/Workspace.java
  38. +26
    -28
      proposal/myrmidon/src/test/org/apache/myrmidon/components/AbstractComponentTest.java
  39. +3
    -3
      proposal/myrmidon/src/test/org/apache/myrmidon/components/configurer/DefaultConfigurerTest.java
  40. +3
    -3
      proposal/myrmidon/src/test/org/apache/myrmidon/components/deployer/DefaultDeployerTest.java
  41. +26
    -28
      proposal/myrmidon/src/testcases/org/apache/myrmidon/components/AbstractComponentTest.java
  42. +3
    -3
      proposal/myrmidon/src/testcases/org/apache/myrmidon/components/configurer/DefaultConfigurerTest.java
  43. +3
    -3
      proposal/myrmidon/src/testcases/org/apache/myrmidon/components/deployer/DefaultDeployerTest.java

BIN
proposal/myrmidon/lib/avalon-framework-21022002.jar View File


+ 1
- 3
proposal/myrmidon/src/java/org/apache/aut/vfs/FileSystemManager.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.aut.vfs; package org.apache.aut.vfs;


import org.apache.avalon.framework.component.Component;
import java.io.File; import java.io.File;


/** /**
@@ -53,7 +52,6 @@ import java.io.File;
* @author Adam Murdoch * @author Adam Murdoch
*/ */
public interface FileSystemManager public interface FileSystemManager
extends Component
{ {
String ROLE = FileSystemManager.class.getName(); String ROLE = FileSystemManager.class.getName();


@@ -107,5 +105,5 @@ public interface FileSystemManager
* On error parsing the file name. * On error parsing the file name.
* *
*/ */
FileObject resolveFile ( File baseFile, String name ) throws FileSystemException;
FileObject resolveFile( File baseFile, String name ) throws FileSystemException;
} }

+ 9
- 8
proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/ClassicConfigurer.java View File

@@ -12,15 +12,15 @@ import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
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.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.configuration.ConfigurationException; import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.LogEnabled; import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.aut.converter.ConverterException; import org.apache.aut.converter.ConverterException;
import org.apache.myrmidon.interfaces.configurer.Configurer; import org.apache.myrmidon.interfaces.configurer.Configurer;
import org.apache.myrmidon.interfaces.converter.MasterConverter; import org.apache.myrmidon.interfaces.converter.MasterConverter;
@@ -32,7 +32,7 @@ import org.apache.myrmidon.interfaces.converter.MasterConverter;
*/ */
public class ClassicConfigurer public class ClassicConfigurer
extends AbstractLogEnabled extends AbstractLogEnabled
implements Configurer, Composable, LogEnabled
implements Configurer, Serviceable, LogEnabled
{ {
private static final Resources REZ = private static final Resources REZ =
ResourceManager.getPackageResources( DefaultConfigurer.class ); ResourceManager.getPackageResources( DefaultConfigurer.class );
@@ -43,10 +43,10 @@ public class ClassicConfigurer
///Converter to use for converting between values ///Converter to use for converting between values
private MasterConverter m_converter; private MasterConverter m_converter;


public void compose( final ComponentManager componentManager )
throws ComponentException
public void service( final ServiceManager serviceManager )
throws ServiceException
{ {
m_converter = (MasterConverter)componentManager.lookup( MasterConverter.ROLE );
m_converter = (MasterConverter)serviceManager.lookup( MasterConverter.ROLE );
} }


/** /**
@@ -81,7 +81,8 @@ public class ClassicConfigurer
getLogger().debug( message ); getLogger().debug( message );
} }


( (Configurable)object ).configure( configuration );
final Configurable configurable = (Configurable)object;
configurable.configure( configuration );
} }
else else
{ {


+ 17
- 11
proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/DefaultConfigurer.java View File

@@ -11,17 +11,17 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.CascadingException;
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.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.configuration.ConfigurationException; import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.ContextException; import org.apache.avalon.framework.context.ContextException;
import org.apache.avalon.framework.context.Resolvable;
import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.LogEnabled; import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.myrmidon.framework.DataType; import org.apache.myrmidon.framework.DataType;
import org.apache.myrmidon.interfaces.configurer.Configurer; import org.apache.myrmidon.interfaces.configurer.Configurer;
import org.apache.myrmidon.interfaces.converter.MasterConverter; import org.apache.myrmidon.interfaces.converter.MasterConverter;
@@ -38,7 +38,7 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
*/ */
public class DefaultConfigurer public class DefaultConfigurer
extends AbstractLogEnabled extends AbstractLogEnabled
implements Configurer, Composable, LogEnabled
implements Configurer, Serviceable, LogEnabled
{ {
private final static Resources REZ = private final static Resources REZ =
ResourceManager.getPackageResources( DefaultConfigurer.class ); ResourceManager.getPackageResources( DefaultConfigurer.class );
@@ -56,12 +56,12 @@ public class DefaultConfigurer
///ObjectConfigurer for that class. ///ObjectConfigurer for that class.
private Map m_configurerCache = new HashMap(); private Map m_configurerCache = new HashMap();


public void compose( final ComponentManager componentManager )
throws ComponentException
public void service( final ServiceManager serviceManager )
throws ServiceException
{ {
m_converter = (MasterConverter)componentManager.lookup( MasterConverter.ROLE );
m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
m_roleManager = (RoleManager)componentManager.lookup( RoleManager.ROLE );
m_converter = (MasterConverter)serviceManager.lookup( MasterConverter.ROLE );
m_typeManager = (TypeManager)serviceManager.lookup( TypeManager.ROLE );
m_roleManager = (RoleManager)serviceManager.lookup( RoleManager.ROLE );
} }


/** /**
@@ -391,8 +391,14 @@ public class DefaultConfigurer
Object objValue = PropertyUtil.resolveProperty( value, context, false ); Object objValue = PropertyUtil.resolveProperty( value, context, false );


// Convert the value to the appropriate type // Convert the value to the appropriate type

Object converterContext = context;
if( context instanceof Resolvable )
{
converterContext = ( (Resolvable)context ).resolve( context );
}
final Class clazz = setter.getType(); final Class clazz = setter.getType();
objValue = m_converter.convert( clazz, objValue, context );
objValue = m_converter.convert( clazz, objValue, converterContext );


// Set the value // Set the value
setter.addValue( state, objValue ); setter.addValue( state, objValue );


+ 13
- 14
proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultMasterConverter.java View File

@@ -7,15 +7,14 @@
*/ */
package org.apache.myrmidon.components.converter; package org.apache.myrmidon.components.converter;


import org.apache.aut.converter.Converter;
import org.apache.aut.converter.ConverterException;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
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.context.Context;
import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.aut.converter.Converter;
import org.apache.aut.converter.ConverterException;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.myrmidon.interfaces.converter.ConverterRegistry; import org.apache.myrmidon.interfaces.converter.ConverterRegistry;
import org.apache.myrmidon.interfaces.converter.MasterConverter; import org.apache.myrmidon.interfaces.converter.MasterConverter;
import org.apache.myrmidon.interfaces.type.TypeException; import org.apache.myrmidon.interfaces.type.TypeException;
@@ -30,7 +29,7 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
*/ */
public class DefaultMasterConverter public class DefaultMasterConverter
extends AbstractLogEnabled extends AbstractLogEnabled
implements MasterConverter, Composable
implements MasterConverter, Serviceable
{ {
private final static Resources REZ = private final static Resources REZ =
ResourceManager.getPackageResources( DefaultMasterConverter.class ); ResourceManager.getPackageResources( DefaultMasterConverter.class );
@@ -43,15 +42,15 @@ public class DefaultMasterConverter
/** /**
* Retrieve relevent services needed to deploy. * Retrieve relevent services needed to deploy.
* *
* @param componentManager the ComponentManager
* @exception ComponentException if an error occurs
* @param serviceManager the ServiceManager
* @exception ServiceException if an error occurs
*/ */
public void compose( final ComponentManager componentManager )
throws ComponentException
public void service( final ServiceManager serviceManager )
throws ServiceException
{ {
m_registry = (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );
m_registry = (ConverterRegistry)serviceManager.lookup( ConverterRegistry.ROLE );


final TypeManager typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
final TypeManager typeManager = (TypeManager)serviceManager.lookup( TypeManager.ROLE );
try try
{ {
m_factory = typeManager.getFactory( Converter.class ); m_factory = typeManager.getFactory( Converter.class );
@@ -59,7 +58,7 @@ public class DefaultMasterConverter
catch( final TypeException te ) catch( final TypeException te )
{ {
final String message = REZ.getString( "no-converter-factory.error" ); final String message = REZ.getString( "no-converter-factory.error" );
throw new ComponentException( message, te );
throw new ServiceException( message, te );
} }
} }




+ 0
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/ClassLoaderManager.java View File

@@ -8,7 +8,6 @@
package org.apache.myrmidon.components.deployer; package org.apache.myrmidon.components.deployer;


import java.io.File; import java.io.File;
import org.apache.avalon.framework.component.Component;
import org.apache.myrmidon.interfaces.deployer.DeploymentException; import org.apache.myrmidon.interfaces.deployer.DeploymentException;


/** /**
@@ -17,7 +16,6 @@ import org.apache.myrmidon.interfaces.deployer.DeploymentException;
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
*/ */
public interface ClassLoaderManager public interface ClassLoaderManager
extends Component
{ {
String ROLE = ClassLoaderManager.class.getName(); String ROLE = ClassLoaderManager.class.getName();




+ 8
- 8
proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultClassLoaderManager.java View File

@@ -23,10 +23,10 @@ import org.apache.avalon.excalibur.extension.PackageManager;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.activity.Initializable;
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.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.myrmidon.interfaces.deployer.DeploymentException; import org.apache.myrmidon.interfaces.deployer.DeploymentException;
import org.apache.myrmidon.interfaces.extensions.ExtensionManager; import org.apache.myrmidon.interfaces.extensions.ExtensionManager;


@@ -37,7 +37,7 @@ import org.apache.myrmidon.interfaces.extensions.ExtensionManager;
*/ */
public class DefaultClassLoaderManager public class DefaultClassLoaderManager
extends AbstractLogEnabled extends AbstractLogEnabled
implements ClassLoaderManager, Composable, Initializable
implements ClassLoaderManager, Serviceable, Initializable
{ {
private final static Resources REZ = private final static Resources REZ =
ResourceManager.getPackageResources( DefaultClassLoaderManager.class ); ResourceManager.getPackageResources( DefaultClassLoaderManager.class );
@@ -52,7 +52,7 @@ public class DefaultClassLoaderManager


public void initialize() throws Exception public void initialize() throws Exception
{ {
if( m_baseClassLoader == null )
if( null == m_baseClassLoader )
{ {
m_baseClassLoader = Thread.currentThread().getContextClassLoader(); m_baseClassLoader = Thread.currentThread().getContextClassLoader();
} }
@@ -70,11 +70,11 @@ public class DefaultClassLoaderManager
/** /**
* Retrieve relevent services needed to deploy. * Retrieve relevent services needed to deploy.
*/ */
public void compose( final ComponentManager componentManager )
throws ComponentException
public void service( final ServiceManager serviceManager )
throws ServiceException
{ {
final ExtensionManager extensionManager = final ExtensionManager extensionManager =
(ExtensionManager)componentManager.lookup( ExtensionManager.ROLE );
(ExtensionManager)serviceManager.lookup( ExtensionManager.ROLE );
m_packageManager = new PackageManager( extensionManager ); m_packageManager = new PackageManager( extensionManager );
} }




+ 19
- 19
proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultDeployer.java View File

@@ -11,13 +11,13 @@ import java.io.File;
import java.net.URL; import java.net.URL;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.apache.aut.converter.Converter;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
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.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.aut.converter.Converter;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.myrmidon.interfaces.converter.ConverterRegistry; import org.apache.myrmidon.interfaces.converter.ConverterRegistry;
import org.apache.myrmidon.interfaces.deployer.ConverterDefinition; import org.apache.myrmidon.interfaces.deployer.ConverterDefinition;
import org.apache.myrmidon.interfaces.deployer.Deployer; import org.apache.myrmidon.interfaces.deployer.Deployer;
@@ -25,8 +25,8 @@ import org.apache.myrmidon.interfaces.deployer.DeploymentException;
import org.apache.myrmidon.interfaces.deployer.TypeDefinition; import org.apache.myrmidon.interfaces.deployer.TypeDefinition;
import org.apache.myrmidon.interfaces.deployer.TypeDeployer; import org.apache.myrmidon.interfaces.deployer.TypeDeployer;
import org.apache.myrmidon.interfaces.role.RoleManager; import org.apache.myrmidon.interfaces.role.RoleManager;
import org.apache.myrmidon.interfaces.service.AntServiceManager;
import org.apache.myrmidon.interfaces.service.ServiceFactory; import org.apache.myrmidon.interfaces.service.ServiceFactory;
import org.apache.myrmidon.interfaces.service.ServiceManager;
import org.apache.myrmidon.interfaces.type.DefaultTypeFactory; import org.apache.myrmidon.interfaces.type.DefaultTypeFactory;
import org.apache.myrmidon.interfaces.type.TypeManager; import org.apache.myrmidon.interfaces.type.TypeManager;


@@ -39,7 +39,7 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
*/ */
public class DefaultDeployer public class DefaultDeployer
extends AbstractLogEnabled extends AbstractLogEnabled
implements Deployer, Composable
implements Deployer, Serviceable
{ {
private final static Resources REZ = private final static Resources REZ =
ResourceManager.getPackageResources( DefaultDeployer.class ); ResourceManager.getPackageResources( DefaultDeployer.class );
@@ -52,33 +52,33 @@ public class DefaultDeployer


/** Map from ClassLoader to the deployer for that class loader. */ /** Map from ClassLoader to the deployer for that class loader. */
private final Map m_classLoaderDeployers = new HashMap(); private final Map m_classLoaderDeployers = new HashMap();
private ServiceManager m_ServiceManager;
private AntServiceManager m_serviceManager;


/** /**
* Retrieve relevent services needed to deploy. * Retrieve relevent services needed to deploy.
* *
* @param componentManager the ComponentManager
* @exception ComponentException if an error occurs
* @param serviceManager the ServiceManager
* @exception ServiceException if an error occurs
*/ */
public void compose( final ComponentManager componentManager )
throws ComponentException
public void service( final ServiceManager serviceManager )
throws ServiceException
{ {
m_converterRegistry = (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );
m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
m_roleManager = (RoleManager)componentManager.lookup( RoleManager.ROLE );
m_classLoaderManager = (ClassLoaderManager)componentManager.lookup( ClassLoaderManager.ROLE );
m_ServiceManager = (ServiceManager)componentManager.lookup( ServiceManager.ROLE );
m_converterRegistry = (ConverterRegistry)serviceManager.lookup( ConverterRegistry.ROLE );
m_typeManager = (TypeManager)serviceManager.lookup( TypeManager.ROLE );
m_roleManager = (RoleManager)serviceManager.lookup( RoleManager.ROLE );
m_classLoaderManager = (ClassLoaderManager)serviceManager.lookup( ClassLoaderManager.ROLE );
m_serviceManager = (AntServiceManager)serviceManager.lookup( AntServiceManager.ROLE );
} }


/** /**
* Creates a child deployer. * Creates a child deployer.
*/ */
public Deployer createChildDeployer( ComponentManager componentManager )
throws ComponentException
public Deployer createChildDeployer( final ServiceManager componentManager )
throws ServiceException
{ {
final DefaultDeployer child = new DefaultDeployer(); final DefaultDeployer child = new DefaultDeployer();
setupLogger( child ); setupLogger( child );
child.compose( componentManager );
child.service( componentManager );
return child; return child;
} }




+ 19
- 24
proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java View File

@@ -18,12 +18,11 @@ import org.apache.avalon.excalibur.io.ExtensionFileFilter;
import org.apache.avalon.excalibur.io.FileUtil; import org.apache.avalon.excalibur.io.FileUtil;
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;
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.AbstractLogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.parameters.Parameterizable; import org.apache.avalon.framework.parameters.Parameterizable;
import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.DefaultServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.myrmidon.components.deployer.ClassLoaderManager; import org.apache.myrmidon.components.deployer.ClassLoaderManager;
import org.apache.myrmidon.interfaces.aspect.AspectManager; import org.apache.myrmidon.interfaces.aspect.AspectManager;
import org.apache.myrmidon.interfaces.builder.ProjectBuilder; import org.apache.myrmidon.interfaces.builder.ProjectBuilder;
@@ -38,7 +37,7 @@ import org.apache.myrmidon.interfaces.executor.Executor;
import org.apache.myrmidon.interfaces.extensions.ExtensionManager; import org.apache.myrmidon.interfaces.extensions.ExtensionManager;
import org.apache.myrmidon.interfaces.model.Project; import org.apache.myrmidon.interfaces.model.Project;
import org.apache.myrmidon.interfaces.role.RoleManager; import org.apache.myrmidon.interfaces.role.RoleManager;
import org.apache.myrmidon.interfaces.service.ServiceManager;
import org.apache.myrmidon.interfaces.service.AntServiceManager;
import org.apache.myrmidon.interfaces.type.TypeFactory; import org.apache.myrmidon.interfaces.type.TypeFactory;
import org.apache.myrmidon.interfaces.type.TypeManager; import org.apache.myrmidon.interfaces.type.TypeManager;
import org.apache.myrmidon.interfaces.workspace.Workspace; import org.apache.myrmidon.interfaces.workspace.Workspace;
@@ -65,7 +64,7 @@ public class DefaultEmbeddor
private TypeManager m_typeManager; private TypeManager m_typeManager;


private List m_components = new ArrayList(); private List m_components = new ArrayList();
private DefaultComponentManager m_componentManager = new DefaultComponentManager();
private DefaultServiceManager m_serviceManager = new DefaultServiceManager();
private Parameters m_parameters; private Parameters m_parameters;
private Parameters m_defaults; private Parameters m_defaults;


@@ -123,7 +122,7 @@ public class DefaultEmbeddor
{ {
final String component = getParameter( Workspace.ROLE ); final String component = getParameter( Workspace.ROLE );
final Workspace workspace = final Workspace workspace =
(Workspace)createComponent( component, Workspace.class );
(Workspace)createService( component, Workspace.class );
setupObject( workspace, parameters ); setupObject( workspace, parameters );
return workspace; return workspace;
} }
@@ -158,8 +157,8 @@ public class DefaultEmbeddor
//setup the components //setup the components
setupComponents(); setupComponents();


m_deployer = (Deployer)m_componentManager.lookup( Deployer.ROLE );
m_typeManager = (TypeManager)m_componentManager.lookup( TypeManager.ROLE );
m_deployer = (Deployer)m_serviceManager.lookup( Deployer.ROLE );
m_typeManager = (TypeManager)m_serviceManager.lookup( TypeManager.ROLE );


setupFiles(); setupFiles();
} }
@@ -193,17 +192,18 @@ public class DefaultEmbeddor
// Dispose any disposable components // Dispose any disposable components
for( Iterator iterator = m_components.iterator(); iterator.hasNext(); ) for( Iterator iterator = m_components.iterator(); iterator.hasNext(); )
{ {
Component component = (Component)iterator.next();
Object component = iterator.next();
if( component instanceof Disposable ) if( component instanceof Disposable )
{ {
( (Disposable)component ).dispose();
final Disposable disposable = (Disposable)component;
disposable.dispose();
} }
} }


// Ditch everything // Ditch everything
m_components = null; m_components = null;
m_deployer = null; m_deployer = null;
m_componentManager = null;
m_serviceManager = null;
m_parameters = null; m_parameters = null;
m_defaults = null; m_defaults = null;
m_homeDir = null; m_homeDir = null;
@@ -246,7 +246,7 @@ public class DefaultEmbeddor
createComponent( Deployer.class, PREFIX + "deployer.DefaultDeployer" ); createComponent( Deployer.class, PREFIX + "deployer.DefaultDeployer" );
createComponent( ClassLoaderManager.class, PREFIX + "deployer.DefaultClassLoaderManager" ); createComponent( ClassLoaderManager.class, PREFIX + "deployer.DefaultClassLoaderManager" );
createComponent( Executor.class, PREFIX + "executor.AspectAwareExecutor" ); createComponent( Executor.class, PREFIX + "executor.AspectAwareExecutor" );
createComponent( ServiceManager.class, PREFIX + "service.DefaultServiceManager" );
createComponent( AntServiceManager.class, PREFIX + "service.DefaultAntServiceManager" );
} }


/** /**
@@ -257,8 +257,8 @@ public class DefaultEmbeddor
{ {
final String role = roleType.getName(); final String role = roleType.getName();
final String className = m_parameters.getParameter( role, defaultImpl ); final String className = m_parameters.getParameter( role, defaultImpl );
final Component component = createComponent( className, roleType );
m_componentManager.put( role, component );
final Object component = createService( className, roleType );
m_serviceManager.put( role, component );
m_components.add( component ); m_components.add( component );
} }


@@ -272,7 +272,7 @@ public class DefaultEmbeddor
{ {
for( Iterator iterator = m_components.iterator(); iterator.hasNext(); ) for( Iterator iterator = m_components.iterator(); iterator.hasNext(); )
{ {
final Component component = (Component)iterator.next();
final Object component = iterator.next();
setupObject( component, m_parameters ); setupObject( component, m_parameters );
} }
} }
@@ -359,7 +359,7 @@ public class DefaultEmbeddor
* @return the created object * @return the created object
* @exception Exception if an error occurs * @exception Exception if an error occurs
*/ */
private Component createComponent( final String component, final Class clazz )
private Object createService( final String component, final Class clazz )
throws Exception throws Exception
{ {
try try
@@ -371,13 +371,8 @@ public class DefaultEmbeddor
final String message = REZ.getString( "bad-type.error", component, clazz.getName() ); final String message = REZ.getString( "bad-type.error", component, clazz.getName() );
throw new Exception( message ); throw new Exception( message );
} }
if( !( object instanceof Component ) )
{
final String message = REZ.getString( "bad-type.error", component, Component.class.getName() );
throw new Exception( message );
}


return (Component)object;
return object;
} }
catch( final IllegalAccessException iae ) catch( final IllegalAccessException iae )
{ {
@@ -408,9 +403,9 @@ public class DefaultEmbeddor
{ {
setupLogger( object ); setupLogger( object );


if( object instanceof Composable )
if( object instanceof Serviceable )
{ {
( (Composable)object ).compose( m_componentManager );
( (Serviceable)object ).service( m_serviceManager );
} }


if( object instanceof Parameterizable ) if( object instanceof Parameterizable )


+ 8
- 8
proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/AspectAwareExecutor.java View File

@@ -11,13 +11,13 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.configuration.DefaultConfiguration; import org.apache.avalon.framework.configuration.DefaultConfiguration;
import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.myrmidon.api.Task; import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.interfaces.aspect.AspectManager; import org.apache.myrmidon.interfaces.aspect.AspectManager;
@@ -43,15 +43,15 @@ public class AspectAwareExecutor
/** /**
* Retrieve relevent services. * Retrieve relevent services.
* *
* @param componentManager the ComponentManager
* @exception ComponentException if an error occurs
* @param serviceManager the ServiceManager
* @exception ServiceException if an error occurs
*/ */
public void compose( final ComponentManager componentManager )
throws ComponentException
public void service( final ServiceManager serviceManager )
throws ServiceException
{ {
super.compose( componentManager );
super.service( serviceManager );


m_aspectManager = (AspectManager)componentManager.lookup( AspectManager.ROLE );
m_aspectManager = (AspectManager)serviceManager.lookup( AspectManager.ROLE );
} }


public void execute( final Configuration taskModel, final ExecutionFrame frame ) public void execute( final Configuration taskModel, final ExecutionFrame frame )


+ 9
- 9
proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java View File

@@ -9,13 +9,13 @@ package org.apache.myrmidon.components.executor;


import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
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.Configuration;
import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.LogEnabled; import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.myrmidon.api.Task; import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.TaskException;
@@ -34,7 +34,7 @@ import org.apache.myrmidon.interfaces.configurer.TaskContextAdapter;
*/ */
public class DefaultExecutor public class DefaultExecutor
extends AbstractLogEnabled extends AbstractLogEnabled
implements Executor, Composable
implements Executor, Serviceable
{ {
private final static Resources REZ = private final static Resources REZ =
ResourceManager.getPackageResources( DefaultExecutor.class ); ResourceManager.getPackageResources( DefaultExecutor.class );
@@ -44,13 +44,13 @@ public class DefaultExecutor
/** /**
* Retrieve relevent services needed to deploy. * Retrieve relevent services needed to deploy.
* *
* @param componentManager the ComponentManager
* @exception ComponentException if an error occurs
* @param serviceManager the ServiceManager
* @exception ServiceException if an error occurs
*/ */
public void compose( final ComponentManager componentManager )
throws ComponentException
public void service( final ServiceManager serviceManager )
throws ServiceException
{ {
m_configurer = (Configurer)componentManager.lookup( Configurer.ROLE );
m_configurer = (Configurer)serviceManager.lookup( Configurer.ROLE );
} }


public void execute( final Configuration taskModel, final ExecutionFrame frame ) public void execute( final Configuration taskModel, final ExecutionFrame frame )


proposal/myrmidon/src/java/org/apache/myrmidon/components/service/DefaultServiceManager.java → proposal/myrmidon/src/java/org/apache/myrmidon/components/service/DefaultAntServiceManager.java View File

@@ -13,12 +13,12 @@ import java.util.Map;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.Composable;
import org.apache.myrmidon.interfaces.service.ServiceException;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.myrmidon.interfaces.service.AntServiceException;
import org.apache.myrmidon.interfaces.service.AntServiceManager;
import org.apache.myrmidon.interfaces.service.ServiceFactory; import org.apache.myrmidon.interfaces.service.ServiceFactory;
import org.apache.myrmidon.interfaces.service.ServiceManager;
import org.apache.myrmidon.interfaces.type.TypeException; import org.apache.myrmidon.interfaces.type.TypeException;
import org.apache.myrmidon.interfaces.type.TypeFactory; import org.apache.myrmidon.interfaces.type.TypeFactory;
import org.apache.myrmidon.interfaces.type.TypeManager; import org.apache.myrmidon.interfaces.type.TypeManager;
@@ -34,11 +34,11 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public class DefaultServiceManager
implements ServiceManager, Composable, Disposable
public class DefaultAntServiceManager
implements AntServiceManager, Serviceable, Disposable
{ {
private final static Resources REZ
= ResourceManager.getPackageResources( DefaultServiceManager.class );
private final static Resources REZ =
ResourceManager.getPackageResources( DefaultAntServiceManager.class );


/** Map from service class -> service object. */ /** Map from service class -> service object. */
private Map m_services = new HashMap(); private Map m_services = new HashMap();
@@ -46,18 +46,25 @@ public class DefaultServiceManager
private TypeFactory m_typeFactory; private TypeFactory m_typeFactory;


/** /**
* Locate the components used by this service manager.
* Pass the <code>ServiceManager</code> to the <code>servicable</code>.
* The <code>Servicable</code> implementation should use the specified
* <code>ServiceManager</code> to acquire the components it needs for
* execution.
*
* @param manager The <code>ServiceManager</code> which this
* <code>Servicable</code> uses.
*/ */
public void compose( final ComponentManager componentManager ) throws ComponentException
public void service( ServiceManager manager )
throws ServiceException
{ {
final TypeManager typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
final TypeManager typeManager = (TypeManager)manager.lookup( TypeManager.ROLE );
try try
{ {
m_typeFactory = typeManager.getFactory( ServiceFactory.class ); m_typeFactory = typeManager.getFactory( ServiceFactory.class );
} }
catch( final TypeException e ) catch( final TypeException e )
{ {
throw new ComponentException( e.getMessage(), e );
throw new ServiceException( e.getMessage(), e );
} }
} }


@@ -104,7 +111,7 @@ public class DefaultServiceManager
* Locates a service instance. * Locates a service instance.
*/ */
public Object getService( Class serviceType ) public Object getService( Class serviceType )
throws ServiceException
throws AntServiceException
{ {
Object service = m_services.get( serviceType ); Object service = m_services.get( serviceType );
if( service == null ) if( service == null )
@@ -120,7 +127,7 @@ public class DefaultServiceManager
/** /**
* Creates the service object for a service class. * Creates the service object for a service class.
*/ */
private Object createService( Class serviceType ) throws ServiceException
private Object createService( Class serviceType ) throws AntServiceException
{ {
try try
{ {
@@ -131,14 +138,14 @@ public class DefaultServiceManager
if( !serviceType.isInstance( service ) ) if( !serviceType.isInstance( service ) )
{ {
final String message = REZ.getString( "mismatched-service-type.error", serviceType.getName(), service.getClass().getName() ); final String message = REZ.getString( "mismatched-service-type.error", serviceType.getName(), service.getClass().getName() );
throw new ServiceException( message );
throw new AntServiceException( message );
} }
return service; return service;
} }
catch( Exception e )
catch( final Exception e )
{ {
final String message = REZ.getString( "create-service.error", serviceType.getName() ); final String message = REZ.getString( "create-service.error", serviceType.getName() );
throw new ServiceException( message, e );
throw new AntServiceException( message, e );
} }
} }
} }

+ 0
- 54
proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/ComponentManagerAdaptor.java View File

@@ -1,54 +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.txt file.
*/
package org.apache.myrmidon.components.workspace;

import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.myrmidon.interfaces.service.ServiceException;
import org.apache.myrmidon.interfaces.service.ServiceManager;

/**
* An adaptor from {@link ComponentManager} to {@link ServiceManager}.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision$ $Date$
*/
class ComponentManagerAdaptor
implements ServiceManager
{
private final ComponentManager m_componentManager;

public ComponentManagerAdaptor( final ComponentManager componentManager )
{
m_componentManager = componentManager;
}

/**
* Determines if this service manager contains a particular service.
*/
public boolean hasService( Class serviceType )
{
return m_componentManager.hasComponent( serviceType.getName() );
}

/**
* Locates a service instance.
*/
public Object getService( Class serviceType )
throws ServiceException
{
try
{
return m_componentManager.lookup( serviceType.getName() );
}
catch( ComponentException e )
{
throw new ServiceException( e.getMessage(), e );
}
}
}

+ 1
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultExecutionFrame.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.components.workspace; package org.apache.myrmidon.components.workspace;


import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.logger.Logger;
import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.interfaces.executor.ExecutionFrame; import org.apache.myrmidon.interfaces.executor.ExecutionFrame;
@@ -20,7 +19,7 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
class DefaultExecutionFrame class DefaultExecutionFrame
implements ExecutionFrame, Component
implements ExecutionFrame
{ {
private final Logger m_logger; private final Logger m_logger;
private final TaskContext m_context; private final TaskContext m_context;


+ 6
- 6
proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultTaskContext.java View File

@@ -19,8 +19,8 @@ import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.components.configurer.PropertyUtil; import org.apache.myrmidon.components.configurer.PropertyUtil;
import org.apache.myrmidon.components.configurer.PropertyException; import org.apache.myrmidon.components.configurer.PropertyException;
import org.apache.myrmidon.interfaces.configurer.TaskContextAdapter; import org.apache.myrmidon.interfaces.configurer.TaskContextAdapter;
import org.apache.myrmidon.interfaces.service.ServiceException;
import org.apache.myrmidon.interfaces.service.ServiceManager;
import org.apache.myrmidon.interfaces.service.AntServiceException;
import org.apache.myrmidon.interfaces.service.AntServiceManager;


/** /**
* Default implementation of TaskContext. * Default implementation of TaskContext.
@@ -36,7 +36,7 @@ public class DefaultTaskContext


private final Map m_contextData = new Hashtable(); private final Map m_contextData = new Hashtable();
private final TaskContext m_parent; private final TaskContext m_parent;
private ServiceManager m_serviceManager;
private AntServiceManager m_serviceManager;


/** /**
* Constructor for Context with no parent contexts. * Constructor for Context with no parent contexts.
@@ -57,7 +57,7 @@ public class DefaultTaskContext
/** /**
* Constructor that specifies the service directory for context. * Constructor that specifies the service directory for context.
*/ */
public DefaultTaskContext( final ServiceManager serviceManager )
public DefaultTaskContext( final AntServiceManager serviceManager )
{ {
this( null, serviceManager ); this( null, serviceManager );
} }
@@ -66,7 +66,7 @@ public class DefaultTaskContext
* Constructor that takes both parent context and a service directory. * Constructor that takes both parent context and a service directory.
*/ */
public DefaultTaskContext( final TaskContext parent, public DefaultTaskContext( final TaskContext parent,
final ServiceManager serviceManager )
final AntServiceManager serviceManager )
{ {
m_parent = parent; m_parent = parent;
m_serviceManager = serviceManager; m_serviceManager = serviceManager;
@@ -159,7 +159,7 @@ public class DefaultTaskContext
{ {
return m_serviceManager.getService( serviceClass ); return m_serviceManager.getService( serviceClass );
} }
catch( final ServiceException se )
catch( final AntServiceException se )
{ {
throw new TaskException( se.getMessage(), se ); throw new TaskException( se.getMessage(), se );
} }


+ 29
- 30
proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultWorkspace.java View File

@@ -14,10 +14,6 @@ import java.util.Map;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.activity.Initializable;
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.configuration.Configuration; import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.LogKitLogger; import org.apache.avalon.framework.logger.LogKitLogger;
@@ -25,6 +21,10 @@ import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.parameters.ParameterException; import org.apache.avalon.framework.parameters.ParameterException;
import org.apache.avalon.framework.parameters.Parameterizable; import org.apache.avalon.framework.parameters.Parameterizable;
import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.DefaultServiceManager;
import org.apache.log.Hierarchy; import org.apache.log.Hierarchy;
import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.TaskException;
@@ -38,7 +38,7 @@ import org.apache.myrmidon.interfaces.model.Project;
import org.apache.myrmidon.interfaces.model.Target; import org.apache.myrmidon.interfaces.model.Target;
import org.apache.myrmidon.interfaces.model.TypeLib; import org.apache.myrmidon.interfaces.model.TypeLib;
import org.apache.myrmidon.interfaces.service.MultiSourceServiceManager; import org.apache.myrmidon.interfaces.service.MultiSourceServiceManager;
import org.apache.myrmidon.interfaces.service.ServiceManager;
import org.apache.myrmidon.interfaces.service.AntServiceManager;
import org.apache.myrmidon.interfaces.type.TypeManager; import org.apache.myrmidon.interfaces.type.TypeManager;
import org.apache.myrmidon.interfaces.workspace.Workspace; import org.apache.myrmidon.interfaces.workspace.Workspace;
import org.apache.myrmidon.listeners.ProjectListener; import org.apache.myrmidon.listeners.ProjectListener;
@@ -51,14 +51,14 @@ import org.apache.myrmidon.listeners.ProjectListener;
*/ */
public class DefaultWorkspace public class DefaultWorkspace
extends AbstractLogEnabled extends AbstractLogEnabled
implements Workspace, Composable, Parameterizable, Initializable
implements Workspace, Serviceable, Parameterizable, Initializable
{ {
private final static Resources REZ = private final static Resources REZ =
ResourceManager.getPackageResources( DefaultWorkspace.class ); ResourceManager.getPackageResources( DefaultWorkspace.class );


private Executor m_executor; private Executor m_executor;
private ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport(); private ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport();
private ComponentManager m_componentManager;
private ServiceManager m_serviceManager;
private Parameters m_parameters; private Parameters m_parameters;
private TaskContext m_baseContext; private TaskContext m_baseContext;
private HashMap m_entrys = new HashMap(); private HashMap m_entrys = new HashMap();
@@ -90,16 +90,16 @@ public class DefaultWorkspace
/** /**
* Retrieve relevent services needed for engine. * Retrieve relevent services needed for engine.
* *
* @param componentManager the ComponentManager
* @exception ComponentException if an error occurs
* @param serviceManager the ServiceManager
* @exception ServiceException if an error occurs
*/ */
public void compose( final ComponentManager componentManager )
throws ComponentException
public void service( final ServiceManager serviceManager )
throws ServiceException
{ {
m_componentManager = componentManager;
m_typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
m_executor = (Executor)componentManager.lookup( Executor.ROLE );
m_deployer = (Deployer)componentManager.lookup( Deployer.ROLE );
m_serviceManager = serviceManager;
m_typeManager = (TypeManager)serviceManager.lookup( TypeManager.ROLE );
m_executor = (Executor)serviceManager.lookup( Executor.ROLE );
m_deployer = (Deployer)serviceManager.lookup( Deployer.ROLE );
} }


public void parameterize( final Parameters parameters ) public void parameterize( final Parameters parameters )
@@ -226,48 +226,47 @@ public class DefaultWorkspace
* Creates an execution frame for a project. * Creates an execution frame for a project.
*/ */
private ExecutionFrame createExecutionFrame( final Project project ) private ExecutionFrame createExecutionFrame( final Project project )
throws TaskException, ComponentException
throws TaskException, ServiceException
{ {
//Create per frame ComponentManager //Create per frame ComponentManager
final DefaultComponentManager componentManager =
new DefaultComponentManager( m_componentManager );
final DefaultServiceManager serviceManager =
new DefaultServiceManager( m_serviceManager );


//Add in child type manager so each frame can register different //Add in child type manager so each frame can register different
//sets of tasks etc //sets of tasks etc
final TypeManager typeManager = m_typeManager.createChildTypeManager(); final TypeManager typeManager = m_typeManager.createChildTypeManager();
componentManager.put( TypeManager.ROLE, typeManager );
serviceManager.put( TypeManager.ROLE, typeManager );


//We need to create a new deployer so that it deploys //We need to create a new deployer so that it deploys
//to project specific TypeManager //to project specific TypeManager
final Deployer deployer;
deployer = m_deployer.createChildDeployer( componentManager );
componentManager.put( Deployer.ROLE, deployer );
final Deployer deployer = m_deployer.createChildDeployer( serviceManager );
serviceManager.put( Deployer.ROLE, deployer );


// Deploy the imported typelibs // Deploy the imported typelibs
deployTypeLib( deployer, project ); deployTypeLib( deployer, project );


//We need to place projects and ProjectManager //We need to place projects and ProjectManager
//in ComponentManager so as to support project-local call() //in ComponentManager so as to support project-local call()
componentManager.put( Workspace.ROLE, this );
componentManager.put( Project.ROLE, project );
serviceManager.put( Workspace.ROLE, this );
serviceManager.put( Project.ROLE, project );


final String[] names = project.getProjectNames(); final String[] names = project.getProjectNames();
for( int i = 0; i < names.length; i++ ) for( int i = 0; i < names.length; i++ )
{ {
final String name = names[ i ]; final String name = names[ i ];
final Project other = project.getProject( name ); final Project other = project.getProject( name );
componentManager.put( Project.ROLE + "/" + name, other );
serviceManager.put( Project.ROLE + "/" + name, other );
} }


// Create a service manager that aggregates the contents of the context's // Create a service manager that aggregates the contents of the context's
// component manager, and service manager // component manager, and service manager
final MultiSourceServiceManager serviceManager = new MultiSourceServiceManager();
serviceManager.add( (ServiceManager)componentManager.lookup( ServiceManager.ROLE ) );
serviceManager.add( new ComponentManagerAdaptor( componentManager ) );
final MultiSourceServiceManager msServiceManager = new MultiSourceServiceManager();
msServiceManager.add( (AntServiceManager)serviceManager.lookup( AntServiceManager.ROLE ) );
msServiceManager.add( new ServiceManagerAdaptor( serviceManager ) );


// Create and configure the context // Create and configure the context
final DefaultTaskContext context = final DefaultTaskContext context =
new DefaultTaskContext( m_baseContext, serviceManager );
new DefaultTaskContext( m_baseContext, msServiceManager );
context.setProperty( TaskContext.BASE_DIRECTORY, project.getBaseDirectory() ); context.setProperty( TaskContext.BASE_DIRECTORY, project.getBaseDirectory() );


// Create a logger // Create a logger
@@ -280,7 +279,7 @@ public class DefaultWorkspace
/** /**
* @todo Should no occur but done for the time being to simplify evolution. * @todo Should no occur but done for the time being to simplify evolution.
*/ */
componentManager.put( ExecutionFrame.ROLE, frame );
serviceManager.put( ExecutionFrame.ROLE, frame );


return frame; return frame;
} }


+ 54
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/ServiceManagerAdaptor.java View File

@@ -0,0 +1,54 @@
/*
* 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.txt file.
*/
package org.apache.myrmidon.components.workspace;

import org.apache.myrmidon.interfaces.service.AntServiceException;
import org.apache.myrmidon.interfaces.service.AntServiceManager;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.ServiceException;

/**
* An adaptor from {@link ServiceManager} to {@link AntServiceManager}.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision$ $Date$
*/
class ServiceManagerAdaptor
implements AntServiceManager
{
private final ServiceManager m_serviceManager;

public ServiceManagerAdaptor( final ServiceManager componentManager )
{
m_serviceManager = componentManager;
}

/**
* Determines if this service manager contains a particular service.
*/
public boolean hasService( Class serviceType )
{
return m_serviceManager.hasService( serviceType.getName() );
}

/**
* Locates a service instance.
*/
public Object getService( Class serviceType )
throws AntServiceException
{
try
{
return m_serviceManager.lookup( serviceType.getName() );
}
catch( final ServiceException se )
{
throw new AntServiceException( se.getMessage(), se );
}
}
}

+ 0
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/framework/Condition.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.framework; package org.apache.myrmidon.framework;


import org.apache.avalon.framework.component.Component;
import org.apache.myrmidon.api.TaskContext; import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.TaskException;


@@ -18,7 +17,6 @@ import org.apache.myrmidon.api.TaskException;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public class Condition public class Condition
implements Component
{ {
private String m_condition; private String m_condition;
private boolean m_isIfCondition; private boolean m_isIfCondition;


+ 5
- 5
proposal/myrmidon/src/java/org/apache/myrmidon/framework/factorys/ExecManagerFactory.java View File

@@ -12,7 +12,7 @@ import org.apache.aut.nativelib.ExecException;
import org.apache.aut.nativelib.impl.DefaultExecManager; import org.apache.aut.nativelib.impl.DefaultExecManager;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.myrmidon.interfaces.service.ServiceException;
import org.apache.myrmidon.interfaces.service.AntServiceException;
import org.apache.myrmidon.interfaces.service.ServiceFactory; import org.apache.myrmidon.interfaces.service.ServiceFactory;


/** /**
@@ -31,7 +31,7 @@ public class ExecManagerFactory
* Create the ExecManager Service. * Create the ExecManager Service.
*/ */
public Object createService() public Object createService()
throws ServiceException
throws AntServiceException
{ {
final File home = getHomeDirectory(); final File home = getHomeDirectory();
try try
@@ -40,7 +40,7 @@ public class ExecManagerFactory
} }
catch( final ExecException ee ) catch( final ExecException ee )
{ {
throw new ServiceException( ee.getMessage(), ee );
throw new AntServiceException( ee.getMessage(), ee );
} }
} }


@@ -48,13 +48,13 @@ public class ExecManagerFactory
* Utility method to retrieve home directory. * Utility method to retrieve home directory.
*/ */
private static File getHomeDirectory() private static File getHomeDirectory()
throws ServiceException
throws AntServiceException
{ {
final String home = System.getProperty( "myrmidon.home" ); final String home = System.getProperty( "myrmidon.home" );
if( null == home ) if( null == home )
{ {
final String message = REZ.getString( "missing-home-dir.error" ); final String message = REZ.getString( "missing-home-dir.error" );
throw new ServiceException( message );
throw new AntServiceException( message );
} }


return new File( home ); return new File( home );


+ 3
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/framework/factorys/VfsManagerFactory.java View File

@@ -11,7 +11,7 @@ import org.apache.aut.vfs.FileSystemManager;
import org.apache.aut.vfs.impl.DefaultFileSystemManager; import org.apache.aut.vfs.impl.DefaultFileSystemManager;
import org.apache.avalon.excalibur.i18n.ResourceManager; import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources; import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.myrmidon.interfaces.service.ServiceException;
import org.apache.myrmidon.interfaces.service.AntServiceException;
import org.apache.myrmidon.interfaces.service.ServiceFactory; import org.apache.myrmidon.interfaces.service.ServiceFactory;


/** /**
@@ -30,7 +30,7 @@ public class VfsManagerFactory
* Create a service that coresponds to this factory. * Create a service that coresponds to this factory.
*/ */
public Object createService() public Object createService()
throws ServiceException
throws AntServiceException
{ {
try try
{ {
@@ -39,7 +39,7 @@ public class VfsManagerFactory
catch( Exception e ) catch( Exception e )
{ {
final String message = REZ.getString( "create-vfs-manager.error" ); final String message = REZ.getString( "create-vfs-manager.error" );
throw new ServiceException( message );
throw new AntServiceException( message );
} }
} }
} }

+ 1
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/aspect/AspectManager.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.aspect; package org.apache.myrmidon.interfaces.aspect;


import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.parameters.Parameters;
import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.TaskException;
@@ -20,7 +19,7 @@ import org.apache.myrmidon.aspects.AspectHandler;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface AspectManager public interface AspectManager
extends Component, AspectHandler
extends AspectHandler
{ {
String ROLE = AspectManager.class.getName(); String ROLE = AspectManager.class.getName();




+ 1
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/builder/ProjectBuilder.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.builder; package org.apache.myrmidon.interfaces.builder;


import org.apache.avalon.framework.component.Component;
import org.apache.myrmidon.interfaces.model.Project; import org.apache.myrmidon.interfaces.model.Project;


/** /**
@@ -18,7 +17,6 @@ import org.apache.myrmidon.interfaces.model.Project;
* @ant:role shorthand="project-builder" * @ant:role shorthand="project-builder"
*/ */
public interface ProjectBuilder public interface ProjectBuilder
extends Component
{ {
String ROLE = ProjectBuilder.class.getName(); String ROLE = ProjectBuilder.class.getName();


@@ -27,8 +25,7 @@ public interface ProjectBuilder
* *
* @param source the source * @param source the source
* @return the constructed Project * @return the constructed Project
* @exception IOException if an error occurs
* @exception AntException if an error occurs
* @exception Exception if an error occurs
*/ */
Project build( String source ) Project build( String source )
throws Exception; throws Exception;


+ 0
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/configurer/Configurer.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.configurer; package org.apache.myrmidon.interfaces.configurer;


import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.Context;
@@ -19,7 +18,6 @@ import org.apache.avalon.framework.context.Context;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface Configurer public interface Configurer
extends Component
{ {
String ROLE = Configurer.class.getName(); String ROLE = Configurer.class.getName();




+ 0
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/converter/ConverterRegistry.java View File

@@ -7,8 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.converter; package org.apache.myrmidon.interfaces.converter;


import org.apache.avalon.framework.component.Component;

/** /**
* Interface for registry for ConverterInfos. * Interface for registry for ConverterInfos.
* *
@@ -16,7 +14,6 @@ import org.apache.avalon.framework.component.Component;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface ConverterRegistry public interface ConverterRegistry
extends Component
{ {
String ROLE = ConverterRegistry.class.getName(); String ROLE = ConverterRegistry.class.getName();




+ 1
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/converter/MasterConverter.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.converter; package org.apache.myrmidon.interfaces.converter;


import org.apache.avalon.framework.component.Component;
import org.apache.aut.converter.Converter; import org.apache.aut.converter.Converter;


/** /**
@@ -17,7 +16,7 @@ import org.apache.aut.converter.Converter;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface MasterConverter public interface MasterConverter
extends Component, Converter
extends Converter
{ {
String ROLE = MasterConverter.class.getName(); String ROLE = MasterConverter.class.getName();
} }

+ 4
- 6
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/deployer/Deployer.java View File

@@ -8,9 +8,8 @@
package org.apache.myrmidon.interfaces.deployer; package org.apache.myrmidon.interfaces.deployer;


import java.io.File; import java.io.File;
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.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;


/** /**
* This class deploys type libraries into a registry. * This class deploys type libraries into a registry.
@@ -19,7 +18,6 @@ import org.apache.avalon.framework.component.ComponentManager;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface Deployer public interface Deployer
extends Component
{ {
String ROLE = Deployer.class.getName(); String ROLE = Deployer.class.getName();


@@ -46,6 +44,6 @@ public interface Deployer
/** /**
* Creates a child deployer. * Creates a child deployer.
*/ */
Deployer createChildDeployer( ComponentManager componentManager )
throws ComponentException;
Deployer createChildDeployer( ServiceManager componentManager )
throws ServiceException;
} }

+ 1
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/embeddor/Embeddor.java View File

@@ -10,7 +10,6 @@ package org.apache.myrmidon.interfaces.embeddor;
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;
import org.apache.avalon.framework.activity.Startable; import org.apache.avalon.framework.activity.Startable;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.parameters.Parameterizable; import org.apache.avalon.framework.parameters.Parameterizable;
import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.parameters.Parameters;
import org.apache.myrmidon.interfaces.model.Project; import org.apache.myrmidon.interfaces.model.Project;
@@ -24,7 +23,7 @@ import org.apache.myrmidon.listeners.ProjectListener;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface Embeddor public interface Embeddor
extends Component, Parameterizable, Initializable, Startable, Disposable
extends Parameterizable, Initializable, Startable, Disposable
{ {
String ROLE = Embeddor.class.getName(); String ROLE = Embeddor.class.getName();




+ 0
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/executor/Executor.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.executor; package org.apache.myrmidon.interfaces.executor;


import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.Configuration;
import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.TaskException;


@@ -18,7 +17,6 @@ import org.apache.myrmidon.api.TaskException;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface Executor public interface Executor
extends Component
{ {
String ROLE = Executor.class.getName(); String ROLE = Executor.class.getName();




+ 1
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/extensions/ExtensionManager.java View File

@@ -8,7 +8,6 @@
package org.apache.myrmidon.interfaces.extensions; package org.apache.myrmidon.interfaces.extensions;


import org.apache.avalon.excalibur.extension.PackageRepository; import org.apache.avalon.excalibur.extension.PackageRepository;
import org.apache.avalon.framework.component.Component;


/** /**
* PackageRepository * PackageRepository
@@ -17,7 +16,7 @@ import org.apache.avalon.framework.component.Component;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface ExtensionManager public interface ExtensionManager
extends PackageRepository, Component
extends PackageRepository
{ {
String ROLE = ExtensionManager.class.getName(); String ROLE = ExtensionManager.class.getName();
} }

+ 0
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/model/Project.java View File

@@ -8,7 +8,6 @@
package org.apache.myrmidon.interfaces.model; package org.apache.myrmidon.interfaces.model;


import java.io.File; import java.io.File;
import org.apache.avalon.framework.component.Component;


/** /**
* Abstraction used to interact with projects. * Abstraction used to interact with projects.
@@ -18,7 +17,6 @@ import org.apache.avalon.framework.component.Component;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface Project public interface Project
extends Component
{ {
String ROLE = Project.class.getName(); String ROLE = Project.class.getName();




+ 0
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/role/RoleManager.java View File

@@ -7,8 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.role; package org.apache.myrmidon.interfaces.role;


import org.apache.avalon.framework.component.Component;

/** /**
* Interface to manage roles and mapping to shorthand names. * Interface to manage roles and mapping to shorthand names.
* *
@@ -19,7 +17,6 @@ import org.apache.avalon.framework.component.Component;
* @version CVS $Revision$ $Date$ * @version CVS $Revision$ $Date$
*/ */
public interface RoleManager public interface RoleManager
extends Component
{ {
String ROLE = RoleManager.class.getName(); String ROLE = RoleManager.class.getName();




proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/ServiceException.java → proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/AntServiceException.java View File

@@ -16,13 +16,13 @@ import org.apache.avalon.framework.CascadingException;
* @author <a href="mailto:peter@apache.org">Peter Donald</a> * @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public class ServiceException
public class AntServiceException
extends CascadingException extends CascadingException
{ {
/** /**
* Basic constructor for exception that does not specify a message * Basic constructor for exception that does not specify a message
*/ */
public ServiceException()
public AntServiceException()
{ {
this( "", null ); this( "", null );
} }
@@ -32,7 +32,7 @@ public class ServiceException
* *
* @param message the message * @param message the message
*/ */
public ServiceException( final String message )
public AntServiceException( final String message )
{ {
this( message, null ); this( message, null );
} }
@@ -43,7 +43,7 @@ public class ServiceException
* @param message the message * @param message the message
* @param throwable the throwable * @param throwable the throwable
*/ */
public ServiceException( final String message, final Throwable throwable )
public AntServiceException( final String message, final Throwable throwable )
{ {
super( message, throwable ); super( message, throwable );
} }

proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/ServiceManager.java → proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/AntServiceManager.java View File

@@ -7,18 +7,15 @@
*/ */
package org.apache.myrmidon.interfaces.service; package org.apache.myrmidon.interfaces.service;


import org.apache.avalon.framework.component.Component;

/** /**
* Manages a set of services. * Manages a set of services.
* *
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface ServiceManager
extends Component
public interface AntServiceManager
{ {
String ROLE = ServiceManager.class.getName();
String ROLE = AntServiceManager.class.getName();


/** /**
* Determines if this service manager contains a particular service. * Determines if this service manager contains a particular service.
@@ -33,8 +30,8 @@ public interface ServiceManager
* @param serviceType The service interface. * @param serviceType The service interface.
* @return The service instance. The returned object is guaranteed to * @return The service instance. The returned object is guaranteed to
* implement the service interface. * implement the service interface.
* @throws ServiceException If the service does not exist.
* @throws AntServiceException If the service does not exist.
*/ */
Object getService( Class serviceType ) Object getService( Class serviceType )
throws ServiceException;
throws AntServiceException;
} }

+ 8
- 8
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/MultiSourceServiceManager.java View File

@@ -13,13 +13,13 @@ import org.apache.avalon.excalibur.i18n.Resources;


/** /**
* A service manager that aggregates services from several * A service manager that aggregates services from several
* {@link ServiceManager} objects.
* {@link AntServiceManager} objects.
* *
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public class MultiSourceServiceManager public class MultiSourceServiceManager
implements ServiceManager
implements AntServiceManager
{ {
private final static Resources REZ private final static Resources REZ
= ResourceManager.getPackageResources( MultiSourceServiceManager.class ); = ResourceManager.getPackageResources( MultiSourceServiceManager.class );
@@ -30,7 +30,7 @@ public class MultiSourceServiceManager
/** /**
* Adds a service manager to the end of the source list. * Adds a service manager to the end of the source list.
*/ */
public void add( final ServiceManager mgr )
public void add( final AntServiceManager mgr )
{ {
m_sources.add( mgr ); m_sources.add( mgr );
} }
@@ -45,7 +45,7 @@ public class MultiSourceServiceManager
final int size = m_sources.size(); final int size = m_sources.size();
for( int i = 0; i < size; i++ ) for( int i = 0; i < size; i++ )
{ {
final ServiceManager serviceManager = (ServiceManager)m_sources.get( i );
final AntServiceManager serviceManager = (AntServiceManager)m_sources.get( i );
if( serviceManager.hasService( serviceType ) ) if( serviceManager.hasService( serviceType ) )
{ {
return true; return true;
@@ -60,15 +60,15 @@ public class MultiSourceServiceManager
* @param serviceType The service interface. * @param serviceType The service interface.
* @return The service instance. The returned object is guaranteed to * @return The service instance. The returned object is guaranteed to
* implement the service interface. * implement the service interface.
* @throws ServiceException If the service does not exist.
* @throws AntServiceException If the service does not exist.
*/ */
public Object getService( final Class serviceType ) public Object getService( final Class serviceType )
throws ServiceException
throws AntServiceException
{ {
final int size = m_sources.size(); final int size = m_sources.size();
for( int i = 0; i < size; i++ ) for( int i = 0; i < size; i++ )
{ {
final ServiceManager serviceManager = (ServiceManager)m_sources.get( i );
final AntServiceManager serviceManager = (AntServiceManager)m_sources.get( i );
if( serviceManager.hasService( serviceType ) ) if( serviceManager.hasService( serviceType ) )
{ {
return serviceManager.getService( serviceType ); return serviceManager.getService( serviceType );
@@ -76,6 +76,6 @@ public class MultiSourceServiceManager
} }


final String message = REZ.getString( "unknown-service.error", serviceType.getName() ); final String message = REZ.getString( "unknown-service.error", serviceType.getName() );
throw new ServiceException( message );
throw new AntServiceException( message );
} }
} }

+ 1
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/service/ServiceFactory.java View File

@@ -25,5 +25,5 @@ public interface ServiceFactory
* prepared and configured as appropriate. * prepared and configured as appropriate.
*/ */
Object createService() Object createService()
throws ServiceException;
throws AntServiceException;
} }

+ 0
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/type/TypeManager.java View File

@@ -7,8 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.type; package org.apache.myrmidon.interfaces.type;


import org.apache.avalon.framework.component.Component;

/** /**
* The interface that is used to manage types. * The interface that is used to manage types.
* *
@@ -16,7 +14,6 @@ import org.apache.avalon.framework.component.Component;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface TypeManager public interface TypeManager
extends Component
{ {
String ROLE = TypeManager.class.getName(); String ROLE = TypeManager.class.getName();




+ 0
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/workspace/Workspace.java View File

@@ -7,7 +7,6 @@
*/ */
package org.apache.myrmidon.interfaces.workspace; package org.apache.myrmidon.interfaces.workspace;


import org.apache.avalon.framework.component.Component;
import org.apache.myrmidon.api.TaskException; import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.interfaces.model.Project; import org.apache.myrmidon.interfaces.model.Project;
import org.apache.myrmidon.listeners.ProjectListener; import org.apache.myrmidon.listeners.ProjectListener;
@@ -19,7 +18,6 @@ import org.apache.myrmidon.listeners.ProjectListener;
* @version $Revision$ $Date$ * @version $Revision$ $Date$
*/ */
public interface Workspace public interface Workspace
extends Component
{ {
String ROLE = Workspace.class.getName(); String ROLE = Workspace.class.getName();




+ 26
- 28
proposal/myrmidon/src/test/org/apache/myrmidon/components/AbstractComponentTest.java View File

@@ -10,13 +10,12 @@ package org.apache.myrmidon.components;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
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.component.DefaultComponentManager;
import org.apache.avalon.framework.logger.LogEnabled; import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.service.DefaultServiceManager;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.myrmidon.AbstractMyrmidonTest; import org.apache.myrmidon.AbstractMyrmidonTest;
import org.apache.myrmidon.components.configurer.DefaultConfigurer; import org.apache.myrmidon.components.configurer.DefaultConfigurer;
import org.apache.myrmidon.components.converter.DefaultConverterRegistry; import org.apache.myrmidon.components.converter.DefaultConverterRegistry;
@@ -26,7 +25,6 @@ import org.apache.myrmidon.components.deployer.DefaultClassLoaderManager;
import org.apache.myrmidon.components.deployer.DefaultDeployer; import org.apache.myrmidon.components.deployer.DefaultDeployer;
import org.apache.myrmidon.components.extensions.DefaultExtensionManager; import org.apache.myrmidon.components.extensions.DefaultExtensionManager;
import org.apache.myrmidon.components.role.DefaultRoleManager; import org.apache.myrmidon.components.role.DefaultRoleManager;
import org.apache.myrmidon.components.service.DefaultServiceManager;
import org.apache.myrmidon.components.type.DefaultTypeManager; import org.apache.myrmidon.components.type.DefaultTypeManager;
import org.apache.aut.converter.Converter; import org.apache.aut.converter.Converter;
import org.apache.myrmidon.interfaces.configurer.Configurer; import org.apache.myrmidon.interfaces.configurer.Configurer;
@@ -35,7 +33,6 @@ import org.apache.myrmidon.interfaces.converter.MasterConverter;
import org.apache.myrmidon.interfaces.deployer.Deployer; import org.apache.myrmidon.interfaces.deployer.Deployer;
import org.apache.myrmidon.interfaces.extensions.ExtensionManager; import org.apache.myrmidon.interfaces.extensions.ExtensionManager;
import org.apache.myrmidon.interfaces.role.RoleManager; import org.apache.myrmidon.interfaces.role.RoleManager;
import org.apache.myrmidon.interfaces.service.ServiceManager;
import org.apache.myrmidon.interfaces.type.DefaultTypeFactory; import org.apache.myrmidon.interfaces.type.DefaultTypeFactory;
import org.apache.myrmidon.interfaces.type.TypeException; import org.apache.myrmidon.interfaces.type.TypeException;
import org.apache.myrmidon.interfaces.type.TypeManager; import org.apache.myrmidon.interfaces.type.TypeManager;
@@ -48,7 +45,7 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
public abstract class AbstractComponentTest public abstract class AbstractComponentTest
extends AbstractMyrmidonTest extends AbstractMyrmidonTest
{ {
private DefaultComponentManager m_componentManager;
private DefaultServiceManager m_serviceManager;
private Logger m_logger; private Logger m_logger;


public AbstractComponentTest( final String name ) public AbstractComponentTest( final String name )
@@ -59,17 +56,18 @@ public abstract class AbstractComponentTest
/** /**
* Returns the component manager containing the components to test. * Returns the component manager containing the components to test.
*/ */
protected ComponentManager getComponentManager()
protected ServiceManager getServiceManager()
{ {
return m_componentManager;
return m_serviceManager;
} }


/** /**
* Returns the type manager. * Returns the type manager.
*/ */
protected TypeManager getTypeManager() throws ComponentException
protected TypeManager getTypeManager()
throws ServiceException
{ {
return (TypeManager)getComponentManager().lookup( TypeManager.ROLE );
return (TypeManager)getServiceManager().lookup( TypeManager.ROLE );
} }


/** /**
@@ -81,44 +79,44 @@ public abstract class AbstractComponentTest
m_logger = createLogger(); m_logger = createLogger();


// Create the components // Create the components
m_componentManager = new DefaultComponentManager();
m_serviceManager = new DefaultServiceManager();
List components = new ArrayList(); List components = new ArrayList();


Component component = new DefaultMasterConverter();
m_componentManager.put( MasterConverter.ROLE, component );
Object component = new DefaultMasterConverter();
m_serviceManager.put( MasterConverter.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultConverterRegistry(); component = new DefaultConverterRegistry();
m_componentManager.put( ConverterRegistry.ROLE, component );
m_serviceManager.put( ConverterRegistry.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultTypeManager(); component = new DefaultTypeManager();
m_componentManager.put( TypeManager.ROLE, component );
m_serviceManager.put( TypeManager.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultConfigurer(); component = new DefaultConfigurer();
m_componentManager.put( Configurer.ROLE, component );
m_serviceManager.put( Configurer.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultDeployer(); component = new DefaultDeployer();
m_componentManager.put( Deployer.ROLE, component );
m_serviceManager.put( Deployer.ROLE, component );
components.add( component ); components.add( component );


final DefaultClassLoaderManager classLoaderMgr = new DefaultClassLoaderManager(); final DefaultClassLoaderManager classLoaderMgr = new DefaultClassLoaderManager();
classLoaderMgr.setBaseClassLoader( getClass().getClassLoader() ); classLoaderMgr.setBaseClassLoader( getClass().getClassLoader() );
m_componentManager.put( ClassLoaderManager.ROLE, classLoaderMgr );
m_serviceManager.put( ClassLoaderManager.ROLE, classLoaderMgr );
components.add( classLoaderMgr ); components.add( classLoaderMgr );


component = new DefaultExtensionManager(); component = new DefaultExtensionManager();
m_componentManager.put( ExtensionManager.ROLE, component );
m_serviceManager.put( ExtensionManager.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultRoleManager(); component = new DefaultRoleManager();
m_componentManager.put( RoleManager.ROLE, component );
m_serviceManager.put( RoleManager.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultServiceManager(); component = new DefaultServiceManager();
m_componentManager.put( ServiceManager.ROLE, component );
m_serviceManager.put( ServiceManager.ROLE, component );
components.add( component ); components.add( component );


// Log enable the components // Log enable the components
@@ -136,10 +134,10 @@ public abstract class AbstractComponentTest
for( Iterator iterator = components.iterator(); iterator.hasNext(); ) for( Iterator iterator = components.iterator(); iterator.hasNext(); )
{ {
Object obj = iterator.next(); Object obj = iterator.next();
if( obj instanceof Composable )
if( obj instanceof Serviceable )
{ {
final Composable composable = (Composable)obj;
composable.compose( m_componentManager );
final Serviceable serviceable = (Serviceable)obj;
serviceable.service( m_serviceManager );
} }
} }
} }
@@ -151,9 +149,9 @@ public abstract class AbstractComponentTest
protected void registerConverter( final Class converterClass, protected void registerConverter( final Class converterClass,
final Class sourceClass, final Class sourceClass,
final Class destClass ) final Class destClass )
throws ComponentException, TypeException
throws ServiceException, TypeException
{ {
ConverterRegistry converterRegistry = (ConverterRegistry)getComponentManager().lookup( ConverterRegistry.ROLE );
ConverterRegistry converterRegistry = (ConverterRegistry)getServiceManager().lookup( ConverterRegistry.ROLE );
converterRegistry.registerConverter( converterClass.getName(), sourceClass.getName(), destClass.getName() ); converterRegistry.registerConverter( converterClass.getName(), sourceClass.getName(), destClass.getName() );
DefaultTypeFactory factory = new DefaultTypeFactory( getClass().getClassLoader() ); DefaultTypeFactory factory = new DefaultTypeFactory( getClass().getClassLoader() );
factory.addNameClassMapping( converterClass.getName(), converterClass.getName() ); factory.addNameClassMapping( converterClass.getName(), converterClass.getName() );


+ 3
- 3
proposal/myrmidon/src/test/org/apache/myrmidon/components/configurer/DefaultConfigurerTest.java View File

@@ -49,7 +49,7 @@ public class DefaultConfigurerTest
super.setUp(); super.setUp();


// Find the configurer // Find the configurer
m_configurer = (Configurer)getComponentManager().lookup( Configurer.ROLE );
m_configurer = (Configurer)getServiceManager().lookup( Configurer.ROLE );


// Setup a context // Setup a context
m_context = new DefaultTaskContext(); m_context = new DefaultTaskContext();
@@ -434,7 +434,7 @@ public class DefaultConfigurerTest
config.setAttribute( "my-role1", "some value" ); config.setAttribute( "my-role1", "some value" );


// Set up the converter and role // Set up the converter and role
RoleManager roleMgr = (RoleManager)getComponentManager().lookup( RoleManager.ROLE );
RoleManager roleMgr = (RoleManager)getServiceManager().lookup( RoleManager.ROLE );
roleMgr.addNameRoleMapping( "my-role1", MyRole1.ROLE ); roleMgr.addNameRoleMapping( "my-role1", MyRole1.ROLE );
registerConverter( StringToMyRole1Converter.class, String.class, MyRole1.class ); registerConverter( StringToMyRole1Converter.class, String.class, MyRole1.class );


@@ -611,7 +611,7 @@ public class DefaultConfigurerTest
config.addChild( child ); config.addChild( child );


// Add role mapping, and add to reference to context // Add role mapping, and add to reference to context
final RoleManager roleMgr = (RoleManager)getComponentManager().lookup( RoleManager.ROLE );
final RoleManager roleMgr = (RoleManager)getServiceManager().lookup( RoleManager.ROLE );
roleMgr.addNameRoleMapping( "my-role1", MyRole1.class.getName() ); roleMgr.addNameRoleMapping( "my-role1", MyRole1.class.getName() );
m_context.setProperty( "id", new MyType1() ); m_context.setProperty( "id", new MyType1() );
m_context.setProperty( "id2", new MyType2() ); m_context.setProperty( "id2", new MyType2() );


+ 3
- 3
proposal/myrmidon/src/test/org/apache/myrmidon/components/deployer/DefaultDeployerTest.java View File

@@ -49,11 +49,11 @@ public class DefaultDeployerTest
protected void setUp() throws Exception protected void setUp() throws Exception
{ {
super.setUp(); super.setUp();
m_deployer = (Deployer)getComponentManager().lookup( Deployer.ROLE );
m_converter = (MasterConverter)getComponentManager().lookup( MasterConverter.ROLE );
m_deployer = (Deployer)getServiceManager().lookup( Deployer.ROLE );
m_converter = (MasterConverter)getServiceManager().lookup( MasterConverter.ROLE );


// Add some core roles // Add some core roles
m_roleManager = (RoleManager)getComponentManager().lookup( RoleManager.ROLE );
m_roleManager = (RoleManager)getServiceManager().lookup( RoleManager.ROLE );
m_roleManager.addNameRoleMapping( DATA_TYPE_ROLE, DataType.ROLE ); m_roleManager.addNameRoleMapping( DATA_TYPE_ROLE, DataType.ROLE );
m_roleManager.addNameRoleMapping( "converter", Converter.ROLE ); m_roleManager.addNameRoleMapping( "converter", Converter.ROLE );
} }


+ 26
- 28
proposal/myrmidon/src/testcases/org/apache/myrmidon/components/AbstractComponentTest.java View File

@@ -10,13 +10,12 @@ package org.apache.myrmidon.components;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
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.component.DefaultComponentManager;
import org.apache.avalon.framework.logger.LogEnabled; import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.logger.Logger; import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.service.DefaultServiceManager;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.myrmidon.AbstractMyrmidonTest; import org.apache.myrmidon.AbstractMyrmidonTest;
import org.apache.myrmidon.components.configurer.DefaultConfigurer; import org.apache.myrmidon.components.configurer.DefaultConfigurer;
import org.apache.myrmidon.components.converter.DefaultConverterRegistry; import org.apache.myrmidon.components.converter.DefaultConverterRegistry;
@@ -26,7 +25,6 @@ import org.apache.myrmidon.components.deployer.DefaultClassLoaderManager;
import org.apache.myrmidon.components.deployer.DefaultDeployer; import org.apache.myrmidon.components.deployer.DefaultDeployer;
import org.apache.myrmidon.components.extensions.DefaultExtensionManager; import org.apache.myrmidon.components.extensions.DefaultExtensionManager;
import org.apache.myrmidon.components.role.DefaultRoleManager; import org.apache.myrmidon.components.role.DefaultRoleManager;
import org.apache.myrmidon.components.service.DefaultServiceManager;
import org.apache.myrmidon.components.type.DefaultTypeManager; import org.apache.myrmidon.components.type.DefaultTypeManager;
import org.apache.aut.converter.Converter; import org.apache.aut.converter.Converter;
import org.apache.myrmidon.interfaces.configurer.Configurer; import org.apache.myrmidon.interfaces.configurer.Configurer;
@@ -35,7 +33,6 @@ import org.apache.myrmidon.interfaces.converter.MasterConverter;
import org.apache.myrmidon.interfaces.deployer.Deployer; import org.apache.myrmidon.interfaces.deployer.Deployer;
import org.apache.myrmidon.interfaces.extensions.ExtensionManager; import org.apache.myrmidon.interfaces.extensions.ExtensionManager;
import org.apache.myrmidon.interfaces.role.RoleManager; import org.apache.myrmidon.interfaces.role.RoleManager;
import org.apache.myrmidon.interfaces.service.ServiceManager;
import org.apache.myrmidon.interfaces.type.DefaultTypeFactory; import org.apache.myrmidon.interfaces.type.DefaultTypeFactory;
import org.apache.myrmidon.interfaces.type.TypeException; import org.apache.myrmidon.interfaces.type.TypeException;
import org.apache.myrmidon.interfaces.type.TypeManager; import org.apache.myrmidon.interfaces.type.TypeManager;
@@ -48,7 +45,7 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
public abstract class AbstractComponentTest public abstract class AbstractComponentTest
extends AbstractMyrmidonTest extends AbstractMyrmidonTest
{ {
private DefaultComponentManager m_componentManager;
private DefaultServiceManager m_serviceManager;
private Logger m_logger; private Logger m_logger;


public AbstractComponentTest( final String name ) public AbstractComponentTest( final String name )
@@ -59,17 +56,18 @@ public abstract class AbstractComponentTest
/** /**
* Returns the component manager containing the components to test. * Returns the component manager containing the components to test.
*/ */
protected ComponentManager getComponentManager()
protected ServiceManager getServiceManager()
{ {
return m_componentManager;
return m_serviceManager;
} }


/** /**
* Returns the type manager. * Returns the type manager.
*/ */
protected TypeManager getTypeManager() throws ComponentException
protected TypeManager getTypeManager()
throws ServiceException
{ {
return (TypeManager)getComponentManager().lookup( TypeManager.ROLE );
return (TypeManager)getServiceManager().lookup( TypeManager.ROLE );
} }


/** /**
@@ -81,44 +79,44 @@ public abstract class AbstractComponentTest
m_logger = createLogger(); m_logger = createLogger();


// Create the components // Create the components
m_componentManager = new DefaultComponentManager();
m_serviceManager = new DefaultServiceManager();
List components = new ArrayList(); List components = new ArrayList();


Component component = new DefaultMasterConverter();
m_componentManager.put( MasterConverter.ROLE, component );
Object component = new DefaultMasterConverter();
m_serviceManager.put( MasterConverter.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultConverterRegistry(); component = new DefaultConverterRegistry();
m_componentManager.put( ConverterRegistry.ROLE, component );
m_serviceManager.put( ConverterRegistry.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultTypeManager(); component = new DefaultTypeManager();
m_componentManager.put( TypeManager.ROLE, component );
m_serviceManager.put( TypeManager.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultConfigurer(); component = new DefaultConfigurer();
m_componentManager.put( Configurer.ROLE, component );
m_serviceManager.put( Configurer.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultDeployer(); component = new DefaultDeployer();
m_componentManager.put( Deployer.ROLE, component );
m_serviceManager.put( Deployer.ROLE, component );
components.add( component ); components.add( component );


final DefaultClassLoaderManager classLoaderMgr = new DefaultClassLoaderManager(); final DefaultClassLoaderManager classLoaderMgr = new DefaultClassLoaderManager();
classLoaderMgr.setBaseClassLoader( getClass().getClassLoader() ); classLoaderMgr.setBaseClassLoader( getClass().getClassLoader() );
m_componentManager.put( ClassLoaderManager.ROLE, classLoaderMgr );
m_serviceManager.put( ClassLoaderManager.ROLE, classLoaderMgr );
components.add( classLoaderMgr ); components.add( classLoaderMgr );


component = new DefaultExtensionManager(); component = new DefaultExtensionManager();
m_componentManager.put( ExtensionManager.ROLE, component );
m_serviceManager.put( ExtensionManager.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultRoleManager(); component = new DefaultRoleManager();
m_componentManager.put( RoleManager.ROLE, component );
m_serviceManager.put( RoleManager.ROLE, component );
components.add( component ); components.add( component );


component = new DefaultServiceManager(); component = new DefaultServiceManager();
m_componentManager.put( ServiceManager.ROLE, component );
m_serviceManager.put( ServiceManager.ROLE, component );
components.add( component ); components.add( component );


// Log enable the components // Log enable the components
@@ -136,10 +134,10 @@ public abstract class AbstractComponentTest
for( Iterator iterator = components.iterator(); iterator.hasNext(); ) for( Iterator iterator = components.iterator(); iterator.hasNext(); )
{ {
Object obj = iterator.next(); Object obj = iterator.next();
if( obj instanceof Composable )
if( obj instanceof Serviceable )
{ {
final Composable composable = (Composable)obj;
composable.compose( m_componentManager );
final Serviceable serviceable = (Serviceable)obj;
serviceable.service( m_serviceManager );
} }
} }
} }
@@ -151,9 +149,9 @@ public abstract class AbstractComponentTest
protected void registerConverter( final Class converterClass, protected void registerConverter( final Class converterClass,
final Class sourceClass, final Class sourceClass,
final Class destClass ) final Class destClass )
throws ComponentException, TypeException
throws ServiceException, TypeException
{ {
ConverterRegistry converterRegistry = (ConverterRegistry)getComponentManager().lookup( ConverterRegistry.ROLE );
ConverterRegistry converterRegistry = (ConverterRegistry)getServiceManager().lookup( ConverterRegistry.ROLE );
converterRegistry.registerConverter( converterClass.getName(), sourceClass.getName(), destClass.getName() ); converterRegistry.registerConverter( converterClass.getName(), sourceClass.getName(), destClass.getName() );
DefaultTypeFactory factory = new DefaultTypeFactory( getClass().getClassLoader() ); DefaultTypeFactory factory = new DefaultTypeFactory( getClass().getClassLoader() );
factory.addNameClassMapping( converterClass.getName(), converterClass.getName() ); factory.addNameClassMapping( converterClass.getName(), converterClass.getName() );


+ 3
- 3
proposal/myrmidon/src/testcases/org/apache/myrmidon/components/configurer/DefaultConfigurerTest.java View File

@@ -49,7 +49,7 @@ public class DefaultConfigurerTest
super.setUp(); super.setUp();


// Find the configurer // Find the configurer
m_configurer = (Configurer)getComponentManager().lookup( Configurer.ROLE );
m_configurer = (Configurer)getServiceManager().lookup( Configurer.ROLE );


// Setup a context // Setup a context
m_context = new DefaultTaskContext(); m_context = new DefaultTaskContext();
@@ -434,7 +434,7 @@ public class DefaultConfigurerTest
config.setAttribute( "my-role1", "some value" ); config.setAttribute( "my-role1", "some value" );


// Set up the converter and role // Set up the converter and role
RoleManager roleMgr = (RoleManager)getComponentManager().lookup( RoleManager.ROLE );
RoleManager roleMgr = (RoleManager)getServiceManager().lookup( RoleManager.ROLE );
roleMgr.addNameRoleMapping( "my-role1", MyRole1.ROLE ); roleMgr.addNameRoleMapping( "my-role1", MyRole1.ROLE );
registerConverter( StringToMyRole1Converter.class, String.class, MyRole1.class ); registerConverter( StringToMyRole1Converter.class, String.class, MyRole1.class );


@@ -611,7 +611,7 @@ public class DefaultConfigurerTest
config.addChild( child ); config.addChild( child );


// Add role mapping, and add to reference to context // Add role mapping, and add to reference to context
final RoleManager roleMgr = (RoleManager)getComponentManager().lookup( RoleManager.ROLE );
final RoleManager roleMgr = (RoleManager)getServiceManager().lookup( RoleManager.ROLE );
roleMgr.addNameRoleMapping( "my-role1", MyRole1.class.getName() ); roleMgr.addNameRoleMapping( "my-role1", MyRole1.class.getName() );
m_context.setProperty( "id", new MyType1() ); m_context.setProperty( "id", new MyType1() );
m_context.setProperty( "id2", new MyType2() ); m_context.setProperty( "id2", new MyType2() );


+ 3
- 3
proposal/myrmidon/src/testcases/org/apache/myrmidon/components/deployer/DefaultDeployerTest.java View File

@@ -49,11 +49,11 @@ public class DefaultDeployerTest
protected void setUp() throws Exception protected void setUp() throws Exception
{ {
super.setUp(); super.setUp();
m_deployer = (Deployer)getComponentManager().lookup( Deployer.ROLE );
m_converter = (MasterConverter)getComponentManager().lookup( MasterConverter.ROLE );
m_deployer = (Deployer)getServiceManager().lookup( Deployer.ROLE );
m_converter = (MasterConverter)getServiceManager().lookup( MasterConverter.ROLE );


// Add some core roles // Add some core roles
m_roleManager = (RoleManager)getComponentManager().lookup( RoleManager.ROLE );
m_roleManager = (RoleManager)getServiceManager().lookup( RoleManager.ROLE );
m_roleManager.addNameRoleMapping( DATA_TYPE_ROLE, DataType.ROLE ); m_roleManager.addNameRoleMapping( DATA_TYPE_ROLE, DataType.ROLE );
m_roleManager.addNameRoleMapping( "converter", Converter.ROLE ); m_roleManager.addNameRoleMapping( "converter", Converter.ROLE );
} }


Loading…
Cancel
Save