cziegeler 2003/02/07 03:21:10 Modified: sourceresolve/src/java/org/apache/excalibur/source/impl URLSourceFactory.java Log: Adding FileSource from cocoon Revision Changes Path 1.3 +29 -12 avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/URLSourceFactory.java Index: URLSourceFactory.java =================================================================== RCS file: /home/cvs/avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/URLSourceFactory.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- URLSourceFactory.java 30 Jan 2003 07:57:10 -0000 1.2 +++ URLSourceFactory.java 7 Feb 2003 11:21:09 -0000 1.3 @@ -105,14 +105,35 @@ } /** + * Create a correct instance for the uri + */ + protected URLSource getSourceImplementation(String uri, Map parameters) + throws Exception + { + if (uri.startsWith("file:")) + { + final URLSource fileSource = (URLSource)new FileSource(); + fileSource.init( new URL( uri ), parameters); + return fileSource; + } + else + { + final URLSource urlSource = + (URLSource)this.m_urlSourceClass.newInstance(); + urlSource.init( new URL( uri ), parameters ); + return urlSource; + } + } + + /** * @see org.apache.excalibur.source.SourceFactory#getSource(java.lang.String, java.util.Map) */ - public Source getSource(String systemID, Map parameters) + public Source getSource(String uri, Map parameters) throws MalformedURLException, IOException { if( getLogger().isDebugEnabled() ) { - final String message = "Creating source object for " + systemID; + final String message = "Creating source object for " + uri; getLogger().debug( message ); } @@ -121,14 +142,11 @@ { if( getLogger().isDebugEnabled() == true ) { - this.getLogger().debug( "Making URL from " + systemID ); + this.getLogger().debug( "Making URL from " + uri ); } try { - final URLSource urlSource = - (URLSource)this.m_urlSourceClass.newInstance(); - urlSource.init( new URL( systemID ), parameters ); - source = urlSource; + source = this.getSourceImplementation( uri, parameters ); } catch( MalformedURLException mue ) { @@ -145,13 +163,12 @@ if( getLogger().isDebugEnabled() ) { this.getLogger().debug( "Making URL - MalformedURLException in getURL:", mue ); - this.getLogger().debug( "Making URL a File (assuming that it is full path):" + systemID ); + this.getLogger().debug( "Making URL a File (assuming that it is full path):" + uri ); } try { - final URLSource urlSource = - (URLSource)this.m_urlSourceClass.newInstance(); - urlSource.init( ( new File( systemID ) ).toURL(), parameters ); + final URLSource urlSource = new FileSource(); + urlSource.init( ( new File( uri ) ).toURL(), parameters ); source = urlSource; } catch( Exception ie )
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]