Download the properties file ourselves before handing it to Java to parse
into a properties object so that we can log the text if Java chokes. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3034 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,11 +1,13 @@
|
|||||||
//
|
//
|
||||||
// $Id: ResourceManager.java,v 1.41 2004/06/15 18:25:13 mdb Exp $
|
// $Id: ResourceManager.java,v 1.42 2004/06/18 17:41:39 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.resource;
|
package com.threerings.resource;
|
||||||
|
|
||||||
import java.awt.EventQueue;
|
import java.awt.EventQueue;
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -26,6 +28,8 @@ import javax.imageio.stream.FileImageInputStream;
|
|||||||
import javax.imageio.stream.ImageInputStream;
|
import javax.imageio.stream.ImageInputStream;
|
||||||
import javax.imageio.stream.MemoryCacheImageInputStream;
|
import javax.imageio.stream.MemoryCacheImageInputStream;
|
||||||
|
|
||||||
|
import org.apache.commons.io.StreamUtils;
|
||||||
|
|
||||||
import com.samskivert.util.ResultListener;
|
import com.samskivert.util.ResultListener;
|
||||||
import com.samskivert.util.StringUtil;
|
import com.samskivert.util.StringUtil;
|
||||||
|
|
||||||
@@ -281,7 +285,6 @@ public class ResourceManager
|
|||||||
try {
|
try {
|
||||||
if (configPath != null) {
|
if (configPath != null) {
|
||||||
curl = new URL(_rurl, configPath);
|
curl = new URL(_rurl, configPath);
|
||||||
config.load(curl.openStream());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (MalformedURLException mue) {
|
} catch (MalformedURLException mue) {
|
||||||
@@ -290,11 +293,21 @@ public class ResourceManager
|
|||||||
String errmsg = "Invalid config url [resourceURL=" + _rurl +
|
String errmsg = "Invalid config url [resourceURL=" + _rurl +
|
||||||
", configPath=" + configPath + "]";
|
", configPath=" + configPath + "]";
|
||||||
throw new IOException(errmsg);
|
throw new IOException(errmsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
ByteArrayOutputStream bout = new ByteArrayOutputStream();
|
||||||
|
try {
|
||||||
|
if (curl != null) {
|
||||||
|
// download the properties file into a buffer
|
||||||
|
StreamUtils.pipe(curl.openStream(), bout);
|
||||||
|
config.load(new ByteArrayInputStream(bout.toByteArray()));
|
||||||
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.warning("Unable to load resource mgr properties " +
|
Log.warning("Unable to load resource mgr properties " +
|
||||||
"[resourceURL=" + _rurl + ", configPath=" + configPath +
|
"[resourceURL=" + _rurl + ", configPath=" + configPath +
|
||||||
", error=" + e + "].");
|
", error=" + e + "].");
|
||||||
|
Log.warning("Bogus properties: " + bout.toString("UTF-8"));
|
||||||
Log.logStackTrace(e);
|
Log.logStackTrace(e);
|
||||||
String errmsg = "Unable to load resource manager config " +
|
String errmsg = "Unable to load resource manager config " +
|
||||||
"[resourceURL=" + _rurl + ", configPath=" + configPath + "]";
|
"[resourceURL=" + _rurl + ", configPath=" + configPath + "]";
|
||||||
|
|||||||
Reference in New Issue
Block a user