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]>