donaldp     2002/09/13 04:38:43

  Modified:    loader/src/java/org/apache/excalibur/loader/builder
                        ClassLoaderSetBuilder.java classloader.dtd
               loader/src/test/org/apache/excalibur/loader/builder/test
                        ReaderTestCase.java config1.xml config2.xml
                        config3.xml config4.xml
               loader/src/test/org/apache/excalibur/loader/test
                        AbstractLoaderTestCase.java
               loader/src/test/org/apache/excalibur/loader/verifier/test
                        VerifierTestCase.java config1.xml config10.xml
                        config11.xml config12.xml config13.xml config2.xml
                        config3.xml config4.xml config5.xml config6.xml
                        config7.xml config8.xml config9.xml
  Log:
  Declare the predefined classloaders in classloaders.xml
  
  Revision  Changes    Path
  1.3       +23 -3     
jakarta-avalon-excalibur/loader/src/java/org/apache/excalibur/loader/builder/ClassLoaderSetBuilder.java
  
  Index: ClassLoaderSetBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/java/org/apache/excalibur/loader/builder/ClassLoaderSetBuilder.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ClassLoaderSetBuilder.java        13 Sep 2002 09:16:12 -0000      1.2
  +++ ClassLoaderSetBuilder.java        13 Sep 2002 11:38:41 -0000      1.3
  @@ -26,8 +26,7 @@
    */
   public class ClassLoaderSetBuilder
   {
  -    public ClassLoaderSetDef build( final Configuration config,
  -                                    final String[] predefined )
  +    public ClassLoaderSetDef build( final Configuration config )
           throws ConfigurationException
       {
           final String defaultClassLoader =
  @@ -51,10 +50,31 @@
           final ClassLoaderDef[] classloaders =
               buildClassLoaders( clConfigs );
   
  +
  +        final Configuration[] predefinedConfigs =
  +            config.getChildren( "predefined" );
  +
  +        final String[] predefined =
  +            buildPredefined( predefinedConfigs );
  +
           return new ClassLoaderSetDef( defaultClassLoader,
                                         predefined,
                                         classloaders,
                                         joins );
  +    }
  +
  +    private String[] buildPredefined( final Configuration[] configs )
  +        throws ConfigurationException
  +    {
  +        final ArrayList predefines = new ArrayList();
  +
  +        for( int i = 0; i < configs.length; i++ )
  +        {
  +            final String predefined = configs[ i ].getAttribute( "name" );
  +            predefines.add( predefined );
  +        }
  +
  +        return (String[])predefines.toArray( new String[ predefines.size() ] );
       }
   
       private ClassLoaderDef[] buildClassLoaders( Configuration[] configs )
  
  
  
  1.4       +10 -1     
jakarta-avalon-excalibur/loader/src/java/org/apache/excalibur/loader/builder/classloader.dtd
  
  Index: classloader.dtd
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/java/org/apache/excalibur/loader/builder/classloader.dtd,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- classloader.dtd   13 Sep 2002 09:16:12 -0000      1.3
  +++ classloader.dtd   13 Sep 2002 11:38:42 -0000      1.4
  @@ -22,7 +22,7 @@
   join                the join classloaders
   classloader  the regular classloaders
   -->
  -<!ELEMENT classloaders (classloader*,join*)>
  +<!ELEMENT classloaders (predefined*,classloader*,join*)>
     <!ATTLIST classloaders id ID #IMPLIED
             xmlns CDATA #FIXED 
"http://jakarta.apache.org/avalon/dtds/phoenix/classloaders_1_0.dtd"; >
     <!ATTLIST classloaders
  @@ -47,6 +47,15 @@
     <!ATTLIST classloader
          name CDATA #REQUIRED
          parent CDATA #REQUIRED >
  +
  +<!--
  +The predefined element defines a predefined classloader. It defines:
  +
  +Attributes:
  +name         the name of classloader.
  +-->
  +<!ELEMENT predefined EMPTY>
  +  <!ATTLIST predefined name CDATA #REQUIRED >
   
   <!--
   The classloader element describes a regular classloader It defines:
  
  
  
  1.7       +6 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/ReaderTestCase.java
  
  Index: ReaderTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/ReaderTestCase.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ReaderTestCase.java       7 Sep 2002 05:48:01 -0000       1.6
  +++ ReaderTestCase.java       13 Sep 2002 11:38:42 -0000      1.7
  @@ -30,6 +30,12 @@
           final ClassLoaderSetDef defs =
               buildFromResource( "config1.xml" );
   
  +        assertEquals( "ClassLoader Predefined Count",
  +                      1,
  +                      defs.getPredefined().length );
  +        assertEquals( "ClassLoader Predefined",
  +                      "*system*",
  +                      defs.getPredefined()[ 0 ] );
           assertEquals( "ClassLoader Default",
                         "join2",
                         defs.getDefault() );
  
  
  
  1.3       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/config1.xml
  
  Index: config1.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/config1.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- config1.xml       13 Sep 2002 09:16:12 -0000      1.2
  +++ config1.xml       13 Sep 2002 11:38:42 -0000      1.3
  @@ -1,4 +1,5 @@
   <classloaders default="join2" version="1.0">
  +    <predefined name="*system*"/>
   
       <classloader name="cl1" parent="*system*">
           <entry location="someFile.jar"/>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/config2.xml
  
  Index: config2.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/config2.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config2.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config2.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,3 +1,4 @@
   <classloaders version="1.0">
  +    <predefined name="*system*"/>
   
   </classloaders>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/config3.xml
  
  Index: config3.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/config3.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config3.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config3.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,3 +1,4 @@
   <classloaders default="*system*">
  +    <predefined name="*system*"/>
   
   </classloaders>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/config4.xml
  
  Index: config4.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/builder/test/config4.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config4.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config4.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,3 +1,4 @@
   <classloaders default="*system*" version="1.2">
  +    <predefined name="*system*"/>
   
   </classloaders>
  
  
  
  1.2       +4 -15     
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/test/AbstractLoaderTestCase.java
  
  Index: AbstractLoaderTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/test/AbstractLoaderTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractLoaderTestCase.java       7 Sep 2002 05:48:01 -0000       1.1
  +++ AbstractLoaderTestCase.java       13 Sep 2002 11:38:42 -0000      1.2
  @@ -22,18 +22,14 @@
    */
   public class AbstractLoaderTestCase extends TestCase
   {
  -    private static final String[] BASE_PREDEFINED =
  -        new String[]{"*system*"};
  -
  -    protected ClassLoaderSetDef buildFromStream( final InputStream stream,
  -                                                 final String[] predefined )
  +    protected ClassLoaderSetDef buildFromStream( final InputStream stream )
           throws Exception
       {
           try
           {
               final ClassLoaderSetBuilder builder = new ClassLoaderSetBuilder();
               final Configuration config = load( stream );
  -            return builder.build( config, predefined );
  +            return builder.build( config );
           }
           catch( final Exception e )
           {
  @@ -52,19 +48,12 @@
       protected ClassLoaderSetDef buildFromResource( final String resource )
           throws Exception
       {
  -        return buildFromResource( resource, BASE_PREDEFINED );
  -    }
  -
  -    protected ClassLoaderSetDef buildFromResource( final String resource,
  -                                                   final String[] predefines )
  -        throws Exception
  -    {
           final InputStream stream = getClass().getResourceAsStream( resource );
           if( null == stream )
           {
               fail( "Missing resource " + resource );
           }
  -        return buildFromStream( stream, predefines );
  +        return buildFromStream( stream );
       }
   
       public AbstractLoaderTestCase( String name )
  
  
  
  1.2       +1 -3      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/VerifierTestCase.java
  
  Index: VerifierTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/VerifierTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- VerifierTestCase.java     7 Sep 2002 05:48:01 -0000       1.1
  +++ VerifierTestCase.java     13 Sep 2002 11:38:42 -0000      1.2
  @@ -229,10 +229,8 @@
       {
           try
           {
  -            final String[] predefines =
  -                new String[]{ "*system*", "*system*"};
               final ClassLoaderSetDef defs =
  -                buildFromResource( "config13.xml", predefines );
  +                buildFromResource( "config13.xml" );
               verify( defs );
           }
           catch( final Throwable t )
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config1.xml
  
  Index: config1.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config1.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config1.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config1.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <join name="join$3">
       </join>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config10.xml
  
  Index: config10.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config10.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config10.xml      7 Sep 2002 05:48:01 -0000       1.1
  +++ config10.xml      13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <join name="*system*"/>
   
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config11.xml
  
  Index: config11.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config11.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config11.xml      7 Sep 2002 05:48:01 -0000       1.1
  +++ config11.xml      13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <classloader name="X" parent="*system*"/>
       <classloader name="X" parent="*system*"/>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config12.xml
  
  Index: config12.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config12.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config12.xml      7 Sep 2002 05:48:01 -0000       1.1
  +++ config12.xml      13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <classloader name="*system*" parent="*system*"/>
   
  
  
  
  1.2       +2 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config13.xml
  
  Index: config13.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config13.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config13.xml      7 Sep 2002 05:48:01 -0000       1.1
  +++ config13.xml      13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,3 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
  +    <predefined name="*system*"/>
   
   </classloaders>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config2.xml
  
  Index: config2.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config2.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config2.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config2.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <classloader name="cl&" parent="*system*">
       </classloader>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config3.xml
  
  Index: config3.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config3.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config3.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config3.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <classloader name="cl" parent="missing-parent"/>
   
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config4.xml
  
  Index: config4.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config4.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config4.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config4.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <join name="jl">
           <classloader-ref name="non-existent"/>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config5.xml
  
  Index: config5.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config5.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config5.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config5.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,3 +1,4 @@
   <classloaders default="iNoExist" version="1.0">
  +    <predefined name="*system*"/>
   
   </classloaders>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config6.xml
  
  Index: config6.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config6.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config6.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config6.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <join name="jl">
           <classloader-ref name="*system*"/>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config7.xml
  
  Index: config7.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config7.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config7.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config7.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <classloader name="cl" parent="*system*">
           <entry location="someFile.jar"/>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config8.xml
  
  Index: config8.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config8.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config8.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config8.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <join name="jl"/>
       <join name="jl"/>
  
  
  
  1.2       +1 -0      
jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config9.xml
  
  Index: config9.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-excalibur/loader/src/test/org/apache/excalibur/loader/verifier/test/config9.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- config9.xml       7 Sep 2002 05:48:01 -0000       1.1
  +++ config9.xml       13 Sep 2002 11:38:42 -0000      1.2
  @@ -1,4 +1,5 @@
   <classloaders default="*system*" version="1.0">
  +    <predefined name="*system*"/>
   
       <join name="j1"/>
   
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to