Browse Source

Restyled.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270299 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 24 years ago
parent
commit
3d04769940
51 changed files with 492 additions and 436 deletions
  1. +4
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/Constants.java
  2. +2
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/api/AbstractTask.java
  3. +4
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/api/JavaVersion.java
  4. +3
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/api/Task.java
  5. +6
    -6
      proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java
  6. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AspectHandler.java
  7. +14
    -11
      proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/ATIProjectBuilder.java
  8. +11
    -15
      proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/DefaultProjectBuilder.java
  9. +3
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/ReactorPIHandler.java
  10. +19
    -11
      proposal/myrmidon/src/java/org/apache/myrmidon/components/configurer/DefaultConfigurer.java
  11. +3
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultConverterRegistry.java
  12. +18
    -15
      proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultMasterConverter.java
  13. +19
    -21
      proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/DefaultDeployer.java
  14. +9
    -8
      proposal/myrmidon/src/java/org/apache/myrmidon/components/deployer/Deployment.java
  15. +30
    -30
      proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/DefaultEmbeddor.java
  16. +9
    -10
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/AspectAwareExecutor.java
  17. +4
    -13
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java
  18. +22
    -13
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java
  19. +5
    -6
      proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/PrintingExecutor.java
  20. +6
    -7
      proposal/myrmidon/src/java/org/apache/myrmidon/components/model/DefaultProject.java
  21. +3
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/components/role/DefaultRoleManager.java
  22. +11
    -11
      proposal/myrmidon/src/java/org/apache/myrmidon/components/type/DefaultTypeManager.java
  23. +4
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/components/type/MultiSourceTypeFactory.java
  24. +22
    -12
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultTaskContext.java
  25. +13
    -13
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/DefaultWorkspace.java
  26. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/LogTargetToListenerAdapter.java
  27. +3
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/ProjectEntry.java
  28. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/ProjectListenerSupport.java
  29. +2
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/converter/AbstractConverter.java
  30. +5
    -7
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/AbstractContainerTask.java
  31. +10
    -7
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/AbstractTypeDef.java
  32. +2
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/Condition.java
  33. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/DataType.java
  34. +70
    -49
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/Os.java
  35. +2
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/Pattern.java
  36. +8
    -6
      proposal/myrmidon/src/java/org/apache/myrmidon/framework/TypeInstanceTask.java
  37. +109
    -89
      proposal/myrmidon/src/java/org/apache/myrmidon/frontends/CLIMain.java
  38. +0
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/builder/ProjectBuilder.java
  39. +0
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/embeddor/Embeddor.java
  40. +3
    -0
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/executor/ExecutionFrame.java
  41. +0
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/executor/Executor.java
  42. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/extensions/ExtensionManager.java
  43. +1
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/model/Project.java
  44. +4
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/model/Target.java
  45. +3
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/model/TypeLib.java
  46. +5
    -7
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/type/DefaultTypeFactory.java
  47. +0
    -1
      proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/workspace/Workspace.java
  48. +5
    -6
      proposal/myrmidon/src/java/org/apache/myrmidon/launcher/Main.java
  49. +0
    -2
      proposal/myrmidon/src/java/org/apache/myrmidon/listeners/AbstractProjectListener.java
  50. +5
    -3
      proposal/myrmidon/src/java/org/apache/myrmidon/listeners/ClassicProjectListener.java
  51. +6
    -4
      proposal/myrmidon/src/java/org/apache/myrmidon/listeners/DefaultProjectListener.java

+ 4
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/Constants.java View File

@@ -9,14 +9,14 @@ package org.apache.myrmidon;

/**
* Abstract interface to hold constants.
*
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
*/
public interface Constants
{
//Constants to indicate the build of Myrmidon
String BUILD_DATE = "@@DATE@@";
String BUILD_VERSION = "@@VERSION@@";
String BUILD_DATE = "@@DATE@@";
String BUILD_VERSION = "@@VERSION@@";

String BUILD_DESCRIPTION = "Myrmidon " + BUILD_VERSION + " compiled on " + BUILD_DATE;
String BUILD_DESCRIPTION = "Myrmidon " + BUILD_VERSION + " compiled on " + BUILD_DATE;
}

+ 2
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/api/AbstractTask.java View File

@@ -119,8 +119,8 @@ public abstract class AbstractTask
}

