You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by ad...@apache.org on 2002/05/29 08:42:26 UTC
cvs commit: jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/framework DataTypeTestCase.java
adammurdoch 02/05/28 23:42:26
Modified: antlib/src/java/org/apache/antlib/project TargetTask.java
container/src/java/org/apache/myrmidon/components/builder
DefaultProjectBuilder.java
container/src/java/org/apache/myrmidon/components/executor
DefaultExecutor.java
container/src/java/org/apache/myrmidon/components/property
DefaultNameValidator.java DefaultPropertyStore.java
Resources.properties
container/src/java/org/apache/myrmidon/interfaces/embeddor
Embeddor.java
container/src/java/org/apache/myrmidon/interfaces/property
NameValidator.java
container/src/test/org/apache/myrmidon/components
AbstractComponentTest.java
container/src/test/org/apache/myrmidon/components/builder/test
DefaultProjectBuilderTestCase.java
container/src/test/org/apache/myrmidon/interfaces/model/test
DefaultNameValidatorTestCase.java
framework/src/test/org/apache/myrmidon/framework
DataTypeTestCase.java
Added: container/src/java/org/apache/myrmidon/components/property
DefaultNameValidatorManager.java
container/src/java/org/apache/myrmidon/interfaces/property
NameValidatorManager.java
Log:
Made NameValidator into a proper service:
* Added NameValidator.makeValidName().
* Added NameValidatorManager, which is the service responsible for handing
out NameValidator instances. Changed DefaultProjectBuilder and
DefaultPropertyStore to use this service, rather than instantiating a
NameValidator directly.
* Changed the validation rules for target names, to allow them to start with '-'.
Revision Changes Path
1.10 +13 -3 jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project/TargetTask.java
Index: TargetTask.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/antlib/src/java/org/apache/antlib/project/TargetTask.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- TargetTask.java 28 May 2002 03:51:07 -0000 1.9
+++ TargetTask.java 29 May 2002 06:42:25 -0000 1.10
@@ -14,12 +14,14 @@
import org.apache.myrmidon.api.TaskException;
import org.apache.myrmidon.api.metadata.ModelElement;
import org.apache.myrmidon.interfaces.property.NameValidator;
+import org.apache.myrmidon.interfaces.property.NameValidatorManager;
+import org.apache.myrmidon.interfaces.oldmodel.Project;
/**
* A simple task to task to execute a group of tasks.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
- * @version $Revision: 1.9 $ $Date: 2002/05/28 03:51:07 $
+ * @version $Revision: 1.10 $ $Date: 2002/05/29 06:42:25 $
* @ant.task name="target"
*/
public class TargetTask
@@ -115,10 +117,18 @@
throw new TaskException( message );
}
- final NameValidator validator =
- (NameValidator)getService( NameValidator.class );
+ //Add in special case for "init" target.
+ if( Project.IMPLICIT_TARGET_NAME.equals( m_name ) )
+ {
+ return;
+ }
+
+ final NameValidatorManager validatorManager =
+ (NameValidatorManager)getService( NameValidatorManager.class );
try
{
+ final NameValidator validator =
+ validatorManager.getValidator( NameValidatorManager.TARGET_STYLE );
validator.validate( m_name );
}
catch( final Exception e )
1.64 +16 -5 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/builder/DefaultProjectBuilder.java
Index: DefaultProjectBuilder.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/builder/DefaultProjectBuilder.java,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- DefaultProjectBuilder.java 23 May 2002 06:08:58 -0000 1.63
+++ DefaultProjectBuilder.java 29 May 2002 06:42:26 -0000 1.64
@@ -21,19 +21,20 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.myrmidon.api.metadata.ModelElement;
-import org.apache.myrmidon.components.property.DefaultNameValidator;
import org.apache.myrmidon.interfaces.builder.ModelBuilder;
import org.apache.myrmidon.interfaces.builder.ProjectBuilder;
import org.apache.myrmidon.interfaces.builder.ProjectException;
import org.apache.myrmidon.interfaces.oldmodel.Project;
import org.apache.myrmidon.interfaces.oldmodel.ProjectRef;
import org.apache.myrmidon.interfaces.oldmodel.Target;
+import org.apache.myrmidon.interfaces.property.NameValidator;
+import org.apache.myrmidon.interfaces.property.NameValidatorManager;
/**
* Default implementation to construct project from a build file.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
- * @version $Revision: 1.63 $ $Date: 2002/05/23 06:08:58 $
+ * @version $Revision: 1.64 $ $Date: 2002/05/29 06:42:26 $
*
* @ant.type type="project-builder" name="ant2"
*/
@@ -52,13 +53,23 @@
private static final int TARGETS = 2;
// Use a name validator with the default rules.
- private DefaultNameValidator m_nameValidator = new DefaultNameValidator();
+ private NameValidator m_nameValidator;
private ModelBuilder m_modelBuilder;
public void service( final ServiceManager manager )
throws ServiceException
{
m_modelBuilder = (ModelBuilder)manager.lookup( ModelBuilder.ROLE );
+ final NameValidatorManager validatorManager =
+ (NameValidatorManager)manager.lookup( NameValidatorManager.ROLE );
+ try
+ {
+ m_nameValidator = validatorManager.getValidator( NameValidatorManager.PROJECT_STYLE );
+ }
+ catch( final Exception e )
+ {
+ throw new ServiceException( e.getMessage(), e );
+ }
}
/**
@@ -340,7 +351,7 @@
throws Exception
{
final ModelElement implicit = new ModelElement( "target", model.getLocation() );
- implicit.setAttribute( "name", "<init>" );
+ implicit.setAttribute( "name", Project.IMPLICIT_TARGET_NAME );
final ModelElement[] children = model.getChildren();
@@ -392,7 +403,7 @@
throw new ProjectException( message );
}
}
- targets.put( "<init>", new Target( implicit ) );
+ targets.put( Project.IMPLICIT_TARGET_NAME, new Target( implicit ) );
}
private ProjectRef buildProjectRef( final File baseDirectory,
1.43 +2 -2 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java
Index: DefaultExecutor.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/executor/DefaultExecutor.java,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- DefaultExecutor.java 28 May 2002 03:55:42 -0000 1.42
+++ DefaultExecutor.java 29 May 2002 06:42:26 -0000 1.43
@@ -26,7 +26,7 @@
* The basic executor that just executes the tasks.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
- * @version $Revision: 1.42 $ $Date: 2002/05/28 03:55:42 $
+ * @version $Revision: 1.43 $ $Date: 2002/05/29 06:42:26 $
*/
public class DefaultExecutor
extends AbstractLogEnabled
@@ -90,7 +90,7 @@
// without wrapping it
throw e;
}
- catch( final Exception e )
+ catch( final Throwable e )
{
// Wrap exception in generic error message
final String message = REZ.getString( "execute.error",
1.3 +28 -38 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/property/DefaultNameValidator.java
Index: DefaultNameValidator.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/property/DefaultNameValidator.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultNameValidator.java 5 May 2002 13:51:51 -0000 1.2
+++ DefaultNameValidator.java 29 May 2002 06:42:26 -0000 1.3
@@ -16,7 +16,7 @@
* in ant projects.
*
* @author <a href="mailto:darrell@apache.org">Darrell DeBoer</a>
- * @version $Revision: 1.2 $ $Date: 2002/05/05 13:51:51 $
+ * @version $Revision: 1.3 $ $Date: 2002/05/29 06:42:26 $
*/
public class DefaultNameValidator
implements NameValidator
@@ -46,37 +46,12 @@
*/
public DefaultNameValidator()
{
- this( false, true, "_", true, true, "_-." );
- }
-
- /**
- * Contstruct a NameValidator with the specified rules.
- * @param allowSurroundingWhitespace
- * specified if names are trimmed before checking
- * @param allowInitialDigit
- * specifies if digits are permitted as intial characters
- * @param additionalInitialCharacters
- * extra characters to allow as initial characters.
- * @param allowInternalDigits
- * specifies if digits are permitted as internal characters
- * @param allowInternalWhitespace
- * specifies if whitespace is permitted internally in names
- * @param additionalInternalCharacters
- * extra characters permitted in names
- */
- public DefaultNameValidator( final boolean allowSurroundingWhitespace,
- final boolean allowInitialDigit,
- final String additionalInitialCharacters,
- final boolean allowInternalDigits,
- final boolean allowInternalWhitespace,
- final String additionalInternalCharacters )
- {
- setAllowSurroundingWhitespace( allowSurroundingWhitespace );
- setAllowInitialDigit( allowInitialDigit );
- setAdditionalInitialCharacters( additionalInitialCharacters );
- setAllowInternalDigits( allowInternalDigits );
- setAllowInternalWhitespace( allowInternalWhitespace );
- setAdditionalInternalCharacters( additionalInternalCharacters );
+ setAllowSurroundingWhitespace( false );
+ setAllowInternalWhitespace( true );
+ setAllowInitialDigit( true );
+ setAllowInternalDigits( true );
+ setAdditionalInitialCharacters( "_" );
+ setAdditionalInternalCharacters( "_-." );
}
/**
@@ -122,12 +97,6 @@
public void validate( final String name )
throws Exception
{
- //Add in special case for "init" target.
- if( "<init>".equals( name ) )
- {
- return;
- }
-
String testName = name;
// If surrounding whitespace is allowed, trim it. Otherwise, check.
@@ -330,6 +299,9 @@
}
/**
+ * Sets the valid initial characters. Does not include letters, digits and
+ * whitespace, which are enabled separately.
+ *
* @param additionalInitialCharacters
* extra characters to allow as initial characters.
*/
@@ -339,6 +311,14 @@
}
/**
+ * Adds valid initial characters.
+ */
+ public void addInitialCharacters( String initialCharacters )
+ {
+ m_additionalInitialCharacters += initialCharacters;
+ }
+
+ /**
* @param allowInternalDigits
* specifies if digits are permitted as internal characters
*/
@@ -357,6 +337,9 @@
}
/**
+ * Sets the valid internal characters. Does not include letters, digits,
+ * and whitespace, which are enabled separately.
+ *
* @param additionalInternalCharacters
* extra characters permitted in names
*/
@@ -365,4 +348,11 @@
m_additionalInternalCharacters = additionalInternalCharacters;
}
+ /**
+ * Adds valid internal characters.
+ */
+ public void addInternalCharacters( String internalCharacters )
+ {
+ m_additionalInternalCharacters += internalCharacters;
+ }
}
1.7 +24 -23 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/property/DefaultPropertyStore.java
Index: DefaultPropertyStore.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/property/DefaultPropertyStore.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DefaultPropertyStore.java 6 May 2002 09:29:44 -0000 1.6
+++ DefaultPropertyStore.java 29 May 2002 06:42:26 -0000 1.7
@@ -12,26 +12,29 @@
import java.util.Map;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
+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.api.TaskException;
import org.apache.myrmidon.interfaces.property.NameValidator;
+import org.apache.myrmidon.interfaces.property.NameValidatorManager;
import org.apache.myrmidon.interfaces.property.PropertyStore;
/**
* This is the Default implementation of PropertyStore. It follows
- * the following rules;
+ * the following rules:
*
* <ul>
* <li>The property names must pass DefaultNameValidator checks</li>
* <li>The store is mutable</li>
- * <li>If the key is TaskContext.BASE_DIRECTORY then value must be a key.</li>
* </ul>
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
- * @version $Revision: 1.6 $ $Date: 2002/05/06 09:29:44 $
+ * @version $Revision: 1.7 $ $Date: 2002/05/29 06:42:26 $
* @see org.apache.myrmidon.interfaces.property.PropertyStore
*/
public class DefaultPropertyStore
- implements PropertyStore
+ implements PropertyStore, Serviceable
{
private static final Resources REZ =
ResourceManager.getPackageResources( DefaultPropertyStore.class );
@@ -44,7 +47,7 @@
/**
* The name validator to check property names against.
*/
- private final NameValidator m_validator;
+ private NameValidator m_validator;
/**
* The underlying map where propertys are actually stored.
@@ -70,14 +73,25 @@
final NameValidator validator )
{
m_parent = parent;
+ m_validator = validator;
+ }
- NameValidator candidateValidator = validator;
- if( null == candidateValidator )
+ public void service( final ServiceManager serviceManager )
+ throws ServiceException
+ {
+ if( m_validator == null )
{
- candidateValidator = createDefaultNameValidator();
+ final NameValidatorManager validatorManager =
+ (NameValidatorManager)serviceManager.lookup( NameValidatorManager.ROLE );
+ try
+ {
+ m_validator = validatorManager.getValidator( NameValidatorManager.PROPERTY_STYLE );
+ }
+ catch( final Exception e )
+ {
+ throw new ServiceException( e.getMessage(), e );
+ }
}
-
- m_validator = candidateValidator;
}
/**
@@ -196,18 +210,5 @@
String message = REZ.getString( "bad-property-name.error", name );
throw new TaskException( message, e );
}
- }
-
- /**
- * Create an instance of the default the name validator.
- *
- * @return the default NameValidator
- */
- private static NameValidator createDefaultNameValidator()
- {
- final DefaultNameValidator defaultValidator = new DefaultNameValidator();
- defaultValidator.setAllowInternalWhitespace( false );
- defaultValidator.setAdditionalInternalCharacters( "_-.+" );
- return defaultValidator;
}
}
1.5 +1 -0 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/property/Resources.properties
Index: Resources.properties
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/property/Resources.properties,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Resources.properties 5 May 2002 13:48:37 -0000 1.4
+++ Resources.properties 29 May 2002 06:42:26 -0000 1.5
@@ -10,6 +10,7 @@
bad-resolve.error=Unable to resolve value "{0}".
# Name validation
+unknown-name-style.error=Unknown name style "{0}".
name.zero-char-name.error=Name "" is invalid, as it contains no characters.
name.enclosing-whitespace.error=Name "{0}" is invalid, as it contains enclosing whitespace.
name.invalid-initial-char.error=Name "{0}" is invalid, as it begins with an illegal character. Names can start with {1}.
1.1 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/components/property/DefaultNameValidatorManager.java
Index: DefaultNameValidatorManager.java
===================================================================
/*
* 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.property;
import java.util.HashMap;
import java.util.Map;
import org.apache.myrmidon.interfaces.property.NameValidator;
import org.apache.myrmidon.interfaces.property.NameValidatorManager;
import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
/**
* The default name validator manager.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision: 1.1 $ $Date: 2002/05/29 06:42:26 $
*/
public class DefaultNameValidatorManager
implements NameValidatorManager
{
private static final Resources REZ =
ResourceManager.getPackageResources( DefaultNameValidatorManager.class );
private Map m_validators = new HashMap();
public DefaultNameValidatorManager()
{
// Property validator
DefaultNameValidator validator = new DefaultNameValidator();
validator.setAllowInternalWhitespace( false );
validator.addInternalCharacters( "+" );
m_validators.put( PROPERTY_STYLE, validator );
// Project validator
validator = new DefaultNameValidator();
m_validators.put( PROJECT_STYLE, validator );
// Target validator
validator = new DefaultNameValidator();
validator.addInitialCharacters( "-" );
m_validators.put( TARGET_STYLE, validator );
}
/**
* Locates a name validator for a particular style.
*/
public NameValidator getValidator( final String style ) throws Exception
{
final NameValidator validator = (NameValidator)m_validators.get( style );
if( validator == null )
{
final String message = REZ.getString( "unknown-name-style.error", style );
throw new Exception( message );
}
return validator;
}
}
1.17 +2 -2 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/interfaces/embeddor/Embeddor.java
Index: Embeddor.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/interfaces/embeddor/Embeddor.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- Embeddor.java 21 May 2002 05:57:14 -0000 1.16
+++ Embeddor.java 29 May 2002 06:42:26 -0000 1.17
@@ -18,7 +18,7 @@
* Interface through which you embed Myrmidon into applications.
*
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
- * @version $Revision: 1.16 $ $Date: 2002/05/21 05:57:14 $
+ * @version $Revision: 1.17 $ $Date: 2002/05/29 06:42:26 $
*/
public interface Embeddor
{
@@ -62,7 +62,7 @@
throws Exception;
/**
- * Creates a {@link ExecutionFrame} that can be used to execute projects.
+ * Creates an {@link ExecutionFrame} that can be used to execute projects.
*
* @param properties The properties to define in the frame. These
* are added to the properties in the embeddor's
1.3 +10 -1 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/interfaces/property/NameValidator.java
Index: NameValidator.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/interfaces/property/NameValidator.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- NameValidator.java 3 May 2002 09:26:13 -0000 1.2
+++ NameValidator.java 29 May 2002 06:42:26 -0000 1.3
@@ -11,7 +11,7 @@
* Determines the validity of names used in projects.
*
* @author <a href="mailto:darrell@apache.org">Darrell DeBoer</a>
- * @version $Revision: 1.2 $ $Date: 2002/05/03 09:26:13 $
+ * @version $Revision: 1.3 $ $Date: 2002/05/29 06:42:26 $
*/
public interface NameValidator
{
@@ -24,5 +24,14 @@
* @throws java.lang.Exception is the supplied name is not valid.
*/
void validate( String name )
+ throws Exception;
+
+ /**
+ * Transforms a name into a valid name.
+ *
+ * @param name The name to be transformed.
+ * @return The name, transformed into a valid name
+ */
+ String makeValidName( String name )
throws Exception;
}
1.1 jakarta-ant-myrmidon/container/src/java/org/apache/myrmidon/interfaces/property/NameValidatorManager.java
Index: NameValidatorManager.java
===================================================================
/*
* 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.interfaces.property;
/**
* Manages a set of {@link NameValidator}.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
* @version $Revision: 1.1 $ $Date: 2002/05/29 06:42:26 $
*/
public interface NameValidatorManager
{
String ROLE = NameValidatorManager.class.getName();
/** The validation style for property names. */
String PROPERTY_STYLE = "property";
/** The validation style for target names. */
String TARGET_STYLE = "target";
/** The validation style for project names. */
String PROJECT_STYLE = "target";
/**
* Locates a name validator for a particular style.
*
* @param style The style of name validation to use.
* @return the validator. Does not return null.
* @throws Exception if the requested validator is not found.
*/
NameValidator getValidator( String style ) throws Exception;
}
1.44 +30 -5 jakarta-ant-myrmidon/container/src/test/org/apache/myrmidon/components/AbstractComponentTest.java
Index: AbstractComponentTest.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/test/org/apache/myrmidon/components/AbstractComponentTest.java,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- AbstractComponentTest.java 28 May 2002 03:29:56 -0000 1.43
+++ AbstractComponentTest.java 29 May 2002 06:42:26 -0000 1.44
@@ -17,6 +17,7 @@
import org.apache.aut.converter.ConverterFactory;
import org.apache.aut.converter.lib.SimpleConverterFactory;
import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.context.DefaultContext;
@@ -33,11 +34,13 @@
import org.apache.myrmidon.components.executor.DefaultExecutor;
import org.apache.myrmidon.components.extensions.DefaultExtensionManager;
import org.apache.myrmidon.components.library.DefaultLibraryManager;
+import org.apache.myrmidon.components.property.DefaultNameValidatorManager;
import org.apache.myrmidon.components.property.DefaultPropertyResolver;
import org.apache.myrmidon.components.property.DefaultPropertyStore;
import org.apache.myrmidon.components.role.DefaultRoleManager;
import org.apache.myrmidon.components.type.DefaultTypeManager;
import org.apache.myrmidon.components.workspace.DefaultTaskContext;
+import org.apache.myrmidon.components.builder.DefaultModelBuilder;
import org.apache.myrmidon.interfaces.configurer.Configurer;
import org.apache.myrmidon.interfaces.converter.ConverterRegistry;
import org.apache.myrmidon.interfaces.deployer.Deployer;
@@ -47,6 +50,7 @@
import org.apache.myrmidon.interfaces.executor.Executor;
import org.apache.myrmidon.interfaces.extensions.ExtensionManager;
import org.apache.myrmidon.interfaces.library.LibraryManager;
+import org.apache.myrmidon.interfaces.property.NameValidatorManager;
import org.apache.myrmidon.interfaces.property.PropertyResolver;
import org.apache.myrmidon.interfaces.property.PropertyStore;
import org.apache.myrmidon.interfaces.role.RoleInfo;
@@ -56,12 +60,13 @@
import org.apache.myrmidon.interfaces.type.DefaultTypeFactory;
import org.apache.myrmidon.interfaces.type.TypeManager;
import org.apache.myrmidon.interfaces.type.TypeRegistry;
+import org.apache.myrmidon.interfaces.builder.ModelBuilder;
/**
* A base class for tests for the default components.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
- * @version $Revision: 1.43 $ $Date: 2002/05/28 03:29:56 $
+ * @version $Revision: 1.44 $ $Date: 2002/05/29 06:42:26 $
*/
public abstract class AbstractComponentTest
extends AbstractContainerTestCase
@@ -129,6 +134,14 @@
m_serviceManager.put( TaskEventManager.ROLE, component );
components.add( component );
+ component = createComponent( NameValidatorManager.ROLE, DefaultNameValidatorManager.class );
+ m_serviceManager.put( NameValidatorManager.ROLE, component );
+ components.add( component );
+
+ component = createComponent( ModelBuilder.ROLE, DefaultModelBuilder.class );
+ m_serviceManager.put( ModelBuilder.ROLE, component );
+ components.add( component );
+
// Log enable the components
for( Iterator iterator = components.iterator(); iterator.hasNext(); )
{
@@ -232,19 +245,31 @@
/**
* Utility method to create an execution frame.
*/
- protected ExecutionFrame createExecutionFrame( PropertyStore props )
+ protected ExecutionFrame createExecutionFrame( final PropertyStore props )
throws Exception
{
final DefaultServiceManager serviceManager = getServiceManager();
- if( props == null )
+ PropertyStore propStore = props;
+ if( propStore == null )
{
- props = new DefaultPropertyStore();
+ propStore = createPropertyStore();
}
- serviceManager.put( PropertyStore.ROLE, props );
+ serviceManager.put( PropertyStore.ROLE, propStore );
final File baseDir = getTestDirectory();
return new DefaultExecutionFrame( "", baseDir, serviceManager );
+ }
+
+ /**
+ * Utility method to create an empty property store.
+ */
+ protected PropertyStore createPropertyStore()
+ throws Exception
+ {
+ final PropertyStore props = new DefaultPropertyStore();
+ ContainerUtil.service( props, getServiceManager() );
+ return props;
}
/**
1.11 +4 -5 jakarta-ant-myrmidon/container/src/test/org/apache/myrmidon/components/builder/test/DefaultProjectBuilderTestCase.java
Index: DefaultProjectBuilderTestCase.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/test/org/apache/myrmidon/components/builder/test/DefaultProjectBuilderTestCase.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- DefaultProjectBuilderTestCase.java 27 May 2002 13:42:30 -0000 1.10
+++ DefaultProjectBuilderTestCase.java 29 May 2002 06:42:26 -0000 1.11
@@ -18,6 +18,7 @@
import org.apache.myrmidon.components.builder.DefaultModelBuilder;
import org.apache.myrmidon.components.builder.DefaultProject;
import org.apache.myrmidon.components.builder.DefaultProjectBuilder;
+import org.apache.myrmidon.components.AbstractComponentTest;
import org.apache.myrmidon.interfaces.builder.ModelBuilder;
import org.apache.myrmidon.interfaces.builder.ProjectBuilder;
import org.apache.myrmidon.interfaces.builder.ProjectException;
@@ -27,10 +28,10 @@
* Test cases for {@link DefaultProjectBuilder}.
*
* @author <a href="mailto:darrell@apache.org">Darrell DeBoer</a>
- * @version $Revision: 1.10 $ $Date: 2002/05/27 13:42:30 $
+ * @version $Revision: 1.11 $ $Date: 2002/05/29 06:42:26 $
*/
public class DefaultProjectBuilderTestCase
- extends AbstractContainerTestCase
+ extends AbstractComponentTest
{
private static final Resources REZ = getResourcesForTested( DefaultProjectBuilderTestCase.class );
@@ -44,11 +45,9 @@
protected void setUp() throws Exception
{
super.setUp();
- final DefaultServiceManager serviceManager = new DefaultServiceManager();
- serviceManager.put( ModelBuilder.ROLE, new DefaultModelBuilder() );
m_builder = new DefaultProjectBuilder();
ContainerUtil.enableLogging( m_builder, getLogger() );
- ContainerUtil.service( m_builder, serviceManager );
+ ContainerUtil.service( m_builder, getServiceManager() );
}
private String getURIFor( final File projFile ) throws IOException
1.5 +9 -3 jakarta-ant-myrmidon/container/src/test/org/apache/myrmidon/interfaces/model/test/DefaultNameValidatorTestCase.java
Index: DefaultNameValidatorTestCase.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/container/src/test/org/apache/myrmidon/interfaces/model/test/DefaultNameValidatorTestCase.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DefaultNameValidatorTestCase.java 2 May 2002 10:52:19 -0000 1.4
+++ DefaultNameValidatorTestCase.java 29 May 2002 06:42:26 -0000 1.5
@@ -5,7 +5,7 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
-package org.apache.myrmidon.interfaces.oldmodel.test;
+package org.apache.myrmidon.interfaces.model.test;
import org.apache.myrmidon.AbstractContainerTestCase;
import org.apache.myrmidon.components.property.DefaultNameValidator;
@@ -14,7 +14,7 @@
* TestCases for {@link org.apache.myrmidon.components.property.DefaultNameValidator}.
*
* @author <a href="mailto:darrell@apache.org">Darrell DeBoer</a>
- * @version $Revision: 1.4 $ $Date: 2002/05/02 10:52:19 $
+ * @version $Revision: 1.5 $ $Date: 2002/05/29 06:42:26 $
*/
public class DefaultNameValidatorTestCase
extends AbstractContainerTestCase
@@ -84,7 +84,13 @@
*/
public void testStrictNames() throws Exception
{
- m_validator = new DefaultNameValidator( false, false, "", false, false, "." );
+ m_validator = new DefaultNameValidator();
+ m_validator.setAllowSurroundingWhitespace( false );
+ m_validator.setAllowInternalWhitespace( false );
+ m_validator.setAllowInitialDigit( false );
+ m_validator.setAllowInternalDigits( false );
+ m_validator.setAdditionalInitialCharacters( "" );
+ m_validator.setAdditionalInternalCharacters( "." );
testValid( "name" );
testValid( "a" );
1.2 +4 -4 jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/framework/DataTypeTestCase.java
Index: DataTypeTestCase.java
===================================================================
RCS file: /home/cvs/jakarta-ant-myrmidon/framework/src/test/org/apache/myrmidon/framework/DataTypeTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DataTypeTestCase.java 18 May 2002 04:17:04 -0000 1.1
+++ DataTypeTestCase.java 29 May 2002 06:42:26 -0000 1.2
@@ -7,15 +7,15 @@
*/
package org.apache.myrmidon.framework;
-import org.apache.myrmidon.AbstractTaskTestCase;
-import org.apache.myrmidon.components.property.DefaultPropertyStore;
import java.io.File;
+import org.apache.myrmidon.AbstractTaskTestCase;
+import org.apache.myrmidon.interfaces.property.PropertyStore;
/**
* Test cases for the data-type role and TypeInstanceTask.
*
* @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
- * @version $Revision: 1.1 $ $Date: 2002/05/18 04:17:04 $
+ * @version $Revision: 1.2 $ $Date: 2002/05/29 06:42:26 $
*/
public class DataTypeTestCase
extends AbstractTaskTestCase
@@ -31,7 +31,7 @@
public void testDeploy() throws Exception
{
final File projectFile = getTestResource( "data-type.ant" );
- final DefaultPropertyStore props = new DefaultPropertyStore();
+ final PropertyStore props = createPropertyStore();
executeTarget( projectFile, "type-instance-task", props );
final Object obj = props.getProperty( "test-prop" );
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>