summaryrefslogtreecommitdiff
path: root/bkucommon/src/main/java/at/gv/egiz/bku/spring/ConfigurationFactoryBean.java
diff options
context:
space:
mode:
authormcentner <mcentner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2010-05-27 15:21:57 +0000
committermcentner <mcentner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2010-05-27 15:21:57 +0000
commite91a7c1b77d8e36a7268cc6c7cf8a6aba72f449f (patch)
tree7a002247ba80b6c12b9d750848f2949e1e5a3c75 /bkucommon/src/main/java/at/gv/egiz/bku/spring/ConfigurationFactoryBean.java
parent00b274ad1a06a3a5d5a824cbb8dab6c13dc8e315 (diff)
downloadmocca-e91a7c1b77d8e36a7268cc6c7cf8a6aba72f449f.tar.gz
mocca-e91a7c1b77d8e36a7268cc6c7cf8a6aba72f449f.tar.bz2
mocca-e91a7c1b77d8e36a7268cc6c7cf8a6aba72f449f.zip
Added 'failOnMissingResource' property to ConfigurationFactoryBean.
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@745 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'bkucommon/src/main/java/at/gv/egiz/bku/spring/ConfigurationFactoryBean.java')
-rw-r--r--bkucommon/src/main/java/at/gv/egiz/bku/spring/ConfigurationFactoryBean.java43
1 files changed, 35 insertions, 8 deletions
diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/spring/ConfigurationFactoryBean.java b/bkucommon/src/main/java/at/gv/egiz/bku/spring/ConfigurationFactoryBean.java
index a6a7c346..dd0aa1a6 100644
--- a/bkucommon/src/main/java/at/gv/egiz/bku/spring/ConfigurationFactoryBean.java
+++ b/bkucommon/src/main/java/at/gv/egiz/bku/spring/ConfigurationFactoryBean.java
@@ -36,6 +36,7 @@ import org.springframework.context.ResourceLoaderAware;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
+import at.gv.egiz.bku.conf.MoccaConfigurationException;
import at.gv.egiz.bku.slcommands.impl.CreateXMLSignatureCommandImpl;
/**
@@ -59,6 +60,12 @@ public class ConfigurationFactoryBean implements FactoryBean, ResourceLoaderAwar
* The URL of the configuration file.
*/
protected Resource configurationResource;
+
+ /**
+ * Should building the configuration fail if the given configuration resource
+ * is not available?
+ */
+ protected boolean failOnMissingResource = false;
/**
* The ResourceLoader.
@@ -84,6 +91,14 @@ public class ConfigurationFactoryBean implements FactoryBean, ResourceLoaderAwar
this.configurationResource = configurationResource;
}
+ /**
+ * @param failOnMissingConfigurationResource the failOnMissingConfigurationResource to set
+ */
+ public void setfailOnMissingResource(
+ Boolean failOnMissingResource) {
+ this.failOnMissingResource = failOnMissingResource;
+ }
+
protected Configuration getDefaultConfiguration()
throws ConfigurationException, IOException {
Resource resource = resourceLoader.getResource(DEFAULT_CONFIG);
@@ -141,18 +156,30 @@ public class ConfigurationFactoryBean implements FactoryBean, ResourceLoaderAwar
log.info("Configuration resource is {}.", configurationResource);
- CompositeConfiguration configuration;
- if (configurationResource == null) {
+ CompositeConfiguration configuration = null;
+ if (configurationResource != null) {
+ if (configurationResource.exists()) {
+ // initialize with writable configuration
+ URL url = configurationResource.getURL();
+ XMLConfiguration writableConfiguration = new XMLConfiguration(url);
+ configuration = new CompositeConfiguration(writableConfiguration);
+ log.info("Initialized with configuration from '{}'.", url);
+ } else if (failOnMissingResource) {
+ StringBuilder message = new StringBuilder();
+ message.append("ConfigurationResource '");
+ message.append(configurationResource.getDescription());
+ message.append("' does not exist!");
+ log.error(message.toString());
+ throw new MoccaConfigurationException(message.toString());
+ }
+ }
+
+ if (configuration == null) {
// initialize default configuration
log.warn("Initializing with default configuration.");
configuration = new CompositeConfiguration();
- } else {
- // initialize with writable configuration
- URL url = configurationResource.getURL();
- XMLConfiguration writableConfiguration = new XMLConfiguration(url);
- configuration = new CompositeConfiguration(writableConfiguration);
- log.info("Initialized with configuration from '{}'.", url);
}
+
configuration.addConfiguration(getDefaultConfiguration());
configuration.addConfiguration(getVersionConfiguration());
return configuration;