aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authortknall <tknall@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2008-06-10 10:47:02 +0000
committertknall <tknall@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2008-06-10 10:47:02 +0000
commit1eac16f95618fc4bc1e90b5d44cc94252647f136 (patch)
tree5b2b88fedacc647b346bb57330b18c242032194d /src/main/java
parentb16222315442304a22d83a8135c116cea4208543 (diff)
downloadpdf-as-3-1eac16f95618fc4bc1e90b5d44cc94252647f136.tar.gz
pdf-as-3-1eac16f95618fc4bc1e90b5d44cc94252647f136.tar.bz2
pdf-as-3-1eac16f95618fc4bc1e90b5d44cc94252647f136.zip
Manual deployment of pdf-as configuration (commandline parameter -ddc) considers the system property pdf-as.work-dir.
Internal default configuration updated. log4.properties within the workdir is now being considered using the api. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@280 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java2
-rw-r--r--src/main/java/at/gv/egiz/pdfas/commandline/Main.java7
-rw-r--r--src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java2
-rw-r--r--src/main/java/at/gv/egiz/pdfas/utils/ConfigUtils.java28
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java2
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java25
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java4
7 files changed, 42 insertions, 28 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java b/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java
index 33a418e..f9a3c03 100644
--- a/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java
+++ b/src/main/java/at/gv/egiz/pdfas/api/commons/Constants.java
@@ -78,7 +78,7 @@ public final class Constants
/**
* The system property that may be used to declare the pdf-as configuration folder.
*/
- public final static String CONFIG_SYSTEM_PROPERTY = "pdf-as.work-dir";
+ public final static String CONFIG_DIR_SYSTEM_PROPERTY = "pdf-as.work-dir";
/**
* The zip file containing the default configuration.
diff --git a/src/main/java/at/gv/egiz/pdfas/commandline/Main.java b/src/main/java/at/gv/egiz/pdfas/commandline/Main.java
index 0ec6a55..dea19b6 100644
--- a/src/main/java/at/gv/egiz/pdfas/commandline/Main.java
+++ b/src/main/java/at/gv/egiz/pdfas/commandline/Main.java
@@ -177,10 +177,11 @@ public abstract class Main
for (int i = 0; i < args.length; i++) {
if (args[i].trim().equals(PARAMETER_DEPLOY_DEFAULT_CONFIGURATION)) {
try {
- if (ConfigUtils.deployDefaultConfiguration()) {
- System.out.println("Default configuration successfully deployed to the current user's home.");
+ String defaultConfigurationDeployedTo = ConfigUtils.deployDefaultConfiguration();
+ if (defaultConfigurationDeployedTo != null) {
+ System.out.println("Default configuration successfully deployed to \"" + defaultConfigurationDeployedTo + "\".");
} else {
- System.out.println("Default configuration NOT deployed because to the current user's home because it already exists.");
+ System.out.println("Default configuration has NOT been deployed. Maybe the configuration already exists.");
}
System.exit(0);
} catch (ConfigUtilsException e) {
diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java b/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java
index 303d48f..0450a50 100644
--- a/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java
+++ b/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java
@@ -14,6 +14,7 @@ import java.util.Vector;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.log4j.PropertyConfigurator;
import at.gv.egiz.pdfas.api.PdfAs;
import at.gv.egiz.pdfas.api.analyze.AnalyzeParameters;
@@ -105,6 +106,7 @@ public class PdfAsObject implements PdfAs
*/
public void reloadConfig() throws PdfAsException
{
+ PropertyConfigurator.configure(SettingsReader.CONFIG_PATH + "log4j.properties");
SettingsReader.createInstance();
SignatureTypes.createInstance();
}
diff --git a/src/main/java/at/gv/egiz/pdfas/utils/ConfigUtils.java b/src/main/java/at/gv/egiz/pdfas/utils/ConfigUtils.java
index c98cb59..0e606d7 100644
--- a/src/main/java/at/gv/egiz/pdfas/utils/ConfigUtils.java
+++ b/src/main/java/at/gv/egiz/pdfas/utils/ConfigUtils.java
@@ -102,17 +102,17 @@ public final class ConfigUtils {
*
* @param destination The destination folder.
* @param overwriteExisting If set <code>true</code> an already existing configuration is overwritten. If <code>false</code> nothing is being copied if the destination folder already exists.
- * @return <code>true</code> if the configuration has been deployed, <code>false</code> if not.
+ * @return The folder the configuration has been extracted to or <code>null</code> if the configuration has NOT been deployed.
* @throws ConfigUtilsException Thrown if there was an error during the deployment of the configuration.
*/
- public static boolean deployDefaultConfiguration(String destination, boolean overwriteExisting) throws ConfigUtilsException {
+ public static String deployDefaultConfiguration(String destination, boolean overwriteExisting) throws ConfigUtilsException {
if (destination == null) {
throw new NullPointerException("Destination must not be null.");
}
if (destination.length() == 0) {
throw new IllegalArgumentException("Destination must not be empty.");
}
- return deployFromZIP(destination, overwriteExisting);
+ return deployFromZIP(destination, overwriteExisting) ? destination : null;
}
/**
@@ -120,27 +120,33 @@ public final class ConfigUtils {
* <code>Constants.Constants.USERHOME_CONFIG_FOLDER</code>.
*
* @param overwriteExisting If set <code>true</code> an already existing configuration is overwritten. If <code>false</code> nothing is being copied if the destination folder already exists.
- * @return <code>true</code> if the configuration has been deployed, <code>false</code> if not.
+ * @return The folder the configuration has been extracted to or <code>null</code> if the configuration has NOT been deployed.
* @throws ConfigUtilsException Thrown if there was an error during the deployment of the configuration.
* @see Constants#USERHOME_CONFIG_FOLDER
*/
- public static boolean deployDefaultConfiguration(boolean overwriteExisting) throws ConfigUtilsException {
- String userHome = System.getProperty("user.home");
- if (userHome == null || userHome.length() == 0) {
- return false;
+ public static String deployDefaultConfiguration(boolean overwriteExisting) throws ConfigUtilsException {
+ String configdir = System.getProperty(Constants.CONFIG_DIR_SYSTEM_PROPERTY);
+ if (configdir == null) {
+ configdir = System.getProperty("user.home");
+ if (configdir != null) {
+ configdir = configdir + File.separator + Constants.USERHOME_CONFIG_FOLDER;
+ }
}
- return deployDefaultConfiguration(userHome + File.separator + Constants.USERHOME_CONFIG_FOLDER, overwriteExisting);
+ if (configdir == null || configdir.length() == 0) {
+ return null;
+ }
+ return deployDefaultConfiguration(configdir, overwriteExisting);
}
/**
* Deploys the default configuration to the user's home directory to the subdirectory specified by
* <code>Constants.Constants.USERHOME_CONFIG_FOLDER</code>.
*
- * @return <code>true</code> if the configuration has been deployed, <code>false</code> if not.
+ * @return The folder the configuration has been extracted to or <code>null</code> if the configuration has NOT been deployed.
* @throws ConfigUtilsException Thrown if there was an error during the deployment of the configuration.
* @see Constants#USERHOME_CONFIG_FOLDER
*/
- public static boolean deployDefaultConfiguration() throws ConfigUtilsException {
+ public static String deployDefaultConfiguration() throws ConfigUtilsException {
return deployDefaultConfiguration(false);
}
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java b/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java
index 5dbc7fb..7def267 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java
@@ -96,7 +96,7 @@ public abstract class PdfAS
* The current version of the pdf-as library. This version string is logged on every invocation
* of the api or the web application.
*/
- public static final String PDFAS_VERSION = "3.0.5-20080603";
+ public static final String PDFAS_VERSION = "3.0.5-20080610";
/**
* The key of the strict mode setting.
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java b/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java
index 231da06..31ca5e1 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java
@@ -694,14 +694,14 @@ public class SettingsReader implements Serializable
public static synchronized void initialize(String configdir, String tmpdir) {
- boolean defaultConfigDeployed = false;
+ String defaultConfigDeployedTo = null;
// resolve work directory
// configuration explicitely given ?
if (configdir == null) {
// configuration via system property ?
- logger_.debug("No configuration directory given. Looking for system property \"" + Constants.CONFIG_SYSTEM_PROPERTY + "\".");
- configdir = System.getProperty(Constants.CONFIG_SYSTEM_PROPERTY);
+ logger_.debug("No configuration directory given. Looking for system property \"" + Constants.CONFIG_DIR_SYSTEM_PROPERTY + "\".");
+ configdir = System.getProperty(Constants.CONFIG_DIR_SYSTEM_PROPERTY);
if (configdir == null) {
// configuration via user's home directory ?
@@ -712,17 +712,20 @@ public class SettingsReader implements Serializable
}
configdir = assertFileSeparator(userHome) + Constants.USERHOME_CONFIG_FOLDER;
try {
- defaultConfigDeployed = ConfigUtils.deployDefaultConfiguration(configdir, false);
+ defaultConfigDeployedTo = ConfigUtils.deployDefaultConfiguration(configdir, false);
} catch (ConfigUtilsException e) {
throw new RuntimeException(e);
}
- if (defaultConfigDeployed) {
- logger_.info("** Default configuration successfully deployed to the current user's home. **");
+ if (defaultConfigDeployedTo != null) {
+ logger_.info("** Default configuration successfully deployed to \"" + defaultConfigDeployedTo + "\" **");
} else {
- logger_.debug("Default configuration NOT deployed because to the current user's home because it already exists.");
+ logger_.debug("Default configuration has NOT been deployed. Maybe the configuration already exists.");
}
} else {
logger_.debug("Configuration set by system property.");
+ if (tmpdir == null) {
+ tmpdir = configdir;
+ }
}
} else {
logger_.debug("Configuration path explicitely set.");
@@ -768,10 +771,12 @@ public class SettingsReader implements Serializable
logger_.debug(" configuration path = \"" + CONFIG_PATH + "\"");
logger_.debug(" certstore path = \"" + CERT_PATH + "\"");
logger_.debug(" temporary path = \"" + TMP_PATH + "\"");
- if (defaultConfigDeployed) {
- logger_.debug(" default configuration was deployed to the current user's home directory ");
- }
logger_.debug(StringUtils.repeat("*", length + 25));
+ if (defaultConfigDeployedTo != null) {
+ logger_.debug("** Default configuration successfully deployed to \"" + defaultConfigDeployedTo + "\" **");
+ }
+ logger_.debug("Setting system property \"" + Constants.CONFIG_DIR_SYSTEM_PROPERTY + "\" to \"" + configdirFile.getPath() + "\".");
+ System.setProperty(Constants.CONFIG_DIR_SYSTEM_PROPERTY, configdirFile.getPath());
}
public static void initialize(String base_dir)
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java
index e33a5ec..219fec2 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java
@@ -58,7 +58,7 @@ public class PdfASServletContextListener implements ServletContextListener
{
logger.info("PDF-AS Context init"); //$NON-NLS-1$
- String sysPropWorkdir = System.getProperty(Constants.CONFIG_SYSTEM_PROPERTY);
+ String sysPropWorkdir = System.getProperty(Constants.CONFIG_DIR_SYSTEM_PROPERTY);
String scWorkdir = sce.getServletContext().getInitParameter(CONFIG_SERVLET_INIT_PARAMETER);
String work_dir;
@@ -66,7 +66,7 @@ public class PdfASServletContextListener implements ServletContextListener
// search for system property
if (sysPropWorkdir != null && sysPropWorkdir.length() > 0) {
work_dir = sysPropWorkdir;
- logger.debug("Work-dir configuration via system property \"" + Constants.CONFIG_SYSTEM_PROPERTY + "\" = \"" + sysPropWorkdir + "\".");
+ logger.debug("Work-dir configuration via system property \"" + Constants.CONFIG_DIR_SYSTEM_PROPERTY + "\" = \"" + sysPropWorkdir + "\".");
// search for servlet parameter
} else if (scWorkdir != null && scWorkdir.length() > 0){