protected final void setProperty( final String name,
final Object value,
final TaskContext.ScopeEnum scope )
final Object value,
final TaskContext.ScopeEnum scope )
throws TaskException
{
getContext().setProperty( name, value, scope );


+ 4
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/api/JavaVersion.java View File

@@ -18,10 +18,10 @@ public final class JavaVersion
extends ValuedEnum
{
//standard enums for version of JVM
public final static JavaVersion JAVA1_0 = new JavaVersion( "Java 1.0", 100 );
public final static JavaVersion JAVA1_1 = new JavaVersion( "Java 1.1", 110 );
public final static JavaVersion JAVA1_2 = new JavaVersion( "Java 1.2", 120 );
public final static JavaVersion JAVA1_3 = new JavaVersion( "Java 1.3", 130 );
public final static JavaVersion JAVA1_0 = new JavaVersion( "Java 1.0", 100 );
public final static JavaVersion JAVA1_1 = new JavaVersion( "Java 1.1", 110 );
public final static JavaVersion JAVA1_2 = new JavaVersion( "Java 1.2", 120 );
public final static JavaVersion JAVA1_3 = new JavaVersion( "Java 1.3", 130 );

/**
* Private constructor so no instance except here can be defined.


+ 3
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/api/Task.java View File

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

/**
* This is the interface that tasks implement to be executed in Myrmidon runtime.
*
* Instances can also implement the Avalon lifecycle methods
*
* Instances can also implement the Avalon lifecycle methods
* LogEnabled, Contextualizable, Composable, Initializable and Disposable.
* Each of these lifecycle stages will be executed at appropriate time.
*
@@ -28,7 +28,7 @@ public interface Task
String ROLE = "org.apache.myrmidon.api.Task";

/**
* Execute task.
* Execute task.
* This method is called to perform actual work associated with task.
* It is called after Task has been Configured and Initialized and before
* being Disposed (If task implements appropriate interfaces).


+ 6
- 6
proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java View File

@@ -8,8 +8,8 @@
package org.apache.myrmidon.aspects;

import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.TaskException;

@@ -22,12 +22,12 @@ import org.apache.myrmidon.api.TaskException;
public abstract class AbstractAspectHandler
implements AspectHandler
{
private Parameters m_aspectParameters;
private Configuration[] m_aspectElements;
private Parameters m_aspectParameters;
private Configuration[] m_aspectElements;

private Task m_task;
private Logger m_logger;
private Configuration m_taskModel;
private Task m_task;
private Logger m_logger;
private Configuration m_taskModel;

public Configuration preCreate( final Configuration taskModel )
throws TaskException


+ 1
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AspectHandler.java View File

@@ -8,8 +8,8 @@
package org.apache.myrmidon.aspects;

import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.TaskException;



+ 14
- 11
proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/ATIProjectBuilder.java View File

@@ -13,13 +13,8 @@ import java.util.Properties;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
@@ -41,8 +36,8 @@ public class ATIProjectBuilder
private static final Resources REZ =
ResourceManager.getPackageResources( ATIProjectBuilder.class );

private Parameters m_parameters;
private URL m_systemID;
private Parameters m_parameters;
private URL m_systemID;

public void parameterize( final Parameters parameters )
{
@@ -62,7 +57,10 @@ public class ATIProjectBuilder
final ReactorPIHandler reactorHandler = new ReactorPIHandler();
reader.setContentHandler( reactorHandler );

try { reader.parse( sourceID.toString() ); }
try
{
reader.parse( sourceID.toString() );
}
catch( final StopParsingException spe )
{
//Ignore me
@@ -76,8 +74,10 @@ public class ATIProjectBuilder
final String target = reactorHandler.getTarget( i );
final String data = reactorHandler.getData( i );

if( target.equals( "xsl-param" ) ) handleParameter( data );
else if( target.equals( "xsl-params" ) ) handleParameters( data, sourceID );
if( target.equals( "xsl-param" ) )
handleParameter( data );
else if( target.equals( "xsl-params" ) )
handleParameters( data, sourceID );
else if( target.equals( "xsl-stylesheet" ) )
{
if( null != transformer )
@@ -180,7 +180,10 @@ public class ATIProjectBuilder
throw new SAXException( message );
}

try { return new URL( baseSource, stylesheet[ 1 ] ).toString(); }
try
{
return new URL( baseSource, stylesheet[ 1 ] ).toString();
}
catch( final Exception e )
{
final String message =


+ 11
- 15
proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/DefaultProjectBuilder.java View File

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

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
@@ -16,22 +15,16 @@ import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.excalibur.util.StringUtil;
import org.apache.avalon.framework.ExceptionUtil;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.configuration.SAXConfigurationHandler;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.log.Logger;
import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.components.model.DefaultProject;
import org.apache.myrmidon.framework.Condition;
import org.apache.myrmidon.interfaces.builder.ProjectBuilder;
import org.apache.myrmidon.interfaces.model.Project;
import org.apache.myrmidon.interfaces.model.Target;
import org.apache.myrmidon.interfaces.model.TypeLib;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;

/**
@@ -46,10 +39,10 @@ public class DefaultProjectBuilder
private static final Resources REZ =
ResourceManager.getPackageResources( DefaultProjectBuilder.class );

private final static int PROJECT_REFERENCES = 0;
private final static int LIBRARY_IMPORTS = 1;
private final static int IMPLICIT_TASKS = 2;
private final static int TARGETS = 3;
private final static int PROJECT_REFERENCES = 0;
private final static int LIBRARY_IMPORTS = 1;
private final static int IMPLICIT_TASKS = 2;
private final static int TARGETS = 3;

/**
* build a project from file.
@@ -135,7 +128,7 @@ public class DefaultProjectBuilder

//determine base directory for project
final File baseDirectory =
(new File( file.getParentFile(), baseDirectoryName )).getAbsoluteFile();
( new File( file.getParentFile(), baseDirectoryName ) ).getAbsoluteFile();

if( getLogger().isDebugEnabled() )
{
@@ -214,7 +207,8 @@ public class DefaultProjectBuilder
}
}

if( name.equals( "target" ) ) buildTarget( project, element );
if( name.equals( "target" ) )
buildTarget( project, element );
else
{
final String message =
@@ -406,7 +400,9 @@ public class DefaultProjectBuilder

protected boolean validName( final String name )
{
if( -1 != name.indexOf( "->" ) ) return false;
else return true;
if( -1 != name.indexOf( "->" ) )
return false;
else
return true;
}
}

+ 3
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/components/builder/ReactorPIHandler.java View File

@@ -22,8 +22,8 @@ import org.xml.sax.helpers.DefaultHandler;
public class ReactorPIHandler
extends DefaultHandler
{
private ArrayList m_targets = new ArrayList();
private ArrayList m_data = new ArrayList();
private ArrayList m_targets = new ArrayList();
private ArrayList m_data = new ArrayList();

public int getPICount()
{
@@ -46,7 +46,7 @@ public class ReactorPIHandler
m_targets.add( target );
m_data.add( data );
}
public void startElement( final String uri,
final String localName,
final String qName,


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

@@ -92,7 +92,7 @@ public class DefaultConfigurer
getLogger().debug( "Configuring object via Configurable interface" );
}

((Configurable)object).configure( configuration );
( (Configurable)object ).configure( configuration );
}
else
{
@@ -317,14 +317,22 @@ public class DefaultConfigurer

private Class getComplexTypeFor( final Class clazz )
{
if( String.class == clazz ) return String.class;
else if( Integer.TYPE.equals( clazz ) ) return Integer.class;
else if( Long.TYPE.equals( clazz ) ) return Long.class;
else if( Short.TYPE.equals( clazz ) ) return Short.class;
else if( Byte.TYPE.equals( clazz ) ) return Byte.class;
else if( Boolean.TYPE.equals( clazz ) ) return Boolean.class;
else if( Float.TYPE.equals( clazz ) ) return Float.class;
else if( Double.TYPE.equals( clazz ) ) return Double.class;
if( String.class == clazz )
return String.class;
else if( Integer.TYPE.equals( clazz ) )
return Integer.class;
else if( Long.TYPE.equals( clazz ) )
return Long.class;
else if( Short.TYPE.equals( clazz ) )
return Short.class;
else if( Byte.TYPE.equals( clazz ) )
return Byte.class;
else if( Boolean.TYPE.equals( clazz ) )
return Boolean.class;
else if( Float.TYPE.equals( clazz ) )
return Float.class;
else if( Double.TYPE.equals( clazz ) )
return Double.class;
else
{
final String message = REZ.getString( "no-complex-type.error", clazz.getName() );
@@ -341,7 +349,7 @@ public class DefaultConfigurer
{
final Method method = methods[ i ];
if( methodName.equals( method.getName() ) &&
Method.PUBLIC == (method.getModifiers() & Method.PUBLIC) )
Method.PUBLIC == ( method.getModifiers() & Method.PUBLIC ) )
{
if( method.getReturnType().equals( Void.TYPE ) )
{
@@ -366,7 +374,7 @@ public class DefaultConfigurer
{
final Method method = methods[ i ];
if( methodName.equals( method.getName() ) &&
Method.PUBLIC == (method.getModifiers() & Method.PUBLIC) )
Method.PUBLIC == ( method.getModifiers() & Method.PUBLIC ) )
{
final Class returnType = method.getReturnType();
if( !returnType.equals( Void.TYPE ) &&


+ 3
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultConverterRegistry.java View File

@@ -18,7 +18,7 @@ import org.apache.myrmidon.interfaces.converter.ConverterRegistry;
public class DefaultConverterRegistry
implements ConverterRegistry
{
private final HashMap m_mapping = new HashMap();
private final HashMap m_mapping = new HashMap();

public String getConverterName( final String source, final String destination )
{
@@ -27,8 +27,8 @@ public class DefaultConverterRegistry
return (String)map.get( destination );
}

public void registerConverter( final String className,
final String source,
public void registerConverter( final String className,
final String source,
final String destination )
{
HashMap map = (HashMap)m_mapping.get( source );


+ 18
- 15
proposal/myrmidon/src/java/org/apache/myrmidon/components/converter/DefaultMasterConverter.java View File

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

import org.apache.avalon.excalibur.i18n.ResourceManager;
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.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.myrmidon.interfaces.converter.MasterConverter;
import org.apache.myrmidon.converter.Converter;
import org.apache.myrmidon.converter.ConverterException;
import org.apache.myrmidon.interfaces.converter.ConverterRegistry;
import org.apache.myrmidon.interfaces.converter.MasterConverter;
import org.apache.myrmidon.interfaces.type.TypeException;
import org.apache.myrmidon.interfaces.type.TypeFactory;
import org.apache.myrmidon.interfaces.type.TypeManager;
import org.apache.myrmidon.converter.Converter;
import org.apache.myrmidon.converter.ConverterException;

/**
* Converter engine to handle converting between types.
@@ -34,10 +34,10 @@ public class DefaultMasterConverter
private static final Resources REZ =
ResourceManager.getPackageResources( DefaultMasterConverter.class );

private final static boolean DEBUG = false;
private final static boolean DEBUG = false;

private ConverterRegistry m_registry;
private TypeFactory m_factory;
private ConverterRegistry m_registry;
private TypeFactory m_factory;

/**
* Retrieve relevent services needed to deploy.
@@ -51,7 +51,10 @@ public class DefaultMasterConverter
m_registry = (ConverterRegistry)componentManager.lookup( ConverterRegistry.ROLE );

final TypeManager typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
try { m_factory = typeManager.getFactory( Converter.ROLE ); }
try
{
m_factory = typeManager.getFactory( Converter.ROLE );
}
catch( final TypeException te )
{
final String message = REZ.getString( "no-converter-factory.error" );
@@ -80,9 +83,9 @@ public class DefaultMasterConverter

if( DEBUG )
{
final String message =
REZ.getString( "converter-lookup.notice",
originalClass.getName(),
final String message =
REZ.getString( "converter-lookup.notice",
originalClass.getName(),
destination.getName() );
getLogger().debug( message );
}
@@ -93,9 +96,9 @@ public class DefaultMasterConverter

if( null == name )
{
final String message =
REZ.getString( "no-converter.notice",
originalClass.getName(),
final String message =
REZ.getString( "no-converter.notice",
originalClass.getName(),
destination.getName() );
throw new ConverterException( message );
}


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

@@ -8,31 +8,30 @@
package org.apache.myrmidon.components.deployer;

import java.io.File;
import java.net.URL;
import java.net.JarURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.JarURLConnection;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.jar.Manifest;
import java.util.HashMap;
import java.util.jar.Manifest;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.apache.avalon.excalibur.extension.PackageManager;
import org.apache.avalon.excalibur.extension.OptionalPackage;
import org.apache.avalon.excalibur.extension.Extension;
import org.apache.avalon.excalibur.extension.OptionalPackage;
import org.apache.avalon.excalibur.extension.PackageManager;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
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.configuration.SAXConfigurationHandler;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.configuration.SAXConfigurationHandler;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.converter.Converter;
import org.apache.myrmidon.interfaces.converter.ConverterRegistry;
import org.apache.myrmidon.interfaces.deployer.Deployer;
@@ -41,7 +40,6 @@ import org.apache.myrmidon.interfaces.extensions.ExtensionManager;
import org.apache.myrmidon.interfaces.role.RoleManager;
import org.apache.myrmidon.interfaces.type.DefaultTypeFactory;
import org.apache.myrmidon.interfaces.type.TypeManager;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;

/**
@@ -58,10 +56,10 @@ public class DefaultDeployer

private final static String TYPE_DESCRIPTOR = "META-INF/ant-types.xml";

private ConverterRegistry m_converterRegistry;
private TypeManager m_typeManager;
private RoleManager m_roleManager;
private PackageManager m_packageManager;
private ConverterRegistry m_converterRegistry;
private TypeManager m_typeManager;
private RoleManager m_roleManager;
private PackageManager m_packageManager;

/**
* Retrieve relevent services needed to deploy.
@@ -126,7 +124,7 @@ public class DefaultDeployer
final URL[] urls = buildClasspath( file, extensions );
final Deployment deployment = new Deployment( file );
final Configuration descriptor = deployment.getDescriptor();
final URLClassLoader classLoader =
new URLClassLoader( urls, Thread.currentThread().getContextClassLoader() );

@@ -218,7 +216,7 @@ public class DefaultDeployer
throws MalformedURLException
{
final URL[] urls = new URL[ dependencies.length + 1 ];
for( int i = 0; i < dependencies.length; i++ )
{
urls[ i ] = dependencies[ i ].toURL();
@@ -247,10 +245,10 @@ public class DefaultDeployer

if( getLogger().isDebugEnabled() )
{
final String message1 =
final String message1 =
REZ.getString( "available-extensions", Arrays.asList( available ) );
getLogger().debug( message1 );
final String message2 =
final String message2 =
REZ.getString( "required-extensions", Arrays.asList( required ) );
getLogger().debug( message2 );
}
@@ -271,12 +269,12 @@ public class DefaultDeployer
final Extension extension = (Extension)unsatisfied.get( i );
final Object[] params = new Object[]
{
extension.getExtensionName(),
extension.getSpecificationVendor(),
extension.getExtensionName(),
extension.getSpecificationVendor(),
extension.getSpecificationVersion(),
extension.getImplementationVendor(),
extension.getImplementationVendor(),
extension.getImplementationVendorId(),
extension.getImplementationVersion(),
extension.getImplementationVersion(),
extension.getImplementationURL()
};
final String message = REZ.format( "missing.extension", params );


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

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

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
@@ -17,11 +16,10 @@ import javax.xml.parsers.SAXParserFactory;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.configuration.SAXConfigurationHandler;
import org.apache.myrmidon.interfaces.deployer.DeploymentException;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.apache.myrmidon.interfaces.deployer.DeploymentException;

/**
* This class deploys a .tsk file into a registry.
@@ -33,17 +31,17 @@ public class Deployment
private static final Resources REZ =
ResourceManager.getPackageResources( Deployment.class );

public final static String DESCRIPTOR_NAME = "META-INF/ant-descriptor.xml";
public final static String DESCRIPTOR_NAME = "META-INF/ant-descriptor.xml";

private File m_file;
private File m_file;

private Configuration m_descriptor;
private Configuration m_descriptor;

public Deployment( final File file )
{
m_file = file;
}
public Configuration getDescriptor()
throws DeploymentException
{
@@ -58,7 +56,10 @@ public class Deployment
public URL getURL()
throws DeploymentException
{
try { return m_file.getCanonicalFile().toURL(); }
try
{
return m_file.getCanonicalFile().toURL();
}
catch( final IOException ioe )
{
final String message = REZ.getString( "bad-url.error", m_file );


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

@@ -9,7 +9,6 @@ package org.apache.myrmidon.components.embeddor;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Map;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.excalibur.io.ExtensionFileFilter;
@@ -29,9 +28,9 @@ import org.apache.myrmidon.interfaces.converter.ConverterRegistry;
import org.apache.myrmidon.interfaces.converter.MasterConverter;
import org.apache.myrmidon.interfaces.deployer.Deployer;
import org.apache.myrmidon.interfaces.deployer.DeploymentException;
import org.apache.myrmidon.interfaces.embeddor.Embeddor;
import org.apache.myrmidon.interfaces.executor.Executor;
import org.apache.myrmidon.interfaces.extensions.ExtensionManager;
import org.apache.myrmidon.interfaces.embeddor.Embeddor;
import org.apache.myrmidon.interfaces.model.Project;
import org.apache.myrmidon.interfaces.role.RoleManager;
import org.apache.myrmidon.interfaces.type.TypeFactory;
@@ -51,26 +50,26 @@ public class DefaultEmbeddor
private static final Resources REZ =
ResourceManager.getPackageResources( DefaultEmbeddor.class );

private Deployer m_deployer;
private RoleManager m_roleManager;
private Deployer m_deployer;
private RoleManager m_roleManager;

private AspectManager m_aspectManager;
private TypeManager m_typeManager;
private MasterConverter m_converter;
private ConverterRegistry m_converterRegistry;
private ExtensionManager m_extensionManager;
private AspectManager m_aspectManager;
private TypeManager m_typeManager;
private MasterConverter m_converter;
private ConverterRegistry m_converterRegistry;
private ExtensionManager m_extensionManager;

private Executor m_executor;
private Configurer m_configurer;
private Executor m_executor;
private Configurer m_configurer;

private DefaultComponentManager m_componentManager;
private Parameters m_parameters;
private Parameters m_defaults;
private DefaultComponentManager m_componentManager;
private Parameters m_parameters;
private Parameters m_defaults;

private File m_homeDir;
private File m_binDir;
private File m_libDir;
private File m_taskLibDir;
private File m_homeDir;
private File m_binDir;
private File m_libDir;
private File m_taskLibDir;

/**
* Setup basic properties of engine.
@@ -114,17 +113,17 @@ public class DefaultEmbeddor

if( builder instanceof Composable )
{
((Composable)builder).compose( m_componentManager );
( (Composable)builder ).compose( m_componentManager );
}

if( builder instanceof Parameterizable )
{
((Parameterizable)builder).parameterize( parameters );
( (Parameterizable)builder ).parameterize( parameters );
}

if( builder instanceof Initializable )
{
((Initializable)builder).initialize();
( (Initializable)builder ).initialize();
}

return builder;
@@ -139,20 +138,19 @@ public class DefaultEmbeddor

setupLogger( workspace );


if( workspace instanceof Composable )
{
((Composable)workspace).compose( m_componentManager );
( (Composable)workspace ).compose( m_componentManager );
}

if( workspace instanceof Parameterizable )
{
((Parameterizable)workspace).parameterize( parameters );
( (Parameterizable)workspace ).parameterize( parameters );
}

if( workspace instanceof Initializable )
{
((Initializable)workspace).initialize();
( (Initializable)workspace ).initialize();
}

return workspace;
@@ -350,17 +348,17 @@ public class DefaultEmbeddor

if( component instanceof Composable )
{
((Composable)component).compose( m_componentManager );
( (Composable)component ).compose( m_componentManager );
}

if( component instanceof Parameterizable )
{
((Parameterizable)component).parameterize( m_parameters );
( (Parameterizable)component ).parameterize( m_parameters );
}

if( component instanceof Initializable )
{
((Initializable)component).initialize();
( (Initializable)component ).initialize();
}
}

@@ -373,7 +371,7 @@ public class DefaultEmbeddor
String filepath = null;

filepath = getParameter( "myrmidon.home" );
m_homeDir = (new File( filepath )).getAbsoluteFile();
m_homeDir = ( new File( filepath ) ).getAbsoluteFile();
checkDirectory( m_homeDir, "home" );

filepath = getParameter( "myrmidon.bin.path" );
@@ -457,7 +455,9 @@ public class DefaultEmbeddor
Class.forName( "java.lang.StrictMath" );
version = JavaVersion.JAVA1_3;
}
catch( final ClassNotFoundException cnfe ) {}
catch( final ClassNotFoundException cnfe )
{
}

return version;
}


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

@@ -14,15 +14,12 @@ 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.DefaultConfiguration;
import org.apache.avalon.framework.configuration.DefaultConfigurationSerializer;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.configuration.DefaultConfiguration;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.aspects.AspectHandler;
import org.apache.myrmidon.interfaces.aspect.AspectManager;
import org.apache.myrmidon.interfaces.executor.ExecutionFrame;

@@ -32,8 +29,8 @@ public class AspectAwareExecutor
private static final Resources REZ =
ResourceManager.getPackageResources( AspectAwareExecutor.class );

private final static Parameters EMPTY_PARAMETERS;
private final static Configuration[] EMPTY_ELEMENTS = new Configuration[ 0 ];
private final static Parameters EMPTY_PARAMETERS;
private final static Configuration[] EMPTY_ELEMENTS = new Configuration[ 0 ];

static
{
@@ -41,7 +38,7 @@ public class AspectAwareExecutor
EMPTY_PARAMETERS.makeReadOnly();
}

private AspectManager m_aspectManager;
private AspectManager m_aspectManager;

/**
* Retrieve relevent services.
@@ -158,7 +155,8 @@ public class AspectAwareExecutor
if( null == parameters ) parameters = EMPTY_PARAMETERS;

Configuration[] elements = null;
if( null == elementList ) elements = EMPTY_ELEMENTS;
if( null == elementList )
elements = EMPTY_ELEMENTS;
else
{
elements = (Configuration[])elementList.toArray( EMPTY_ELEMENTS );
@@ -185,7 +183,8 @@ public class AspectAwareExecutor

Configuration[] elements = null;

if( null == elementList ) elements = EMPTY_ELEMENTS;
if( null == elementList )
elements = EMPTY_ELEMENTS;
else
{
elements = (Configuration[])elementList.toArray( EMPTY_ELEMENTS );


+ 4
- 13
proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/DefaultExecutionFrame.java View File

@@ -10,21 +10,12 @@ package org.apache.myrmidon.components.executor;
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.context.Context;
import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.logger.Logger;
import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.interfaces.aspect.AspectManager;
import org.apache.myrmidon.interfaces.builder.ProjectBuilder;
import org.apache.myrmidon.interfaces.configurer.Configurer;
import org.apache.myrmidon.interfaces.converter.ConverterRegistry;
import org.apache.myrmidon.interfaces.converter.MasterConverter;
import org.apache.myrmidon.interfaces.deployer.Deployer;
import org.apache.myrmidon.interfaces.executor.Executor;
import org.apache.myrmidon.interfaces.executor.ExecutionFrame;
import org.apache.myrmidon.interfaces.role.RoleManager;
import org.apache.myrmidon.interfaces.type.TypeManager;

/**
@@ -35,11 +26,11 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
public class DefaultExecutionFrame
implements ExecutionFrame, LogEnabled, Contextualizable, Composable
{
private TypeManager m_typeManager;
private TypeManager m_typeManager;

private Logger m_logger;
private TaskContext m_context;
private ComponentManager m_componentManager;
private Logger m_logger;
private TaskContext m_context;
private ComponentManager m_componentManager;

public void enableLogging( final Logger logger )
{


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

@@ -11,14 +11,10 @@ import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
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.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.LogEnabled;
@@ -26,13 +22,11 @@ import org.apache.avalon.framework.logger.Logger;
import org.apache.myrmidon.api.Task;
import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.interfaces.configurer.Configurer;
import org.apache.myrmidon.interfaces.executor.ExecutionFrame;
import org.apache.myrmidon.interfaces.executor.Executor;
import org.apache.myrmidon.interfaces.type.TypeException;
import org.apache.myrmidon.interfaces.type.TypeFactory;
import org.apache.myrmidon.interfaces.type.TypeManager;

public class DefaultExecutor
extends AbstractLogEnabled
@@ -41,7 +35,7 @@ public class DefaultExecutor
private static final Resources REZ =
ResourceManager.getPackageResources( DefaultExecutor.class );

private Configurer m_configurer;
private Configurer m_configurer;

/**
* Retrieve relevent services needed to deploy.
@@ -112,7 +106,10 @@ public class DefaultExecutor
final TaskContext context )
throws TaskException
{
try { m_configurer.configure( task, taskModel, context ); }
try
{
m_configurer.configure( task, taskModel, context );
}
catch( final Throwable throwable )
{
final String message =
@@ -131,7 +128,10 @@ public class DefaultExecutor
{
if( task instanceof Composable )
{
try { ((Composable)task).compose( componentManager ); }
try
{
( (Composable)task ).compose( componentManager );
}
catch( final Throwable throwable )
{
final String message =
@@ -153,7 +153,7 @@ public class DefaultExecutor
{
if( task instanceof Contextualizable )
{
((Contextualizable)task).contextualize( context );
( (Contextualizable)task ).contextualize( context );
}
}
catch( final Throwable throwable )
@@ -172,7 +172,10 @@ public class DefaultExecutor
{
if( task instanceof Disposable )
{
try { ((Disposable)task).dispose(); }
try
{
( (Disposable)task ).dispose();
}
catch( final Throwable throwable )
{
final String message =
@@ -192,7 +195,10 @@ public class DefaultExecutor
{
if( task instanceof LogEnabled )
{
try { ((LogEnabled)task).enableLogging( logger ); }
try
{
( (LogEnabled)task ).enableLogging( logger );
}
catch( final Throwable throwable )
{
final String message =
@@ -210,7 +216,10 @@ public class DefaultExecutor
{
if( task instanceof Initializable )
{
try { ((Initializable)task).initialize(); }
try
{
( (Initializable)task ).initialize();
}
catch( final Throwable throwable )
{
final String message =


+ 5
- 6
proposal/myrmidon/src/java/org/apache/myrmidon/components/executor/PrintingExecutor.java View File

@@ -7,9 +7,9 @@
*/
package org.apache.myrmidon.components.executor;

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

public class PrintingExecutor
extends AspectAwareExecutor
@@ -19,23 +19,22 @@ public class PrintingExecutor
{
final StringBuffer sb = new StringBuffer();
printConfiguration( taskModel, 0, sb );
System.out.println( sb.toString() );
}

private void printConfiguration( final Configuration taskModel,
final int level,
private void printConfiguration( final Configuration taskModel,
final int level,
final StringBuffer sb )
{
for( int i = 0; i < level; i++ )
{
sb.append( ' ' );
}
sb.append( '<' );
sb.append( taskModel.getName() );


final String[] names = taskModel.getAttributeNames();
for( int i = 0; i < names.length; i++ )
{


+ 6
- 7
proposal/myrmidon/src/java/org/apache/myrmidon/components/model/DefaultProject.java View File

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

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import org.apache.avalon.excalibur.i18n.ResourceManager;
@@ -29,22 +28,22 @@ public class DefaultProject
ResourceManager.getPackageResources( DefaultProject.class );

///The imports
private final ArrayList m_imports = new ArrayList();
private final ArrayList m_imports = new ArrayList();

///The projects refferred to by this project
private final HashMap m_projects = new HashMap();
private final HashMap m_projects = new HashMap();

///The targets contained by this project
private final HashMap m_targets = new HashMap();
private final HashMap m_targets = new HashMap();

///The implicit target (not present in m_targets)
private Target m_implicitTarget;
private Target m_implicitTarget;

///The name of the default target
private String m_defaultTarget;
private String m_defaultTarget;

///The base directory of project
private File m_baseDirectory;
private File m_baseDirectory;

/**
* Get the imports for project.


+ 3
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/components/role/DefaultRoleManager.java View File

@@ -19,7 +19,6 @@ import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.configuration.SAXConfigurationHandler;
import org.apache.myrmidon.interfaces.role.RoleManager;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;

/**
@@ -37,13 +36,13 @@ public class DefaultRoleManager
private final static String ROLE_DESCRIPTOR = "META-INF/ant-roles.xml";

/** Parent <code>RoleManager</code> for nested resolution */
private final RoleManager m_parent;
private final RoleManager m_parent;

/** Map for name to role mapping */
private final HashMap m_names = new HashMap();
private final HashMap m_names = new HashMap();

/** Map for role to name mapping */
private final HashMap m_roles = new HashMap();
private final HashMap m_roles = new HashMap();

/**
* constructor--this RoleManager has no parent.


+ 11
- 11
proposal/myrmidon/src/java/org/apache/myrmidon/components/type/DefaultTypeManager.java View File

@@ -10,9 +10,9 @@ package org.apache.myrmidon.components.type;
import java.util.HashMap;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.myrmidon.interfaces.type.TypeException;
import org.apache.myrmidon.interfaces.type.TypeFactory;
import org.apache.myrmidon.interfaces.type.TypeManager;
import org.apache.myrmidon.interfaces.type.TypeException;

/**
* The interface that is used to manage types.
@@ -26,10 +26,10 @@ public class DefaultTypeManager
ResourceManager.getPackageResources( DefaultTypeManager.class );

///Parent type manager to inherit values from.
private final DefaultTypeManager m_parent;
private final DefaultTypeManager m_parent;

///Maps role to MultiSourceTypeFactory.
private final HashMap m_roleMap = new HashMap();
private final HashMap m_roleMap = new HashMap();

public DefaultTypeManager()
{
@@ -41,9 +41,9 @@ public class DefaultTypeManager
m_parent = parent;
}

public void registerType( final String role,
final String shorthandName,
final TypeFactory factory )
public void registerType( final String role,
final String shorthandName,
final TypeFactory factory )
throws TypeException
{
final MultiSourceTypeFactory msFactory = createFactory( role );
@@ -72,18 +72,18 @@ public class DefaultTypeManager
*
* @param role the role name(must be name of work interface)
* @return the Factory for interface
* @exception TypeException role does not specify accessible work interface
* @exception TypeException role does not specify accessible work interface
*/
private MultiSourceTypeFactory createFactory( final String role )
throws TypeException
{
MultiSourceTypeFactory factory = (MultiSourceTypeFactory)m_roleMap.get( role );
if( null != factory )
if( null != factory )
{
return factory;
}

final MultiSourceTypeFactory parentFactory = getParentTypedFactory( role );
final MultiSourceTypeFactory parentFactory = getParentTypedFactory( role );
if( null != parentFactory )
{
factory = new MultiSourceTypeFactory( parentFactory );
@@ -103,7 +103,7 @@ public class DefaultTypeManager
final String message = REZ.getString( "no-work-interface.error", role );
throw new TypeException( message );
}
}
}

m_roleMap.put( role, factory );

@@ -117,7 +117,7 @@ public class DefaultTypeManager
return m_parent.lookupFactory( role );
}
else
{
{
return null;
}
}


+ 4
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/components/type/MultiSourceTypeFactory.java View File

@@ -10,8 +10,8 @@ package org.apache.myrmidon.components.type;
import java.util.HashMap;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.myrmidon.interfaces.type.TypeFactory;
import org.apache.myrmidon.interfaces.type.TypeException;
import org.apache.myrmidon.interfaces.type.TypeFactory;

/**
* This factory acts as a proxy to set of object factorys.
@@ -25,13 +25,13 @@ public class MultiSourceTypeFactory
ResourceManager.getPackageResources( MultiSourceTypeFactory.class );

///Parent Selector
private final MultiSourceTypeFactory m_parent;
private final MultiSourceTypeFactory m_parent;

///Map of name->factory list
private final HashMap m_factorys = new HashMap();
private final HashMap m_factorys = new HashMap();

///Type expected to be created from factorys
private final Class m_type;
private final Class m_type;

public MultiSourceTypeFactory( final Class type )
{


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

@@ -12,8 +12,6 @@ import java.util.Map;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.excalibur.io.FileUtil;
import org.apache.avalon.excalibur.property.PropertyException;
import org.apache.avalon.excalibur.property.PropertyUtil;
import org.apache.avalon.framework.context.ContextException;
import org.apache.avalon.framework.context.DefaultContext;
import org.apache.myrmidon.api.JavaVersion;
@@ -63,7 +61,10 @@ public class DefaultTaskContext
*/
public JavaVersion getJavaVersion()
{
try { return (JavaVersion)get( JAVA_VERSION ); }
try
{
return (JavaVersion)get( JAVA_VERSION );
}
catch( final ContextException ce )
{
final String message = REZ.getString( "no-version.error" );
@@ -71,7 +72,6 @@ public class DefaultTaskContext
}
}


/**
* Retrieve Name of tasklet.
*
@@ -79,7 +79,10 @@ public class DefaultTaskContext
*/
public String getName()
{
try { return (String)get( NAME ); }
try
{
return (String)get( NAME );
}
catch( final ContextException ce )
{
final String message = REZ.getString( "no-name.error" );
@@ -94,7 +97,10 @@ public class DefaultTaskContext
*/
public File getBaseDirectory()
{
try { return (File)get( BASE_DIRECTORY ); }
try
{
return (File)get( BASE_DIRECTORY );
}
catch( final ContextException ce )
{
final String message = REZ.getString( "no-dir.error" );
@@ -125,7 +131,10 @@ public class DefaultTaskContext
*/
public Object getProperty( final String name )
{
try { return get( name ); }
try
{
return get( name );
}
catch( final ContextException ce )
{
return null;
@@ -154,7 +163,8 @@ public class DefaultTaskContext
{
checkPropertyValid( name, value );

if( CURRENT == scope ) put( name, value );
if( CURRENT == scope )
put( name, value );
else if( PARENT == scope )
{
if( null == getParent() )
@@ -164,7 +174,7 @@ public class DefaultTaskContext
}
else
{
((TaskContext)getParent()).setProperty( name, value );
( (TaskContext)getParent() ).setProperty( name, value );
}
}
else if( TOP_LEVEL == scope )
@@ -217,19 +227,19 @@ public class DefaultTaskContext
{
if( BASE_DIRECTORY.equals( name ) && !( value instanceof File ) )
{
final String message =
final String message =
REZ.getString( "bad-property.error", BASE_DIRECTORY, File.class.getName() );
throw new TaskException( message );
}
else if( NAME.equals( name ) && !( value instanceof String ) )
{
final String message =
final String message =
REZ.getString( "bad-property.error", NAME, String.class.getName() );
throw new TaskException( message );
}
else if( JAVA_VERSION.equals( name ) && !( value instanceof JavaVersion ) )
{
final String message =
final String message =
REZ.getString( "bad-property.error", JAVA_VERSION, JavaVersion.class.getName() );
throw new TaskException( message );
}


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

@@ -8,13 +8,11 @@
package org.apache.myrmidon.components.workspace;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.component.ComponentException;
import org.apache.avalon.framework.component.ComponentManager;
@@ -57,15 +55,15 @@ public class DefaultWorkspace
private static final Resources REZ =
ResourceManager.getPackageResources( DefaultWorkspace.class );

private Executor m_executor;
private ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport();
private ComponentManager m_componentManager;
private Parameters m_parameters;
private TaskContext m_baseContext;
private HashMap m_entrys = new HashMap();
private TypeManager m_typeManager;
private Hierarchy m_hierarchy;
private int m_projectID;
private Executor m_executor;
private ProjectListenerSupport m_listenerSupport = new ProjectListenerSupport();
private ComponentManager m_componentManager;
private Parameters m_parameters;
private TaskContext m_baseContext;
private HashMap m_entrys = new HashMap();
private TypeManager m_typeManager;
private Hierarchy m_hierarchy;
private int m_projectID;

/**
* Add a listener to project events.
@@ -140,7 +138,6 @@ public class DefaultWorkspace
m_listenerSupport.projectFinished();
}


private TaskContext createBaseContext()
throws TaskException
{
@@ -239,7 +236,10 @@ public class DefaultWorkspace
final DefaultDeployer deployer = new DefaultDeployer();
deployer.enableLogging( getLogger() );

try { deployer.compose( componentManager ); }
try
{
deployer.compose( componentManager );
}
catch( final ComponentException ce )
{
final String message = REZ.getString( "bad-deployer-config.error" );


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

@@ -19,7 +19,7 @@ import org.apache.myrmidon.listeners.ProjectListener;
public class LogTargetToListenerAdapter
implements LogTarget
{
private final ProjectListener m_listener;
private final ProjectListener m_listener;

/**
* Constructor taking listener to convert to.


+ 3
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/components/workspace/ProjectEntry.java View File

@@ -18,9 +18,9 @@ import org.apache.myrmidon.interfaces.model.Project;
*/
public final class ProjectEntry
{
private final Project m_project;
private final ExecutionFrame m_frame;
private final ArrayList m_targetsCompleted = new ArrayList();
private final Project m_project;
private final ExecutionFrame m_frame;
private final ArrayList m_targetsCompleted = new ArrayList();

public ProjectEntry( final Project project,
final ExecutionFrame frame )


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

@@ -17,7 +17,7 @@ import org.apache.myrmidon.listeners.ProjectListener;
public class ProjectListenerSupport
implements ProjectListener
{
private ProjectListener[] m_listeners = new ProjectListener[ 0 ];
private ProjectListener[] m_listeners = new ProjectListener[ 0 ];

/**
* Add an extra project listener that wants to receive notification of listener events.


+ 2
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/converter/AbstractConverter.java View File

@@ -22,8 +22,8 @@ public abstract class AbstractConverter
private static final Resources REZ =
ResourceManager.getPackageResources( AbstractConverter.class );

private final Class m_source;
private final Class m_destination;
private final Class m_source;
private final Class m_destination;

/**
* Constructor for a converter between types source and destination


+ 5
- 7
proposal/myrmidon/src/java/org/apache/myrmidon/framework/AbstractContainerTask.java View File

@@ -17,12 +17,11 @@ import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.myrmidon.api.AbstractTask;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.converter.Converter;
import org.apache.myrmidon.converter.ConverterException;
import org.apache.myrmidon.interfaces.configurer.Configurer;
import org.apache.myrmidon.interfaces.converter.MasterConverter;
import org.apache.myrmidon.interfaces.executor.Executor;
import org.apache.myrmidon.converter.Converter;
import org.apache.myrmidon.converter.ConverterException;

/**
* This is the class that Task writers should extend to provide custom tasks.
@@ -37,13 +36,13 @@ public abstract class AbstractContainerTask
ResourceManager.getPackageResources( AbstractContainerTask.class );

///For converting own attributes
private MasterConverter m_converter;
private MasterConverter m_converter;

///For configuring own sub-elements
private Configurer m_configurer;
private Configurer m_configurer;

///For executing sub-elements as tasks
private Executor m_executor;
private Executor m_executor;

public void compose( final ComponentManager componentManager )
throws ComponentException
@@ -118,7 +117,6 @@ public abstract class AbstractContainerTask
getConfigurer().configure( object, element, getContext() );
}


/**
* Configure an objects attribute using parameters.
*


+ 10
- 7
proposal/myrmidon/src/java/org/apache/myrmidon/framework/AbstractTypeDef.java View File

@@ -36,11 +36,11 @@ public abstract class AbstractTypeDef
private static final Resources REZ =
ResourceManager.getPackageResources( AbstractTypeDef.class );

private File m_lib;
private String m_name;
private String m_className;
private TypeManager m_typeManager;
private RoleManager m_roleManager;
private File m_lib;
private String m_name;
private String m_className;
private TypeManager m_typeManager;
private RoleManager m_roleManager;

public void compose( final ComponentManager componentManager )
throws ComponentException
@@ -86,7 +86,10 @@ public abstract class AbstractTypeDef
final DefaultTypeFactory factory = new DefaultTypeFactory( classLoader );
factory.addNameClassMapping( m_name, m_className );

try { m_typeManager.registerType( role, m_name, factory ); }
try
{
m_typeManager.registerType( role, m_name, factory );
}
catch( final TypeException te )
{
final String message = REZ.getString( "typedef.no-register.error" );
@@ -104,7 +107,7 @@ public abstract class AbstractTypeDef
final ClassLoader classLoader =
Thread.currentThread().getContextClassLoader();

return new URLClassLoader( new URL[] { url }, classLoader );
return new URLClassLoader( new URL[]{url}, classLoader );
}
catch( final Exception e )
{


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

@@ -14,7 +14,6 @@ import org.apache.avalon.excalibur.property.PropertyUtil;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.ContextException;
import org.apache.myrmidon.api.TaskException;

/**
* Class representing a condition.
@@ -27,8 +26,8 @@ public class Condition
private static final Resources REZ =
ResourceManager.getPackageResources( Condition.class );

private String m_condition;
private boolean m_isIfCondition;
private String m_condition;
private boolean m_isIfCondition;

public Condition( final boolean isIfCondition, final String condition )
{


+ 1
- 1
proposal/myrmidon/src/java/org/apache/myrmidon/framework/DataType.java View File

@@ -9,7 +9,7 @@ package org.apache.myrmidon.framework;

/**
* Base class for those classes that can appear inside the build file
* as stand alone data types.
* as stand alone data types.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
*/


+ 70
- 49
proposal/myrmidon/src/java/org/apache/myrmidon/framework/Os.java View File

@@ -99,67 +99,88 @@ public class Os
final String arch,
final String version )
{
boolean retValue = false;

if( family != null || name != null || arch != null || version != null )
{
boolean isFamily = true;
boolean isName = true;
boolean isArch = true;
boolean isVersion = true;
final boolean isFamily = familyMatches( family );
final boolean isName = nameMatches( name );
final boolean isArch = archMatches( arch );
final boolean isVersion = versionMatches( version );

if( family != null )
return isFamily && isName && isArch && isVersion;
}
else
{
return false;
}
}

private static boolean versionMatches( final String version )
{
boolean isVersion = true;
if( version != null )
{
isVersion = version.equals( m_osVersion );
}
return isVersion;
}

private static boolean archMatches( final String arch )
{
boolean isArch = true;
if( arch != null )
{
isArch = arch.equals( m_osArch );
}
return isArch;
}

private static boolean nameMatches( final String name )
{
boolean isName = true;
if( name != null )
{
isName = name.equals( m_osName );
}
return isName;
}

private static boolean familyMatches( final String family )
{
boolean isFamily = true;
if( family != null )
{
if( family.equals( "windows" ) )
{
if( family.equals( "windows" ) )
{
isFamily = m_osName.indexOf( "windows" ) > -1;
}
else if( family.equals( "os/2" ) )
{
isFamily = m_osName.indexOf( "os/2" ) > -1;
}
else if( family.equals( "netware" ) )
{
isFamily = m_osName.indexOf( "netware" ) > -1;
}
else if( family.equals( "dos" ) )
{
isFamily = m_pathSep.equals( ";" ) && !isFamily( "netware" );
}
else if( family.equals( "mac" ) )
{
isFamily = m_osName.indexOf( "mac" ) > -1;
}
else if( family.equals( "unix" ) )
{
isFamily = m_pathSep.equals( ":" ) &&
( !isFamily( "mac" ) || m_osName.endsWith( "x" ) );
}
else
{
final String message = REZ.getString( "unknown-os-family", family );
throw new IllegalArgumentException( message );
}
isFamily = m_osName.indexOf( "windows" ) > -1;
}

if( name != null )
else if( family.equals( "os/2" ) )
{
isName = name.equals( m_osName );
isFamily = m_osName.indexOf( "os/2" ) > -1;
}

if( arch != null )
else if( family.equals( "netware" ) )
{
isArch = arch.equals( m_osArch );
isFamily = m_osName.indexOf( "netware" ) > -1;
}

if( version != null )
else if( family.equals( "dos" ) )
{
isVersion = version.equals( m_osVersion );
isFamily = m_pathSep.equals( ";" ) && !isFamily( "netware" );
}
else if( family.equals( "mac" ) )
{
isFamily = m_osName.indexOf( "mac" ) > -1;
}
else if( family.equals( "unix" ) )
{
isFamily = m_pathSep.equals( ":" ) &&
( !isFamily( "mac" ) || m_osName.endsWith( "x" ) );
}
else
{
final String message = REZ.getString( "unknown-os-family", family );
throw new IllegalArgumentException( message );
}

retValue = isFamily && isName && isArch && isVersion;
}
return retValue;
return isFamily;
}

/**


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

@@ -22,8 +22,8 @@ public class Pattern
private static final Resources REZ =
ResourceManager.getPackageResources( Pattern.class );

private String m_value;
private Condition m_condition;
private String m_value;
private Condition m_condition;

/**
* Retrieve value of pattern.


+ 8
- 6
proposal/myrmidon/src/java/org/apache/myrmidon/framework/TypeInstanceTask.java View File

@@ -11,7 +11,6 @@ import org.apache.avalon.excalibur.i18n.ResourceManager;
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.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
@@ -34,10 +33,10 @@ public class TypeInstanceTask
private static final Resources REZ =
ResourceManager.getPackageResources( TypeInstanceTask.class );

private String m_id;
private Object m_value;
private boolean m_localScope = true;
private TypeFactory m_factory;
private String m_id;
private Object m_value;
private boolean m_localScope = true;
private TypeFactory m_factory;

public void compose( final ComponentManager componentManager )
throws ComponentException
@@ -45,7 +44,10 @@ public class TypeInstanceTask
super.compose( componentManager );

final TypeManager typeManager = (TypeManager)componentManager.lookup( TypeManager.ROLE );
try { m_factory = typeManager.getFactory( DataType.ROLE ); }
try
{
m_factory = typeManager.getFactory( DataType.ROLE );
}
catch( final TypeException te )
{
final String message = REZ.getString( "type.no-factory.error" );


+ 109
- 89
proposal/myrmidon/src/java/org/apache/myrmidon/frontends/CLIMain.java View File

@@ -9,14 +9,8 @@ package org.apache.myrmidon.frontends;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -24,7 +18,8 @@ import org.apache.avalon.excalibur.cli.CLArgsParser;
import org.apache.avalon.excalibur.cli.CLOption;
import org.apache.avalon.excalibur.cli.CLOptionDescriptor;
import org.apache.avalon.excalibur.cli.CLUtil;
import org.apache.avalon.excalibur.io.ExtensionFileFilter;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.ExceptionUtil;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.LogKitLogger;
@@ -37,15 +32,12 @@ import org.apache.log.output.DefaultOutputLogTarget;
import org.apache.myrmidon.Constants;
import org.apache.myrmidon.api.TaskContext;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.interfaces.builder.ProjectBuilder;
import org.apache.myrmidon.interfaces.executor.Executor;
import org.apache.myrmidon.interfaces.embeddor.Embeddor;
import org.apache.myrmidon.components.embeddor.DefaultEmbeddor;
import org.apache.myrmidon.interfaces.workspace.Workspace;
import org.apache.myrmidon.interfaces.embeddor.Embeddor;
import org.apache.myrmidon.interfaces.executor.Executor;
import org.apache.myrmidon.interfaces.model.Project;
import org.apache.myrmidon.interfaces.workspace.Workspace;
import org.apache.myrmidon.listeners.ProjectListener;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;

/**
* The class to kick the tires and light the fires.
@@ -61,22 +53,22 @@ public class CLIMain
ResourceManager.getPackageResources( CLIMain.class );

//defines for the Command Line options
private static final int HELP_OPT = 'h';
private static final int QUIET_OPT = 'q';
private static final int VERBOSE_OPT = 'v';
private static final int FILE_OPT = 'f';
private static final int LOG_LEVEL_OPT = 'l';
private static final int DEFINE_OPT = 'D';
private static final int BUILDER_PARAM_OPT = 'B';
private static final int VERSION_OPT = 1;
private static final int LISTENER_OPT = 2;
private static final int TASKLIB_DIR_OPT = 5;
private static final int INCREMENTAL_OPT = 6;
private static final int HOME_DIR_OPT = 7;
private static final int DRY_RUN_OPT = 8;
private static final int HELP_OPT = 'h';
private static final int QUIET_OPT = 'q';
private static final int VERBOSE_OPT = 'v';
private static final int FILE_OPT = 'f';
private static final int LOG_LEVEL_OPT = 'l';
private static final int DEFINE_OPT = 'D';
private static final int BUILDER_PARAM_OPT = 'B';
private static final int VERSION_OPT = 1;
private static final int LISTENER_OPT = 2;
private static final int TASKLIB_DIR_OPT = 5;
private static final int INCREMENTAL_OPT = 6;
private static final int HOME_DIR_OPT = 7;
private static final int DRY_RUN_OPT = 8;

//incompatable options for info options
private static final int[] INFO_OPT_INCOMPAT = new int[]
private static final int[] INFO_OPT_INCOMPAT = new int[]
{
HELP_OPT, QUIET_OPT, VERBOSE_OPT, FILE_OPT,
LOG_LEVEL_OPT, VERSION_OPT, LISTENER_OPT,
@@ -84,27 +76,27 @@ public class CLIMain
};

//incompatable options for other logging options
private static final int[] LOG_OPT_INCOMPAT = new int[]
private static final int[] LOG_OPT_INCOMPAT = new int[]
{
QUIET_OPT, VERBOSE_OPT, LOG_LEVEL_OPT
};

private ProjectListener m_listener;
private ProjectListener m_listener;

///Parameters for run of myrmidon
private Parameters m_parameters = new Parameters();
private Parameters m_parameters = new Parameters();

///List of targets supplied on command line to execute
private ArrayList m_targets = new ArrayList();
private ArrayList m_targets = new ArrayList();

///List of user supplied defines
private Parameters m_defines = new Parameters();
private Parameters m_defines = new Parameters();

///List of user supplied parameters for builder
private Parameters m_builderParameters = new Parameters();
private Parameters m_builderParameters = new Parameters();

///Determine whether tasks are actually executed
private boolean m_dryRun = false;
private boolean m_dryRun = false;

/**
* Main entry point called to run standard Myrmidon.
@@ -115,12 +107,15 @@ public class CLIMain
{
final CLIMain main = new CLIMain();

try { main.execute( args ); }
try
{
main.execute( args );
}
catch( final Throwable throwable )
{
final String message =
final String message =
REZ.getString( "error-message", ExceptionUtil.printStackTrace( throwable ) );
System.err.println( message );
System.err.println( message );
System.exit( -1 );
}

@@ -134,7 +129,7 @@ public class CLIMain
private void usage( final CLOptionDescriptor[] options )
{
System.out.println( "java " + getClass().getName() + " [options]" );
System.out.println( "\tAvailable options:");
System.out.println( "\tAvailable options:" );
System.out.println( CLUtil.describeOptions( options ) );
}

@@ -145,74 +140,74 @@ public class CLIMain
{
//TODO: localise
final CLOptionDescriptor[] options = new CLOptionDescriptor[ 13 ];
options[0] =
options[ 0 ] =
new CLOptionDescriptor( "help",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
HELP_OPT,
REZ.getString( "help.opt" ),
INFO_OPT_INCOMPAT );
options[1] =
options[ 1 ] =
new CLOptionDescriptor( "file",
CLOptionDescriptor.ARGUMENT_REQUIRED,
FILE_OPT,
REZ.getString( "file.opt" ) );
options[2] =
options[ 2 ] =
new CLOptionDescriptor( "log-level",
CLOptionDescriptor.ARGUMENT_REQUIRED,
LOG_LEVEL_OPT,
REZ.getString( "log-level.opt" ),
LOG_OPT_INCOMPAT );
options[3] =
options[ 3 ] =
new CLOptionDescriptor( "quiet",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
QUIET_OPT,
REZ.getString( "quiet.opt" ),
LOG_OPT_INCOMPAT );
options[4] =
options[ 4 ] =
new CLOptionDescriptor( "verbose",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
VERBOSE_OPT,
REZ.getString( "verbose.opt" ),
LOG_OPT_INCOMPAT );
options[5] =
options[ 5 ] =
new CLOptionDescriptor( "listener",
CLOptionDescriptor.ARGUMENT_REQUIRED,
LISTENER_OPT,
REZ.getString( "listener.opt" ) );
options[6] =
options[ 6 ] =
new CLOptionDescriptor( "version",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
VERSION_OPT,
REZ.getString( "version.opt" ),
INFO_OPT_INCOMPAT );

options[7] =
options[ 7 ] =
new CLOptionDescriptor( "task-lib-dir",
CLOptionDescriptor.ARGUMENT_REQUIRED,
TASKLIB_DIR_OPT,
REZ.getString( "tasklib.opt" ) );
options[8] =
options[ 8 ] =
new CLOptionDescriptor( "incremental",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
INCREMENTAL_OPT,
REZ.getString( "incremental.opt" ) );
options[9] =
options[ 9 ] =
new CLOptionDescriptor( "myrmidon-home",
CLOptionDescriptor.ARGUMENT_REQUIRED,
HOME_DIR_OPT,
REZ.getString( "home.opt" ) );
options[10] =
options[ 10 ] =
new CLOptionDescriptor( "define",
CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
DEFINE_OPT,
REZ.getString( "define.opt" ),
new int[ 0 ] );
options[11] =
options[ 11 ] =
new CLOptionDescriptor( "builder-parameter",
CLOptionDescriptor.ARGUMENTS_REQUIRED_2,
BUILDER_PARAM_OPT,
REZ.getString( "build.opt" ) );
options[12] =
options[ 12 ] =
new CLOptionDescriptor( "dry-run",
CLOptionDescriptor.ARGUMENT_DISALLOWED,
DRY_RUN_OPT,
@@ -241,34 +236,56 @@ public class CLIMain

switch( option.getId() )
{
case HELP_OPT: usage( options ); return false;
case VERSION_OPT: System.out.println( Constants.BUILD_DESCRIPTION ); return false;

case HOME_DIR_OPT: m_parameters.setParameter( "myrmidon.home", option.getArgument() ); break;
case TASKLIB_DIR_OPT:
m_parameters.setParameter( "myrmidon.lib.path", option.getArgument() );
break;

case LOG_LEVEL_OPT: m_parameters.setParameter( "log.level", option.getArgument() ); break;
case VERBOSE_OPT: m_parameters.setParameter( "log.level", "INFO" ); break;
case QUIET_OPT: m_parameters.setParameter( "log.level", "ERROR" ); break;

case INCREMENTAL_OPT: m_parameters.setParameter( "incremental", "true" ); break;

case FILE_OPT: m_parameters.setParameter( "filename", option.getArgument() ); break;
case LISTENER_OPT: m_parameters.setParameter( "listener", option.getArgument() ); break;

case DEFINE_OPT:
m_defines.setParameter( option.getArgument( 0 ), option.getArgument( 1 ) );
break;

case BUILDER_PARAM_OPT:
m_builderParameters.setParameter( option.getArgument( 0 ), option.getArgument( 1 ) );
break;

case DRY_RUN_OPT: m_dryRun = true; break;

case 0: m_targets.add( option.getArgument() ); break;
case HELP_OPT:
usage( options );
return false;
case VERSION_OPT:
System.out.println( Constants.BUILD_DESCRIPTION );
return false;

case HOME_DIR_OPT:
m_parameters.setParameter( "myrmidon.home", option.getArgument() );
break;
case TASKLIB_DIR_OPT:
m_parameters.setParameter( "myrmidon.lib.path", option.getArgument() );
break;

case LOG_LEVEL_OPT:
m_parameters.setParameter( "log.level", option.getArgument() );
break;
case VERBOSE_OPT:
m_parameters.setParameter( "log.level", "INFO" );
break;
case QUIET_OPT:
m_parameters.setParameter( "log.level", "ERROR" );
break;

case INCREMENTAL_OPT:
m_parameters.setParameter( "incremental", "true" );
break;

case FILE_OPT:
m_parameters.setParameter( "filename", option.getArgument() );
break;
case LISTENER_OPT:
m_parameters.setParameter( "listener", option.getArgument() );
break;

case DEFINE_OPT:
m_defines.setParameter( option.getArgument( 0 ), option.getArgument( 1 ) );
break;

case BUILDER_PARAM_OPT:
m_builderParameters.setParameter( option.getArgument( 0 ), option.getArgument( 1 ) );
break;

case DRY_RUN_OPT:
m_dryRun = true;
break;

case 0:
m_targets.add( option.getArgument() );
break;
}
}

@@ -301,7 +318,7 @@ public class CLIMain
enableLogging( new LogKitLogger( createLogger( logLevel ) ) );

final String home = m_parameters.getParameter( "myrmidon.home", null );
final File homeDir = (new File( home )).getAbsoluteFile();
final File homeDir = ( new File( home ) ).getAbsoluteFile();
if( !homeDir.isDirectory() )
{
final String message = REZ.getString( "home-not-dir.error", homeDir );
@@ -309,7 +326,7 @@ public class CLIMain
}

final String filename = m_parameters.getParameter( "filename", null );
final File buildFile = (new File( filename )).getCanonicalFile();
final File buildFile = ( new File( filename ) ).getCanonicalFile();
if( !buildFile.isFile() )
{
final String message = REZ.getString( "bad-file.error", buildFile );
@@ -337,7 +354,7 @@ public class CLIMain

if( m_dryRun )
{
m_parameters.setParameter( Executor.ROLE,
m_parameters.setParameter( Executor.ROLE,
"org.apache.myrmidon.components.executor.PrintingExecutor" );
}

@@ -348,7 +365,7 @@ public class CLIMain
embeddor.start();

//create the project
final Project project =
final Project project =
embeddor.createProject( buildFile.toString(), null, m_builderParameters );

BufferedReader reader = null;
@@ -413,7 +430,7 @@ public class CLIMain
}
catch( final TaskException ae )
{
final String message =
final String message =
REZ.getString( "build-failed.error", ExceptionUtil.printStackTrace( ae, 5, true ) );
getLogger().error( message );
}
@@ -442,7 +459,7 @@ public class CLIMain

final DefaultOutputLogTarget target = new DefaultOutputLogTarget();
target.setFormat( "[%8.8{category}] %{message}\\n%{throwable}" );
logger.setLogTargets( new LogTarget[] { target } );
logger.setLogTargets( new LogTarget[]{target} );

logger.setPriority( priority );

@@ -457,12 +474,15 @@ public class CLIMain
private ProjectListener createListener( final String listener )
throws Exception
{
try { return (ProjectListener)Class.forName( listener ).newInstance(); }
try
{
return (ProjectListener)Class.forName( listener ).newInstance();
}
catch( final Throwable t )
{
final String message =
REZ.getString( "bad-listener.error",
listener,
final String message =
REZ.getString( "bad-listener.error",
listener,
ExceptionUtil.printStackTrace( t, 5, true ) );
throw new Exception( message );
}


+ 0
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/builder/ProjectBuilder.java View File

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

import java.io.File;
import java.io.IOException;
import org.apache.avalon.framework.component.Component;
import org.apache.myrmidon.interfaces.model.Project;



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

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

import java.util.Map;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.activity.Startable;


+ 3
- 0
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/executor/ExecutionFrame.java View File

@@ -20,7 +20,10 @@ import org.apache.myrmidon.interfaces.type.TypeManager;
public interface ExecutionFrame
{
TypeManager getTypeManager();

Logger getLogger();

TaskContext getContext();

ComponentManager getComponentManager();
}

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

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

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

/**


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

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

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

/**
* PackageRepository


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

@@ -25,7 +25,7 @@ public interface Project
String ROLE = "org.apache.myrmidon.interfaces.model.Project";

// the name of currently executing project
String PROJECT = "myrmidon.project.name";
String PROJECT = "myrmidon.project.name";

// the name of currently executing project
//String PROJECT_FILE = "myrmidon.project.file";


+ 4
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/model/Target.java View File

@@ -18,9 +18,9 @@ import org.apache.myrmidon.framework.Condition;
*/
public class Target
{
private final ArrayList m_dependencies = new ArrayList();
private final ArrayList m_tasks = new ArrayList();
private final Condition m_condition;
private final ArrayList m_dependencies = new ArrayList();
private final ArrayList m_tasks = new ArrayList();
private final Condition m_condition;

/**
* Constructor taking condition for target.
@@ -56,6 +56,7 @@ public class Target
{
return m_condition;
}

/**
* Get dependencies of target
*


+ 3
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/model/TypeLib.java View File

@@ -15,16 +15,16 @@ package org.apache.myrmidon.interfaces.model;
public class TypeLib
{
//Name of library (this is location independent)
private final String m_library;
private final String m_library;

//Do we need this??
//private final String m_namespace;

//The role of object to be imported
private final String m_role;
private final String m_role;

//The name of type instance
private final String m_name;
private final String m_name;

public TypeLib( final String library )
{


+ 5
- 7
proposal/myrmidon/src/java/org/apache/myrmidon/interfaces/type/DefaultTypeFactory.java View File

@@ -12,8 +12,6 @@ import java.net.URLClassLoader;
import java.util.HashMap;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.myrmidon.interfaces.type.TypeException;
import org.apache.myrmidon.interfaces.type.TypeFactory;

/**
* Create a type instance based on name.
@@ -28,20 +26,20 @@ public class DefaultTypeFactory
ResourceManager.getPackageResources( DefaultTypeFactory.class );

///A Map of shortnames to classnames
private final HashMap m_classNames = new HashMap();
private final HashMap m_classNames = new HashMap();

///A list of URLs from which classLoader is constructed
private final URL[] m_urls;
private final URL[] m_urls;

///The parent classLoader (if any)
private final ClassLoader m_parent;
private final ClassLoader m_parent;

///The parent classLoader (if any)
private ClassLoader m_classLoader;
private ClassLoader m_classLoader;

public DefaultTypeFactory( final URL url )
{
this( new URL[] { url } );
this( new URL[]{url} );
}

public DefaultTypeFactory( final URL[] urls )


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

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

import java.util.Map;
import org.apache.avalon.framework.component.Component;
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.interfaces.model.Project;


+ 5
- 6
proposal/myrmidon/src/java/org/apache/myrmidon/launcher/Main.java View File

@@ -13,7 +13,6 @@ import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringTokenizer;

/**
@@ -46,17 +45,17 @@ public final class Main

final File containerLibDir = new File( installDirectory, "bin" + File.separator + "lib" );
final URL[] containerLibUrls = buildURLList( containerLibDir );
final URLClassLoader classLoader =
final URLClassLoader classLoader =
new URLClassLoader( containerLibUrls, libClassLoader );

//load class and retrieve appropriate main method.
final Class clazz = classLoader.loadClass( "org.apache.myrmidon.frontends.CLIMain" );
final Method method = clazz.getMethod( "main", new Class[] { args.getClass() } );
final Method method = clazz.getMethod( "main", new Class[]{args.getClass()} );

Thread.currentThread().setContextClassLoader( classLoader );

//kick the tires and light the fires....
method.invoke( null, new Object[] { args } );
method.invoke( null, new Object[]{args} );
}
catch( final InvocationTargetException ite )
{
@@ -100,7 +99,7 @@ public final class Main
}

file = file.getCanonicalFile();
urlList.add( file.toURL() );
}

@@ -123,7 +122,7 @@ public final class Main

if( element.endsWith( "myrmidon-launcher.jar" ) )
{
File file = (new File( element )).getAbsoluteFile();
File file = ( new File( element ) ).getAbsoluteFile();
file = file.getParentFile();

if( null != file )


+ 0
- 2
proposal/myrmidon/src/java/org/apache/myrmidon/listeners/AbstractProjectListener.java View File

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

import org.apache.avalon.framework.ExceptionUtil;

/**
* Abstract listener from which to extend.
*


+ 5
- 3
proposal/myrmidon/src/java/org/apache/myrmidon/listeners/ClassicProjectListener.java View File

@@ -17,7 +17,7 @@ import org.apache.avalon.framework.ExceptionUtil;
public class ClassicProjectListener
extends AbstractProjectListener
{
private String m_prefix;
private String m_prefix;

/**
* Notify listener of targetStarted event.
@@ -76,8 +76,10 @@ public class ClassicProjectListener
*/
protected void output( final String data )
{
if( null != getPrefix() ) System.out.println( "\t[" + getPrefix() + "] " + data );
else System.out.println( data );
if( null != getPrefix() )
System.out.println( "\t[" + getPrefix() + "] " + data );
else
System.out.println( data );
}

protected final String getPrefix()


+ 6
- 4
proposal/myrmidon/src/java/org/apache/myrmidon/listeners/DefaultProjectListener.java View File

@@ -17,8 +17,8 @@ import org.apache.avalon.framework.ExceptionUtil;
public class DefaultProjectListener
extends AbstractProjectListener
{
private String m_prefix;
private String m_targetName;
private String m_prefix;
private String m_targetName;

/**
* Notify listener of targetStarted event.
@@ -83,8 +83,10 @@ public class DefaultProjectListener
m_targetName = null;
}

if( null != getPrefix() ) System.out.println( "\t[" + getPrefix() + "] " + data );
else System.out.println( data );
if( null != getPrefix() )
System.out.println( "\t[" + getPrefix() + "] " + data );
else
System.out.println( data );
}

protected final String getPrefix()


Loading…
Cancel
Save