mcconnell 2003/08/07 10:23:00
Modified: merlin STRUCTURE.TXT maven.xml project.xml
merlin/assembly project.xml
merlin/assembly/src/java/org/apache/avalon/assembly/lifecycle/impl
DefaultDeploymentService.java
merlin/assembly-spi project.xml
merlin/composition project.xml
merlin/composition/src/java/org/apache/avalon/composition/data/builder
XMLContainmentProfileCreator.java
merlin/composition/src/java/org/apache/avalon/composition/data/writer
XMLContainmentProfileWriter.java
merlin/composition/src/java/org/apache/avalon/composition/model/impl
DefaultClassLoaderModel.java package.html
merlin/composition-spi project.xml
merlin/composition-spi/src/java/org/apache/avalon/composition/data
ClassLoaderDirective.java ClasspathDirective.java
ContainmentProfile.java LibraryDirective.java
merlin/extension project.xml
merlin/merlin-core project.xml
merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl
package.html
merlin/merlin-extensions/merlin-servlet project.xml
merlin/merlin-platform project.xml
merlin/merlin-plugin project.xml
merlin/merlin-spi project.xml
meta/impl/src/java/org/apache/avalon/meta/info/builder
XMLTypeCreator.java
Log:
Sync. everything to include activation package.
Revision Changes Path
1.3 +2 -2 avalon-sandbox/merlin/STRUCTURE.TXT
Index: STRUCTURE.TXT
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/STRUCTURE.TXT,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- STRUCTURE.TXT 4 Jul 2003 07:46:47 -0000 1.2
+++ STRUCTURE.TXT 7 Aug 2003 17:23:00 -0000 1.3
@@ -16,8 +16,8 @@
+-- assembly-spi assembly SPI interfaces and classes
+-- composition composition implementation
+-- composition-spi composition SPI interfaces and classes
- +-- extension optional jar manegement implementation
- +-- extension-spi optional jar manegement SPI interfaces and classes
+ +-- extension jar manegement implementation
+ +-- extension-spi jar manegement SPI interfaces and classes
+-- merlin-cli merlin command line handler
+-- merlin-core merlin kernel, block, and container
+-- merlin-spi merlin SPI interfaces and classes
1.33 +2 -2 avalon-sandbox/merlin/maven.xml
Index: maven.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/maven.xml,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- maven.xml 31 Jul 2003 17:42:38 -0000 1.32
+++ maven.xml 7 Aug 2003 17:23:00 -0000 1.33
@@ -31,7 +31,7 @@
<maven:reactor
basedir="${basedir}"
includes="*/project.xml,merlin-extensions/merlin-jmx/project.xml,merlin-extensions/merlin-jndi/project.xml,merlin-extensions/merlin-servlet/project.xml"
- excludes="merlin-platform/*,merlin-plugin/*,activation-spi/*,activation/*"
+ excludes="merlin-platform/*,merlin-plugin/*"
goals="merlin-propergate"
banner="Installing:"
ignoreFailures="false" />
@@ -93,7 +93,7 @@
repository, and copies the jar file into the merlin installation
directory.
-->
- <goal name="merlin-propergate" prereqs="jar:install">
+ <goal name="merlin-propergate" prereqs="jar:install-snapshot">
<ant:copy todir="${basedir}/../target/${merlin.build.inst}/lib/system">
<fileset dir="${maven.build.dir}">
<include name="${maven.final.name}.jar"/>
1.28 +8 -8 avalon-sandbox/merlin/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/project.xml,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- project.xml 31 Jul 2003 17:29:04 -0000 1.27
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.28
@@ -103,6 +103,14 @@
<role>Support on setup of NT service scripts and resources.</role>
</roles>
</developer>
+ <developer>
+ <name>Aaron Far</name>
+ <email>[EMAIL PROTECTED]</email>
+ <roles>
+ <role>Testing, bug reporting, and early access trial participation.</role>
+ </roles>
+ <organization>Sony Electronics</organization>
+ </developer>
</developers>
<contributors>
@@ -145,14 +153,6 @@
<role>Patches enhancing the meta-info generation sources and documentation,
and patches related to the pooled lifestyle handler.</role>
</roles>
<organization>Jentro AG</organization>
- </contributor>
- <contributor>
- <name>Aaron Far</name>
- <email>[EMAIL PROTECTED]</email>
- <roles>
- <role>Testing, bug reporting, and early access trial participation.</role>
- </roles>
- <organization>Sony Electronics</organization>
</contributor>
<contributor>
<name>Laurent Rieu</name>
1.17 +22 -19 avalon-sandbox/merlin/assembly/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/assembly/project.xml,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- project.xml 19 Jul 2003 01:54:35 -0000 1.16
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.17
@@ -16,6 +16,17 @@
<dependencies>
+ <dependency>
+ <groupId>avalon-composition</groupId>
+ <artifactId>avalon-composition-spi</artifactId>
+ <version>SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>avalon-composition</groupId>
+ <artifactId>avalon-composition-impl</artifactId>
+ <version>SNAPSHOT</version>
+ </dependency>
+
<!-- avalon dependecies -->
<dependency>
@@ -28,6 +39,7 @@
<artifactId>avalon-framework-impl</artifactId>
<version>SNAPSHOT</version>
</dependency>
+
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
@@ -45,36 +57,27 @@
</dependency>
<dependency>
- <id>logkit</id>
- <version>1.2</version>
- </dependency>
-
- <dependency>
<groupId>avalon</groupId>
<artifactId>avalon-assembly-spi</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-composition-spi</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-composition</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-impl</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
+ </dependency>
+
+ <!-- logkit -->
+
+ <dependency>
+ <id>logkit</id>
+ <version>1.2</version>
</dependency>
<!-- excalibur dependecies -->
1.19 +1 -2
avalon-sandbox/merlin/assembly/src/java/org/apache/avalon/assembly/lifecycle/impl/DefaultDeploymentService.java
Index: DefaultDeploymentService.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/assembly/src/java/org/apache/avalon/assembly/lifecycle/impl/DefaultDeploymentService.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- DefaultDeploymentService.java 19 Jul 2003 01:54:36 -0000 1.18
+++ DefaultDeploymentService.java 7 Aug 2003 17:23:00 -0000 1.19
@@ -565,7 +565,6 @@
StandardServiceManager manager = new StandardServiceManager( appliance
);
manager.enableLogging( getLogger().getChildLogger( "manager" ) );
((Serviceable) object).service( manager );
-
}
else if( object instanceof Composable )
{
1.9 +4 -3 avalon-sandbox/merlin/assembly-spi/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/assembly-spi/project.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- project.xml 19 Jul 2003 01:54:36 -0000 1.8
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.9
@@ -23,6 +23,7 @@
<artifactId>avalon-framework-api</artifactId>
<version>SNAPSHOT</version>
</dependency>
+
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
@@ -30,15 +31,15 @@
</dependency>
<dependency>
- <groupId>avalon</groupId>
+ <groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
</dependencies>
1.6 +13 -13 avalon-sandbox/merlin/composition/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/composition/project.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- project.xml 19 Jul 2003 01:54:37 -0000 1.5
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.6
@@ -4,8 +4,8 @@
<extend>${basedir}/../project.xml</extend>
- <groupId>avalon</groupId>
- <id>avalon-composition</id>
+ <groupId>avalon-composition</groupId>
+ <id>avalon-composition-impl</id>
<name>Avalon Composition Framework</name>
<package>org.apache.avalon.composition</package>
@@ -45,25 +45,27 @@
</dependency>
<dependency>
- <id>logkit</id>
- <version>1.2</version>
- </dependency>
-
- <dependency>
- <groupId>avalon</groupId>
+ <groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-impl</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
+ </dependency>
+
+ <!-- logkit -->
+
+ <dependency>
+ <id>logkit</id>
+ <version>1.2</version>
</dependency>
<!-- excalibur dependecies -->
@@ -117,6 +119,4 @@
</dependency>
</dependencies>
-
-
</project>
1.6 +18 -19
avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLContainmentProfileCreator.java
Index: XMLContainmentProfileCreator.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/builder/XMLContainmentProfileCreator.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XMLContainmentProfileCreator.java 30 Jul 2003 14:44:33 -0000 1.5
+++ XMLContainmentProfileCreator.java 7 Aug 2003 17:23:00 -0000 1.6
@@ -119,7 +119,7 @@
final String name = getName( null, config, "untitled" );
ServiceDirective[] exports =
- getServicesDirectives( config.getChild( "services", false ) );
+ createServiceDirectives( config.getChild( "services", false ) );
//
// check for any legacy "implementation" tags and if it exists
@@ -133,8 +133,8 @@
}
final ClassLoaderDirective classloader =
- getClassLoaderDirective( implementation.getChild( "classloader", false )
);
- final Profile[] profiles = getProfiles( implementation );
+ createClassLoaderDirective( implementation.getChild( "classloader", false
) );
+ final Profile[] profiles = createProfiles( implementation );
//
// return the containment profile
@@ -143,7 +143,7 @@
return new ContainmentProfile( name, classloader, exports, profiles );
}
- private ClassLoaderDirective getClassLoaderDirective( Configuration config )
+ private ClassLoaderDirective createClassLoaderDirective( Configuration config )
throws ConfigurationException
{
if( config == null )
@@ -166,8 +166,8 @@
return null;
}
- FilesetDirective[] filesets = getFilesetDirectives( config );
- RepositoryDirective[] repositories = getRepositoryDirectives( config );
+ FilesetDirective[] filesets = createFilesetDirectives( config );
+ RepositoryDirective[] repositories = createRepositoryDirectives( config );
return new ClasspathDirective( filesets, repositories );
}
@@ -196,7 +196,7 @@
return new LibraryDirective( inc, grp );
}
- private RepositoryDirective[] getRepositoryDirectives( Configuration config )
+ private RepositoryDirective[] createRepositoryDirectives( Configuration config )
throws ConfigurationException
{
if( config == null )
@@ -208,13 +208,13 @@
RepositoryDirective[] repositories = new RepositoryDirective[
children.length ];
for( int i = 0; i < children.length; i++ )
{
- ResourceDirective[] resources = getResourceDirectives( children[i] );
+ ResourceDirective[] resources = createResourceDirectives( children[i] );
repositories[i] = new RepositoryDirective( resources );
}
return repositories;
}
- private ResourceDirective[] getResourceDirectives( Configuration config )
+ private ResourceDirective[] createResourceDirectives( Configuration config )
throws ConfigurationException
{
if( config == null )
@@ -227,13 +227,13 @@
for( int i = 0; i < resources.length; i++ )
{
Configuration resource = resources[i];
- res.add( getResourceDirective( resource ) );
+ res.add( createResourceDirective( resource ) );
}
return (ResourceDirective[]) res.toArray( new ResourceDirective[0] );
}
- private ResourceDirective getResourceDirective( Configuration config )
+ private ResourceDirective createResourceDirective( Configuration config )
throws ConfigurationException
{
String id = config.getAttribute( "id" );
@@ -241,8 +241,7 @@
return new ResourceDirective( id, version );
}
-
- private FilesetDirective[] getFilesetDirectives( Configuration config )
+ private FilesetDirective[] createFilesetDirectives( Configuration config )
throws ConfigurationException
{
ArrayList list = new ArrayList();
@@ -335,7 +334,7 @@
* @param config a container or implementation configutation
* @return the set of profile
*/
- protected Profile[] getProfiles( Configuration config )
+ protected Profile[] createProfiles( Configuration config )
throws Exception
{
ArrayList list = new ArrayList();
@@ -367,7 +366,7 @@
* @param config the services configuration fragment
* @return the set of declared service descriptors
*/
- public ServiceDirective[] getServicesDirectives( Configuration config )
+ public ServiceDirective[] createServiceDirectives( Configuration config )
throws MetaDataException
{
if( config == null )
@@ -379,7 +378,7 @@
ArrayList list = new ArrayList();
for( int i=0; i<children.length; i++ )
{
- list.add( getServiceDirective( children[i] ) );
+ list.add( createServiceDirective( children[i] ) );
}
return (ServiceDirective[]) list.toArray( new ServiceDirective[0] );
}
@@ -389,7 +388,7 @@
* @param config the service configuration fragment
* @return the set of declared services directives
*/
- private ServiceDirective getServiceDirective( Configuration config )
+ private ServiceDirective createServiceDirective( Configuration config )
throws MetaDataException
{
try
@@ -428,7 +427,7 @@
final String name = getBlockIncludeName( config );
if( config.getAttribute( "id", null ) != null )
{
- ResourceDirective resource = getResourceDirective( config );
+ ResourceDirective resource = createResourceDirective( config );
return new BlockCompositionDirective( name, resource );
}
else
1.6 +7 -16
avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/writer/XMLContainmentProfileWriter.java
Index: XMLContainmentProfileWriter.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/data/writer/XMLContainmentProfileWriter.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XMLContainmentProfileWriter.java 31 Jul 2003 17:42:38 -0000 1.5
+++ XMLContainmentProfileWriter.java 7 Aug 2003 17:23:00 -0000 1.6
@@ -125,7 +125,7 @@
writer.write( pad + "<container name=\"" + profile.getName() + "\">");
final String padding = pad + INDENT;
writeServiceDirectives( writer, profile.getServiceDirectives(), padding );
- writeClassLoader( writer, profile.getClassLoaderDirective( false ), padding
);
+ writeClassLoader( writer, profile.getClassLoaderDirective(), padding );
writeProfiles( writer, profile.getProfiles(), padding );
writer.write( "\n" + pad + "</container>" );
writer.write( "\n" );
@@ -191,18 +191,15 @@
final Writer writer, final ClassLoaderDirective classloader, String pad )
throws IOException
{
- if( classloader == null )
- {
- return;
- }
+ if( classloader.isEmpty() ) return;
writer.write( "\n" + pad + "<classloader>" );
final String padding = pad + INDENT;
- LibraryDirective library = classloader.getLibrary( false );
+ LibraryDirective library = classloader.getLibrary();
writeLibrary( writer, library, padding );
- ClasspathDirective classpath = classloader.getClasspathDirective( false );
+ ClasspathDirective classpath = classloader.getClasspathDirective();
writeClasspathDirective( writer, classpath, padding );
writer.write( "\n" + pad + "</classloader>" );
@@ -219,10 +216,7 @@
final Writer writer, final LibraryDirective library, String pad )
throws IOException
{
- if( library == null )
- {
- return;
- }
+ if( library.isEmpty() ) return;
final String padding = pad + INDENT;
writer.write( "\n" + pad + "<library>" );
@@ -256,10 +250,7 @@
String pad )
throws IOException
{
- if( classpath == null )
- {
- return;
- }
+ if( classpath.isEmpty() ) return;
final String padding = pad + INDENT;
writer.write( "\n" + pad + "<classpath>" );
1.15 +71 -10
avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/DefaultClassLoaderModel.java
Index: DefaultClassLoaderModel.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/DefaultClassLoaderModel.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- DefaultClassLoaderModel.java 31 Jul 2003 22:52:47 -0000 1.14
+++ DefaultClassLoaderModel.java 7 Aug 2003 17:23:00 -0000 1.15
@@ -61,6 +61,14 @@
import java.net.URL;
import java.net.URLClassLoader;
+import org.apache.avalon.composition.data.ContainmentProfile;
+import org.apache.avalon.composition.data.ClassLoaderDirective;
+import org.apache.avalon.composition.data.ClasspathDirective;
+import org.apache.avalon.composition.data.FilesetDirective;
+import org.apache.avalon.composition.data.IncludeDirective;
+import org.apache.avalon.composition.data.RepositoryDirective;
+import org.apache.avalon.composition.data.ResourceDirective;
+import org.apache.avalon.composition.data.Profile;
import org.apache.avalon.composition.model.ClassLoaderContext;
import org.apache.avalon.composition.model.ClassLoaderModel;
import org.apache.avalon.composition.model.SystemContext;
@@ -80,12 +88,6 @@
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.composition.data.ContainmentProfile;
-import org.apache.avalon.composition.data.ClassLoaderDirective;
-import org.apache.avalon.composition.data.ClasspathDirective;
-import org.apache.avalon.composition.data.RepositoryDirective;
-import org.apache.avalon.composition.data.ResourceDirective;
-import org.apache.avalon.composition.data.Profile;
import org.apache.avalon.meta.info.DependencyDescriptor;
import org.apache.avalon.meta.info.ReferenceDescriptor;
import org.apache.avalon.meta.info.StageDescriptor;
@@ -414,9 +416,10 @@
throws Exception
{
ArrayList classpath = new ArrayList();
- addToClassPath(
- classpath,
- directive.getClasspathDirective().expandFileSetDirectives( base ) );
+ File[] files =
+ expandFileSetDirectives(
+ base, directive.getClasspathDirective().getFilesets() );
+ addToClassPath( classpath, files );
RepositoryDirective[] repositories =
directive.getClasspathDirective().getRepositoryDirectives();
@@ -584,6 +587,64 @@
}
}
return (Manifest[]) manifests.toArray( new Manifest[0] );
+ }
+
+
+ /**
+ * Return an array of files corresponding to the expansion
+ * of the filesets declared within the directive.
+ *
+ * @param base the base directory against which relative
+ * file references will be resolved
+ * @return the classpath
+ */
+ public File[] expandFileSetDirectives(
+ File base, FilesetDirective[] filesets ) throws IOException
+ {
+ ArrayList list = new ArrayList();
+
+ for( int i=0; i<filesets.length; i++ )
+ {
+ FilesetDirective fileset = filesets[i];
+ File anchor = getDirectory( base, fileset.getBaseDirectory() );
+ IncludeDirective[] includes = fileset.getIncludes();
+ if( includes.length > 0 )
+ {
+ for( int j=0; j<includes.length; j++ )
+ {
+ File file = new File( anchor, includes[j].getPath() );
+ list.add( file );
+ }
+ }
+ else
+ {
+ list.add( anchor );
+ }
+ }
+
+ return (File[]) list.toArray( new File[0] );
+ }
+
+ private File getDirectory( File base, String path ) throws IOException
+ {
+ File file = new File( path );
+ if( file.isAbsolute() )
+ {
+ return verifyDirectory( file );
+ }
+ return verifyDirectory( new File( base, path ) );
+ }
+
+ private File verifyDirectory( File dir ) throws IOException
+ {
+ if( dir.isDirectory() )
+ {
+ return dir.getCanonicalFile();
+ }
+
+ final String error =
+ "Path does not correspond to a directory: " + dir;
+ throw new IOException( error );
}
}
1.2 +1 -5
avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/package.html
Index: package.html
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/composition/src/java/org/apache/avalon/composition/model/impl/package.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- package.html 4 Jul 2003 07:27:39 -0000 1.1
+++ package.html 7 Aug 2003 17:23:00 -0000 1.2
@@ -1,15 +1,11 @@
<body>
<p>
-The org.apche.avalon.assembly.model package contains a series of classes that
leverage the
+The model package contains a series of classes that leverage the
new meta data model. Currently this includes a ClassLoaderModel and associated
testcase that provides support for the resolution of a fully qualified
classpath, a Composition model - supporting vitual service publication, a
Containment model
supporting the aggregation of of a set of deployment models, and the Deployment
model that describes a component deployment scenario.
-</p>
-<p>
-THIS IS EXPERIMENTAL WORK-IN-PROGRESS AND IS NOT IN USE WITHIN
-THE MERLIN RUNTIME AT THIS TIME.
</p>
</body>
1.6 +2 -2 avalon-sandbox/merlin/composition-spi/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/composition-spi/project.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- project.xml 19 Jul 2003 01:54:37 -0000 1.5
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.6
@@ -4,7 +4,7 @@
<extend>${basedir}/../project.xml</extend>
- <groupId>avalon</groupId>
+ <groupId>avalon-composition</groupId>
<id>avalon-composition-spi</id>
<name>Avalon Composition SPI</name>
<package>org.apache.avalon.assembly</package>
@@ -38,7 +38,7 @@
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
</dependencies>
1.2 +28 -29
avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/ClassLoaderDirective.java
Index: ClassLoaderDirective.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/ClassLoaderDirective.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ClassLoaderDirective.java 17 Jul 2003 21:21:58 -0000 1.1
+++ ClassLoaderDirective.java 7 Aug 2003 17:23:00 -0000 1.2
@@ -94,18 +94,35 @@
final LibraryDirective library,
final ClasspathDirective classpath )
{
- m_library = library;
- m_classpath = classpath;
+ if( library == null )
+ {
+ m_library = EMPTY_LIBRARY;
+ }
+ else
+ {
+ m_library = library;
+ }
+
+ if( classpath == null )
+ {
+ m_classpath = EMPTY_CLASSPATH;
+ }
+ else
+ {
+ m_classpath = classpath;
+ }
}
- /**
- * Return the library directive.
- *
- * @return the library directive.
- */
- public LibraryDirective getLibrary()
+ /**
+ * Return true if the library and classpath declarations are empty.
+ * If the function returns true, this directive is in an effective
+ * default state and need not be externalized.
+ *
+ * @return the empty status of this directive
+ */
+ public boolean isEmpty()
{
- return getLibrary( true );
+ return ( m_library.isEmpty() && m_classpath.isEmpty() );
}
/**
@@ -113,12 +130,8 @@
*
* @return the library directive.
*/
- public LibraryDirective getLibrary( boolean create )
+ public LibraryDirective getLibrary()
{
- if(( m_library == null ) && create )
- {
- return EMPTY_LIBRARY;
- }
return m_library;
}
@@ -129,20 +142,6 @@
*/
public ClasspathDirective getClasspathDirective()
{
- return getClasspathDirective( true );
- }
-
- /**
- * Return the classpath directive.
- *
- * @return the classpath directive.
- */
- public ClasspathDirective getClasspathDirective( boolean create )
- {
- if(( m_classpath == null ) && create )
- {
- return EMPTY_CLASSPATH;
- }
return m_classpath;
}
}
1.3 +14 -3
avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/ClasspathDirective.java
Index: ClasspathDirective.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/ClasspathDirective.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ClasspathDirective.java 19 Jul 2003 05:25:35 -0000 1.2
+++ ClasspathDirective.java 7 Aug 2003 17:23:00 -0000 1.3
@@ -96,13 +96,12 @@
{
if( filesets == null )
{
- m_filesets = EMPTY_FILESETS;
+ m_filesets = EMPTY_FILESETS;
}
else
{
m_filesets = filesets;
}
-
if( repositories == null )
{
m_repositories = EMPTY_REPOSITORIES;
@@ -113,6 +112,16 @@
}
}
+ /**
+ * Return the default status of this directive. If TRUE
+ * the enclosed repository and fileset directives are empty.
+ */
+ public boolean isEmpty()
+ {
+ final int n = m_repositories.length + m_filesets.length;
+ return n == 0;
+ }
+
/**
* Return the set of resource directives.
*
@@ -141,6 +150,7 @@
* file references will be resolved
* @return the classpath
*/
+ /*
public File[] expandFileSetDirectives( File base ) throws IOException
{
ArrayList list = new ArrayList();
@@ -194,4 +204,5 @@
"Path does not correspond to a directory: " + dir;
throw new IOException( error );
}
+ */
}
1.4 +10 -37
avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/ContainmentProfile.java
Index: ContainmentProfile.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/ContainmentProfile.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ContainmentProfile.java 30 Jul 2003 15:24:38 -0000 1.3
+++ ContainmentProfile.java 7 Aug 2003 17:23:00 -0000 1.4
@@ -77,22 +77,17 @@
// static
//========================================================================
- public static final String EMBEDDED = "embedded"; // default
- public static final String INCLUDED = "included"; // url reference
- public static final String COMPOSED = "composed"; // resource reference
-
/**
* Container path delimiter.
*/
public static final String DELIMITER = "/";
- private static final ServiceDirective[] EMPTY_SERVICE_DIRECTIVES =
+ private static final ServiceDirective[] EMPTY_SERVICES =
new ServiceDirective[0];
- private static final ContainmentProfile EMPTY_IMPLEMENTATION =
- new ContainmentProfile();
+ private static final Profile[] EMPTY_PROFILES = new Profile[0];
- private static final ClassLoaderDirective EMPTY_CLASSLOADER_DIRECTIVE =
+ private static final ClassLoaderDirective EMPTY_CLASSLOADER =
new ClassLoaderDirective( new LibraryDirective(), new ClasspathDirective() );
//========================================================================
@@ -123,7 +118,7 @@
*/
public ContainmentProfile()
{
- this( "container", null, null, new Profile[0] );
+ this( "container", null, null, null );
}
/**
@@ -146,15 +141,7 @@
m_classloader = classloader;
m_profiles = profiles;
-
- if( exports == null )
- {
- m_export = EMPTY_SERVICE_DIRECTIVES;
- }
- else
- {
- m_export = exports;
- }
+ m_export = exports;
}
//--------------------------------------------------------------------------
@@ -169,23 +156,7 @@
*/
public ClassLoaderDirective getClassLoaderDirective()
{
- return getClassLoaderDirective( true );
- }
-
- /**
- * Return the classloader directive that describes the creation
- * arguments for the classloader required by this container. If the
- * assigned classloader directive is null and 'create' is true, a
- * new empty classloader directive will be returned.
- *
- * @return classloader directive.
- */
- public ClassLoaderDirective getClassLoaderDirective( boolean create )
- {
- if(( m_classloader == null ) && create )
- {
- return EMPTY_CLASSLOADER_DIRECTIVE;
- }
+ if( m_classloader == null ) return EMPTY_CLASSLOADER;
return m_classloader;
}
@@ -198,6 +169,7 @@
*/
public ServiceDirective[] getServiceDirectives()
{
+ if( m_export == null ) return EMPTY_SERVICES;
return m_export;
}
@@ -229,6 +201,7 @@
*/
public Profile[] getProfiles()
{
+ if( m_profiles == null ) return EMPTY_PROFILES;
return m_profiles;
}
@@ -244,7 +217,7 @@
*/
public Profile[] getProfiles( Mode mode )
{
- Profile[] profiles = getProfiles( );
+ Profile[] profiles = getProfiles();
return selectProfileByMode( profiles, mode );
}
1.2 +25 -29
avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/LibraryDirective.java
Index: LibraryDirective.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/composition-spi/src/java/org/apache/avalon/composition/data/LibraryDirective.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LibraryDirective.java 17 Jul 2003 21:21:58 -0000 1.1
+++ LibraryDirective.java 7 Aug 2003 17:23:00 -0000 1.2
@@ -107,18 +107,32 @@
*/
public LibraryDirective( final String[] includes, final String[] groups )
{
- m_includes = includes;
- m_groups = groups;
+ if( includes == null )
+ {
+ m_includes = EMPTY_SET;
+ }
+ else
+ {
+ m_includes = includes;
+ }
+
+ if( groups == null )
+ {
+ m_groups = EMPTY_SET;
+ }
+ else
+ {
+ m_groups = groups;
+ }
}
- /**
- * Return the set of include path entries.
- *
- * @return the include paths
- */
- public String[] getIncludes()
+ /**
+ * Return the empty status of this directive.
+ */
+ public boolean isEmpty()
{
- return getIncludes( true );
+ final int n = m_includes.length + m_groups.length;
+ return n == 0;
}
/**
@@ -126,12 +140,8 @@
*
* @return the include paths
*/
- public String[] getIncludes( boolean create )
+ public String[] getIncludes()
{
- if( create && ( m_includes == null ))
- {
- return EMPTY_SET;
- }
return m_includes;
}
@@ -142,20 +152,6 @@
*/
public String[] getGroups()
{
- return getGroups( true );
- }
-
- /**
- * Return the set of group identifiers.
- *
- * @return the group identifiers
- */
- public String[] getGroups( boolean create )
- {
- if( create && ( m_groups == null ))
- {
- return EMPTY_SET;
- }
return m_groups;
}
1.4 +1 -1 avalon-sandbox/merlin/extension/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/extension/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 24 Jun 2003 15:02:42 -0000 1.3
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.4
@@ -23,7 +23,7 @@
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<!-- pre JDK 1.4 dependencies -->
1.16 +9 -9 avalon-sandbox/merlin/merlin-core/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-core/project.xml,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- project.xml 19 Jul 2003 01:54:37 -0000 1.15
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.16
@@ -24,7 +24,7 @@
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<!-- avalon dependecies -->
@@ -32,12 +32,12 @@
<dependency>
<groupId>avalon</groupId>
<artifactId>avalon-assembly-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon</groupId>
<artifactId>avalon-assembly</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-meta</groupId>
@@ -56,14 +56,14 @@
</dependency>
<dependency>
- <groupId>avalon</groupId>
+ <groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-composition</artifactId>
- <version>1.0</version>
+ <groupId>avalon-composition</groupId>
+ <artifactId>avalon-composition-impl</artifactId>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
@@ -74,7 +74,7 @@
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-impl</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
1.2 +1 -2
avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/package.html
Index: package.html
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/package.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- package.html 13 Mar 2003 01:05:04 -0000 1.1
+++ package.html 7 Aug 2003 17:23:00 -0000 1.2
@@ -1,6 +1,5 @@
<body>
-<p>The impl package provides the implementation of the composite component block
abstraction withing which
-packaged component heirachies represent functional application building block.</p>
+<p>The impl package provides the implementation of the composite component block
abstraction within which packaged component heirachies represent functional
application building block.</p>
</body>
1.9 +24 -16
avalon-sandbox/merlin/merlin-extensions/merlin-servlet/project.xml
Index: project.xml
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/merlin-extensions/merlin-servlet/project.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- project.xml 19 Jul 2003 01:54:38 -0000 1.8
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.9
@@ -68,34 +68,42 @@
</dependency>
<dependency>
- <groupId>avalon</groupId>
+ <groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
<dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-composition</artifactId>
- <version>1.0</version>
+ <groupId>avalon-composition</groupId>
+ <artifactId>avalon-composition-impl</artifactId>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
<dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-meta</artifactId>
- <version>1.0</version>
+ <groupId>avalon-meta</groupId>
+ <artifactId>avalon-meta-api</artifactId>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
</dependency>
<dependency>
- <groupId>avalon</groupId>
+ <groupId>avalon-meta</groupId>
<artifactId>avalon-meta-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
+ <properties>
+ <war.bundle.jar>true</war.bundle.jar>
+ </properties>
+ </dependency>
+ <dependency>
+ <groupId>avalon-meta</groupId>
+ <artifactId>avalon-meta-impl</artifactId>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
@@ -104,7 +112,7 @@
<dependency>
<groupId>avalon</groupId>
<artifactId>avalon-assembly-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
@@ -112,7 +120,7 @@
<dependency>
<groupId>avalon</groupId>
<artifactId>avalon-assembly</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
@@ -121,7 +129,7 @@
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
@@ -129,7 +137,7 @@
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-impl</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
@@ -179,7 +187,7 @@
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
@@ -188,7 +196,7 @@
<dependency>
<groupId>merlin</groupId>
<artifactId>merlin-core</artifactId>
- <version>2.1</version>
+ <version>SNAPSHOT</version>
<properties>
<war.bundle.jar>true</war.bundle.jar>
</properties>
1.14 +16 -22 avalon-sandbox/merlin/merlin-platform/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/project.xml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- project.xml 24 Jul 2003 13:14:55 -0000 1.13
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.14
@@ -47,36 +47,36 @@
</dependency>
<dependency>
- <groupId>avalon</groupId>
+ <groupId>avalon-activation</groupId>
<artifactId>avalon-activation-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-activation</artifactId>
- <version>1.0</version>
+ <groupId>avalon-activation</groupId>
+ <artifactId>avalon-activation-impl</artifactId>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>avalon</groupId>
+ <groupId>avalon-composition</groupId>
<artifactId>avalon-composition-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-composition</artifactId>
- <version>1.0</version>
+ <groupId>avalon-composition</groupId>
+ <artifactId>avalon-composition-impl</artifactId>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-impl</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
@@ -145,27 +145,21 @@
<title>Merlin Service Management Platform</title>
<packages>org.apache.avalon.merlin.*</packages>
</packageGroup>
- <!--
<packageGroup>
- <title>Avalon Assembly Framework</title>
+ <title>Assembly</title>
<packages>org.apache.avalon.assembly.*</packages>
</packageGroup>
<packageGroup>
- <title>Avalon Activation Framework</title>
+ <title>Activation</title>
<packages>org.apache.avalon.activation.*</packages>
</packageGroup>
- -->
<packageGroup>
- <title>Avalon Composition Framework</title>
+ <title>Composition</title>
<packages>org.apache.avalon.composition.*</packages>
</packageGroup>
<packageGroup>
- <title>Avalon Optional Extensions Package</title>
+ <title>Extension</title>
<packages>org.apache.avalon.extension,org.apache.avalon.extension.*</packages>
- </packageGroup>
- <packageGroup>
- <title>Avalon Meta Model</title>
- <packages>org.apache.avalon.meta,org.apache.avalon.meta.*</packages>
</packageGroup>
</packageGroups>
1.13 +33 -50 avalon-sandbox/merlin/merlin-plugin/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-plugin/project.xml,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- project.xml 19 Jul 2003 01:54:39 -0000 1.12
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.13
@@ -12,6 +12,22 @@
<dependencies>
+ <!-- merlin -->
+
+ <dependency>
+ <groupId>merlin</groupId>
+ <artifactId>merlin-spi</artifactId>
+ <version>SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>merlin</groupId>
+ <artifactId>merlin-core</artifactId>
+ <version>SNAPSHOT</version>
+ </dependency>
+
+ <!-- framework -->
+
<dependency>
<groupId>avalon-framework</groupId>
<artifactId>avalon-framework-api</artifactId>
@@ -44,71 +60,50 @@
</dependency>
<dependency>
- <id>logkit</id>
- <version>1.2</version>
- </dependency>
-
- <dependency>
- <id>excalibur-lifecycle</id>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>avalon-meta</groupId>
- <artifactId>avalon-meta-api</artifactId>
- <version>SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>avalon-meta</groupId>
- <artifactId>avalon-meta-spi</artifactId>
+ <groupId>avalon-composition</groupId>
+ <artifactId>avalon-composition-spi</artifactId>
<version>SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>avalon-meta</groupId>
- <artifactId>avalon-meta-impl</artifactId>
+ <groupId>avalon-composition</groupId>
+ <artifactId>avalon-composition-impl</artifactId>
<version>SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-composition-spi</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-composition</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-extension</groupId>
<artifactId>avalon-extension-impl</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon</groupId>
<artifactId>avalon-assembly</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon</groupId>
<artifactId>avalon-assembly-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
+ <!-- excalibur -->
+
<dependency>
- <groupId>avalon</groupId>
- <artifactId>avalon-meta-tools</artifactId>
+ <id>logkit</id>
+ <version>1.2</version>
+ </dependency>
+
+ <dependency>
+ <id>excalibur-lifecycle</id>
<version>1.0</version>
</dependency>
- <!-- excalibur -->
<dependency>
<id>excalibur-i18n</id>
@@ -136,19 +131,7 @@
<version>1.1-dev</version>
</dependency>
- <!-- merlin -->
-
- <dependency>
- <groupId>merlin</groupId>
- <artifactId>merlin-spi</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>merlin</groupId>
- <artifactId>merlin-core</artifactId>
- <version>2.1</version>
- </dependency>
+ <!-- other -->
<dependency>
<id>ant</id>
1.12 +2 -1 avalon-sandbox/merlin/merlin-spi/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-spi/project.xml,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- project.xml 19 Jul 2003 01:54:39 -0000 1.11
+++ project.xml 7 Aug 2003 17:23:00 -0000 1.12
@@ -23,6 +23,7 @@
<artifactId>avalon-framework-api</artifactId>
<version>SNAPSHOT</version>
</dependency>
+
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
@@ -32,7 +33,7 @@
<dependency>
<groupId>avalon</groupId>
<artifactId>avalon-assembly-spi</artifactId>
- <version>1.0</version>
+ <version>SNAPSHOT</version>
</dependency>
</dependencies>
1.12 +18 -12
avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/builder/XMLTypeCreator.java
Index: XMLTypeCreator.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/meta/impl/src/java/org/apache/avalon/meta/info/builder/XMLTypeCreator.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- XMLTypeCreator.java 31 Jul 2003 18:54:45 -0000 1.11
+++ XMLTypeCreator.java 7 Aug 2003 17:23:00 -0000 1.12
@@ -205,24 +205,30 @@
protected StageDescriptor buildPhase( Configuration config )
throws ConfigurationException
{
+ String id = null;
if( config.getAttribute( "type", null ) != null ) // legacy
{
- //
- // legacy case
- //
+ id = config.getAttribute( "type" );
+ }
+ else if( config.getAttribute( "key", null ) != null ) // legacy
+ {
+ id = config.getAttribute( "key" );
+ }
+
+ if( id == null ) id = config.getAttribute( "id" ); // standard
- String key = config.getAttribute( "type" );
+ try
+ {
final Properties attributes =
buildAttributes( config.getChild( "attributes" ) );
- return new StageDescriptor( key, attributes );
+ return new StageDescriptor( id, attributes );
}
- else
+ catch( Throwable e )
{
- String key = config.getAttribute( "key", null ); //legacy
- if( key == null) config.getAttribute( "id" );
- final Properties attributes =
- buildAttributes( config.getChild( "attributes" ) );
- return new StageDescriptor( key, attributes );
+ final String error =
+ "Unable to construct a stage descriptor from source fragment:"
+ + ConfigurationUtil.list( config );
+ throw new ConfigurationException( error, e );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]