Переглянути джерело

Bugfix: Extracting the base directory through Configuration.getLocation() didn't work for Windows, since Windows paths can contain drive letters that are separated by colons. This lead to FOP scanning the whole drive for fonts starting from the drive root in the auto-detect case.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1059945 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_1rc1old
Jeremias Maerki 13 роки тому
джерело
коміт
5a367c3b12

+ 8
- 2
src/java/org/apache/fop/apps/FopFactoryConfigurator.java Переглянути файл

@@ -377,11 +377,17 @@ public class FopFactoryConfigurator {
}

private void setBaseURI() throws FOPException {
String[] locationParts = cfg.getLocation().split(":");
String loc = cfg.getLocation();
String[] locationParts = (loc != null ? cfg.getLocation().split(":") : null);
try {
if (locationParts != null && locationParts.length >= 2
&& "file".equals(locationParts[0])) {
baseURI = new URI(locationParts[0], locationParts[1], null);
StringBuilder sb = new StringBuilder(locationParts[1]);
for (int idx = 2; idx < locationParts.length; idx++) {
sb.append(":").append(locationParts[idx]);
}
baseURI = new URI(locationParts[0], sb.toString(), null);
baseURI = baseURI.resolve(".").normalize();
}
if (baseURI == null) {
baseURI = new File(System.getProperty("user.dir")).toURI();

Завантаження…
Відмінити
Зберегти