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]

Reply via email to