raphael     01/06/06 15:27:39

  Modified:    src/java/org/apache/jetspeed/services/psmlmanager
                        CastorPsmlManagerService.java
  Log:
  [fix] switch method for monitoring PSML files to depend on getRealPath()
  rather than getResource() to fix issue with Catalina
  
  Revision  Changes    Path
  1.2       +23 -14    
jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/CastorPsmlManagerService.java
  
  Index: CastorPsmlManagerService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/psmlmanager/CastorPsmlManagerService.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CastorPsmlManagerService.java     2001/06/04 17:30:43     1.1
  +++ CastorPsmlManagerService.java     2001/06/06 22:27:37     1.2
  @@ -67,6 +67,7 @@
   import org.apache.turbine.services.TurbineBaseService;
   import org.apache.turbine.services.InitializationException;
   import org.apache.turbine.services.TurbineServices;
  +import org.apache.turbine.services.servlet.TurbineServlet;
   import org.apache.turbine.services.resources.ResourceService;
   
   //castor support
  @@ -97,7 +98,7 @@
    * This service is responsible for loading and saving PSML documents.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Rapha�l Luta</a>
  - * @version $Id: CastorPsmlManagerService.java,v 1.1 2001/06/04 17:30:43 raphael 
Exp $
  + * @version $Id: CastorPsmlManagerService.java,v 1.2 2001/06/06 22:27:37 raphael 
Exp $
    */
   public class CastorPsmlManagerService extends TurbineBaseService
       implements PsmlManagerService
  @@ -404,22 +405,30 @@
       {
           File f = null;
   
  -        try
  +        f = new File(fileOrUrl);
  +            
  +        if (f.exists())
           {
  -            //FIXME: this will fail for relative URLs, should we
  -            //support them ?
  -            URL url = new URL(fileOrUrl);
  -                
  -            // ok it's an URL, use diskcache and get the file name 
  -            // through the cache
  -                
  -            f = JetspeedDiskCache.getInstance().getEntry(fileOrUrl).getFile();
  -                
  +            return f;
           }
  -        catch (IOException e)
  +        else        
           {
  -            Log.note("PSMLManager: "+fileOrUrl+" is not a URL or not in cache, 
trying as file");
  -            f = new File(fileOrUrl);
  +            // try as a relative path
  +            f = new File(TurbineServlet.getRealPath(fileOrUrl));
  +            if (f.exists())
  +            {
  +                return f;
  +            }
  +            
  +            // try through the disk cache
  +            try
  +            {
  +                f = JetspeedDiskCache.getInstance().getEntry(fileOrUrl).getFile();
  +            }
  +            catch (Exception e)
  +            {
  +                Log.error("PSMLManager: unabel to retrieve file from diskcache for 
"+fileOrUrl,e);
  +            }
           }
           
           return f;
  
  
  

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

Reply via email to