donaldp     01/10/28 03:31:23

  Modified:    src/java/org/apache/avalon/phoenix/components/classloader
                        DefaultClassLoaderManager.java
                        PolicyClassLoader.java
  Log:
  Pass in strings rather than URLs to PolicyClassLoader.
  
  Revision  Changes    Path
  1.14      +1 -59     
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader/DefaultClassLoaderManager.java
  
  Index: DefaultClassLoaderManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader/DefaultClassLoaderManager.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- DefaultClassLoaderManager.java    2001/10/28 11:22:34     1.13
  +++ DefaultClassLoaderManager.java    2001/10/28 11:31:23     1.14
  @@ -77,10 +77,8 @@
               URL.setURLStreamHandlerFactory( factory );
           }
   
  -        final URL[] urls = createURLs( classPath, factory );
  -
           final PolicyClassLoader classLoader = 
  -            new PolicyClassLoader( urls, parentClassLoader, factory, policy 
);
  +            new PolicyClassLoader( classPath, parentClassLoader, factory, 
policy );
           setupLogger( classLoader, "classloader" );
           return classLoader;
       }
  @@ -100,61 +98,5 @@
           policy.setLogger( getLogger() );
           policy.configure( configuration );
           return policy;
  -    }
  -
  -    /**
  -     * Create an array of URL objects from strings, using specified 
URLHandlerFactory.
  -     *
  -     * @param classPath the string representation of urls
  -     * @return the URL array
  -     * @exception MalformedURLException if an error occurs
  -     */
  -    private URL[] createURLs( final String[] classPath,
  -                              final URLStreamHandlerFactory factory )
  -        throws MalformedURLException
  -    {
  -        final ArrayList urls = new ArrayList();
  -
  -        for( int i = 0; i < classPath.length; i++ )
  -        {
  -            final URL url = createURL( classPath[ i ], factory );
  -            urls.add( url );
  -        }
  -
  -        return (URL[])urls.toArray( new URL[ 0 ] );
  -    }
  -
  -    /**
  -     * Utility method to create a URL from string representation
  -     * using our <code>URLStreamHandlerFactory</code> object.
  -     *
  -     * @param urlString the string representation of URL
  -     * @exception MalformedURLException if URL is badly formed or
  -     *            protocol can not be found
  -     */
  -    private URL createURL( final String urlString,
  -                           final URLStreamHandlerFactory factory )
  -        throws MalformedURLException
  -    {
  -        if( null == urlString )
  -        {
  -            throw new NullPointerException( "url" );
  -        }
  -
  -        final int index = urlString.indexOf( ':' );
  -        if( -1 == index )
  -        {
  -            throw new MalformedURLException( "No scheme specified for url " 
+ urlString );
  -        }
  -
  -        final String scheme = urlString.substring( 0, index );
  -
  -        URLStreamHandler handler = null;
  -        if( null != factory )
  -        {
  -            handler = factory.createURLStreamHandler( scheme );
  -        }
  -
  -        return new URL( null, urlString, handler );
       }
   }
  
  
  
  1.9       +8 -2      
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader/PolicyClassLoader.java
  
  Index: PolicyClassLoader.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader/PolicyClassLoader.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- PolicyClassLoader.java    2001/10/28 11:19:45     1.8
  +++ PolicyClassLoader.java    2001/10/28 11:31:23     1.9
  @@ -51,13 +51,13 @@
        * @param classLoader the parent ClassLoader
        * @param policy the Policy object
        */
  -    PolicyClassLoader( final URL[] urls,
  +    PolicyClassLoader( final String[] urls,
                          final ClassLoader parent,
                          final URLStreamHandlerFactory factory,
                          final Policy policy )
           throws MalformedURLException
       {
  -        super( urls, parent, factory );
  +        super( new URL[ 0 ], parent, factory );
   
           if( null == policy )
           {
  @@ -65,6 +65,12 @@
           }
           m_policy = policy;
           m_factory = factory;
  +
  +        for( int i = 0; i < urls.length; i++ )
  +        {
  +            final URL url = createURL( urls[ i ] );
  +            addURL( url );
  +        }
       }
   
       public void setLogger( final Logger logger )
  
  
  

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

Reply via email to