aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2006-03-25 14:36:45 +0000
committerJeremias Maerki <jeremias@apache.org>2006-03-25 14:36:45 +0000
commit86ef02db9d392d00a2f482e293c3752007b72e31 (patch)
treec895ed42a918a60a9960f62ffd33158c6e9c6335 /src
parentcf581c8e7f6284804a90071bdefc5282a105c5ad (diff)
downloadxmlgraphics-fop-86ef02db9d392d00a2f482e293c3752007b72e31.tar.gz
xmlgraphics-fop-86ef02db9d392d00a2f482e293c3752007b72e31.zip
No stacktrace when encountering problems while building a base URL. It's not necessary and draws too much attention. Instead added the URL to the log message that causes the problem.
Don't validate Base URLs anymore in FOUserAgent because that produces errors (because an URL cannot be built) if a symbolic URI is used which is later resolved through a URIResolver. Improved support for relative URLs for accessing font resources. ServletContextURIResolver can now use a base URI that starts with "servlet-context:". git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@388766 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/java/org/apache/fop/apps/FOURIResolver.java2
-rw-r--r--src/java/org/apache/fop/apps/FOUserAgent.java3
-rw-r--r--src/java/org/apache/fop/fonts/LazyFont.java4
-rw-r--r--src/java/org/apache/fop/servlet/ServletContextURIResolver.java11
4 files changed, 14 insertions, 6 deletions
diff --git a/src/java/org/apache/fop/apps/FOURIResolver.java b/src/java/org/apache/fop/apps/FOURIResolver.java
index 9f5cebf8e..0d604f48c 100644
--- a/src/java/org/apache/fop/apps/FOURIResolver.java
+++ b/src/java/org/apache/fop/apps/FOURIResolver.java
@@ -204,7 +204,7 @@ public class FOURIResolver
? new java.io.File("").toURL().toExternalForm()
: baseURL);
} catch (MalformedURLException mfue) {
- log.error("Error with base URL: " + mfue.getMessage(), mfue);
+ log.error("Error with base URL \"" + baseURL + "\"): " + mfue.getMessage());
}
return null;
}
diff --git a/src/java/org/apache/fop/apps/FOUserAgent.java b/src/java/org/apache/fop/apps/FOUserAgent.java
index c03d904ff..e7686e65f 100644
--- a/src/java/org/apache/fop/apps/FOUserAgent.java
+++ b/src/java/org/apache/fop/apps/FOUserAgent.java
@@ -462,9 +462,6 @@ public class FOUserAgent {
File dir = new File(cfgBaseDir);
if (dir.isDirectory()) {
cfgBaseDir = dir.toURL().toExternalForm();
- } else {
- //The next statement is for validation only
- new URL(cfgBaseDir);
}
}
log.info(name + " set to: " + cfgBaseDir);
diff --git a/src/java/org/apache/fop/fonts/LazyFont.java b/src/java/org/apache/fop/fonts/LazyFont.java
index ee0b47ec3..c08216ab0 100644
--- a/src/java/org/apache/fop/fonts/LazyFont.java
+++ b/src/java/org/apache/fop/fonts/LazyFont.java
@@ -95,7 +95,9 @@ public class LazyFont extends Typeface implements FontDescriptor {
}
return;
}
- reader = new FontReader(new InputSource(in));
+ InputSource src = new InputSource(in);
+ src.setSystemId(source.getSystemId());
+ reader = new FontReader(src);
} else {
reader
= new FontReader(new InputSource(new URL(metricsFileName).openStream()));
diff --git a/src/java/org/apache/fop/servlet/ServletContextURIResolver.java b/src/java/org/apache/fop/servlet/ServletContextURIResolver.java
index ae8b4eba4..e442b7662 100644
--- a/src/java/org/apache/fop/servlet/ServletContextURIResolver.java
+++ b/src/java/org/apache/fop/servlet/ServletContextURIResolver.java
@@ -52,7 +52,13 @@ public class ServletContextURIResolver implements URIResolver {
if (href.startsWith(SERVLET_CONTEXT_PROTOCOL)) {
return resolveServletContextURI(href.substring(SERVLET_CONTEXT_PROTOCOL.length()));
} else {
- return null;
+ if (base.startsWith(SERVLET_CONTEXT_PROTOCOL) && (href.indexOf(':') < 0)) {
+ String abs = base + href;
+ return resolveServletContextURI(
+ abs.substring(SERVLET_CONTEXT_PROTOCOL.length()));
+ } else {
+ return null;
+ }
}
}
@@ -63,6 +69,9 @@ public class ServletContextURIResolver implements URIResolver {
* @throws TransformerException if no URL can be constructed from the path
*/
protected Source resolveServletContextURI(String path) throws TransformerException {
+ while (path.startsWith("//")) {
+ path = path.substring(1);
+ }
try {
URL url = this.servletContext.getResource(path);
InputStream in = this.servletContext.getResourceAsStream(path);