taylor      02/04/30 21:39:34

  Modified:    src/java/org/apache/jetspeed/services/urlmanager
                        JetspeedURLManagerService.java
  Log:
  patch from Todd Kuebler
  
  Revision  Changes    Path
  1.13      +39 -5     
jakarta-jetspeed/src/java/org/apache/jetspeed/services/urlmanager/JetspeedURLManagerService.java
  
  Index: JetspeedURLManagerService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/urlmanager/JetspeedURLManagerService.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- JetspeedURLManagerService.java    17 Dec 2001 15:32:28 -0000      1.12
  +++ JetspeedURLManagerService.java    1 May 2002 04:39:34 -0000       1.13
  @@ -61,6 +61,7 @@
   //import org.apache.turbine.util.ExtendedProperties;
   import org.apache.velocity.runtime.configuration.Configuration;
   import javax.servlet.ServletConfig;
  +import javax.servlet.ServletContext;
   import java.util.*;
   import java.io.*;
   
  @@ -75,7 +76,7 @@
    * @see URLManagerService
    * @author <a href="mailto:[EMAIL PROTECTED]";>Rapha�l Luta</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Santiago Gala</a>
  - * @version $Id: JetspeedURLManagerService.java,v 1.12 2001/12/17 15:32:28 sgala 
Exp $
  + * @version $Id: JetspeedURLManagerService.java,v 1.13 2002/05/01 04:39:34 taylor 
Exp $
    */
   public class JetspeedURLManagerService 
       extends TurbineBaseService
  @@ -151,9 +152,36 @@
                   }
               }
   
  -            path = config.getServletContext().getRealPath( JetspeedResources
  -                    .getString( "services."+URLManagerService.SERVICE_NAME+".url" ) 
);
  -        
  +            path = JetspeedResources.getString( 
"services."+URLManagerService.SERVICE_NAME+".url" );
  +
  +            if ( path == null) 
  +         {
  +             String tempdir = new String("WEB-INF/conf/datasources.properties");
  +             String ps = System.getProperty("file.separator");
  +
  +                try
  +             {
  +                    ServletContext sc = config.getServletContext();
  +                    tempdir = 
sc.getAttribute("javax.servlet.context.tempdir").toString()
  +                                        + ps + "jetspeed" 
  +                                        + ps + "conf"
  +                                        + ps + "datasources.properties";
  +                    Log.debug("URLMangler: will create file in servlet temp 
directory " + tempdir);
  +                }
  +             catch (Exception e)
  +             {
  +                    Log.debug("URLMangler: problems creating file in servlet temp 
directory "
  +                           + " falling back to WEB-INF/conf : " + e);
  +                }     
  +                path = tempdir;
  +         }
  +         else
  +         {
  +                Log.debug("URLMangler: will create file in user configured " + 
path);
  +                path = config.getServletContext().getRealPath(path);
  +                // should test for writability here and fallback to servlet tmp 
directory on failure
  +            }
  +
               load();
               Log.info ( "JetspeedURLManagerService early init()....finished!");
           }
  @@ -372,8 +400,14 @@
        */
       private synchronized void save() {
           PrintWriter pw = null ;
  +
           try {
  -            pw = new PrintWriter( new BufferedWriter( new FileWriter( path ) ) );
  +
  +         File propfile = new File(path); // FileWriter doesn't always do this
  +         propfile.getParentFile().mkdirs();
  +            propfile.createNewFile();
  +
  +            pw = new PrintWriter( new BufferedWriter( new FileWriter( propfile ) ) 
);
               synchronized (urls) {
                   Iterator i = urls.values().iterator();
                   int entryNum = 1;
  
  
  

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

Reply via email to