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]>