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]

Reply via email to