Browse Source

Added UA initialization from user-config

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@292280 13f79535-47bb-0310-9956-ffa450edef68
pull/31/head
Andreas L. Delmelle 19 years ago
parent
commit
0be2ba9b8f
1 changed files with 54 additions and 0 deletions
  1. 54
    0
      src/java/org/apache/fop/apps/FOUserAgent.java

+ 54
- 0
src/java/org/apache/fop/apps/FOUserAgent.java View File

@@ -20,6 +20,9 @@ package org.apache.fop.apps;

// Java
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.MalformedURLException;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -325,6 +328,12 @@ public class FOUserAgent {
*/
public void setUserConfig(Configuration userConfig) {
this.userConfig = userConfig;
try {
initUserConfig();
} catch (ConfigurationException cfge) {
log.error("Error initializing User Agent configuration: "
+ cfge.getMessage());
}
}

/**
@@ -334,6 +343,51 @@ public class FOUserAgent {
public Configuration getUserConfig() {
return userConfig;
}
/**
* Initializes user agent settings from the user configuration
* file, if present: baseURL, resolution, default page size,...
*
* @throws ConfigurationException when there is an entry that
* misses the required attribute
*/
public void initUserConfig() throws ConfigurationException {
log.info("Initializing User Agent Configuration");
Configuration cfgUserAgent = userConfig.getChild("userAgent");
if (cfgUserAgent.getChild("base", false) != null) {
try {
String cfgBaseDir = cfgUserAgent.getChild("base")
.getAttribute("url");
File dir = new File(cfgBaseDir);
if (dir.isDirectory()) {
cfgBaseDir = "file://" + dir.getCanonicalPath()
+ System.getProperty("file.separator");
}
URL cfgBaseURL = new URL(cfgBaseDir);
setBaseURL(cfgBaseDir);
} catch (MalformedURLException mue) {
log.error("Base URL in user config is malformed!");
} catch (IOException ioe) {
log.error("Error converting relative base directory to absolute URL.");
}
log.info("Base URL set to: " + baseURL);
}
if (cfgUserAgent.getChild("pixelToMillimeter", false) != null) {
this.px2mm = cfgUserAgent.getChild("pixelToMillimeter")
.getAttributeAsFloat("value", DEFAULT_PX2MM);
log.info("pixelToMillimeter set to: " + px2mm);
}
if (cfgUserAgent.getChild("pageHeight", false) != null) {
setPageHeight(cfgUserAgent.getChild("pageHeight")
.getAttribute("value"));
log.info("Default page-height set to: " + pageHeight);
}
if (cfgUserAgent.getChild("pageWidth", false) != null) {
setPageWidth(cfgUserAgent.getChild("pageWidth")
.getAttribute("value"));
log.info("Default page-width set to: " + pageWidth);
}
}

/**
* Returns the configuration subtree for a specific renderer.

Loading…
Cancel
Save