diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-09-26 15:48:43 +0200 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-09-26 15:48:43 +0200 |
commit | fc44d4bcad00192f0df8f6086737b9b126094dcd (patch) | |
tree | a03a3018b6faba73309bf381337ea359ada10d01 /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration | |
parent | 1eb95549f597e6dcb0d028768bbdcfb94d0a91ef (diff) | |
download | pdf-as-4-fc44d4bcad00192f0df8f6086737b9b126094dcd.tar.gz pdf-as-4-fc44d4bcad00192f0df8f6086737b9b126094dcd.tar.bz2 pdf-as-4-fc44d4bcad00192f0df8f6086737b9b126094dcd.zip |
initial code commit
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration')
6 files changed, 196 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/ConfigurationImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/ConfigurationImpl.java new file mode 100644 index 00000000..b901b597 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/ConfigurationImpl.java @@ -0,0 +1,110 @@ +package at.gv.egiz.pdfas.lib.impl.configuration; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Properties; +import java.util.Vector; + +import at.gv.egiz.pdfas.common.settings.ISettings; +import at.gv.egiz.pdfas.common.settings.Settings; +import at.gv.egiz.pdfas.lib.api.Configuration; + +public class ConfigurationImpl implements ISettings, Configuration { + + protected Properties overwrittenProperties = new Properties(); + + public void setValue(String key, String value) { + overwrittenProperties.setProperty(key, value); + } + + public String getValue(String key) { + if(overwrittenProperties.containsKey(key)) { + return overwrittenProperties.getProperty(key); + } else { + return Settings.getInstance().getValue(key); + } + } + + public boolean hasValue(String key) { + if(overwrittenProperties.containsKey(key)) { + return true; + } else { + return Settings.getInstance().hasValue(key); + } + } + + public Map<String, String> getValuesPrefix(String prefix) { + + Map<String, String> valueMap = null; + valueMap = Settings.getInstance().getValuesPrefix(prefix); + if(valueMap == null) { + valueMap = new HashMap<String, String>(); + } + + Iterator<Object> keyIterator = overwrittenProperties.keySet().iterator(); + + while(keyIterator.hasNext()) { + String key = keyIterator.next().toString(); + + if(key.startsWith(prefix)) { + valueMap.put(key, overwrittenProperties.getProperty(key)); + } + } + + if(valueMap.isEmpty()) { + return null; + } + + return valueMap; + } + + public Vector<String> getFirstLevelKeys(String prefix) { + + Vector<String> valueMap = Settings.getInstance().getFirstLevelKeys(prefix); + if(valueMap == null) { + valueMap = new Vector<String>(); + } + + + String mPrefix = prefix.endsWith(".")?prefix:prefix+"."; + Iterator<Object> keyIterator = overwrittenProperties.keySet().iterator(); + + while(keyIterator.hasNext()) { + String key = keyIterator.next().toString(); + + if(key.startsWith(prefix)) { + int keyIdx = key.indexOf('.', mPrefix.length()) > 0 ? key.indexOf('.', mPrefix.length()) : key.length(); + String firstLevels = key.substring(0, keyIdx); + if(!valueMap.contains(firstLevels)) { + valueMap.add(firstLevels); + } + } + } + + if(valueMap.isEmpty()) { + return null; + } + + return valueMap; + } + + public boolean hasPrefix(String prefix) { + + if(Settings.getInstance().hasPrefix(prefix)) { + return true; + } + + Iterator<Object> keyIterator = overwrittenProperties.keySet().iterator(); + while(keyIterator.hasNext()) { + String key = keyIterator.next().toString(); + + if(key.startsWith(prefix)) { + return true; + } + } + return false; + } + + +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/GlobalConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/GlobalConfiguration.java new file mode 100644 index 00000000..2124f63e --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/GlobalConfiguration.java @@ -0,0 +1,21 @@ +package at.gv.egiz.pdfas.lib.impl.configuration; + +import at.gv.egiz.pdfas.common.settings.ISettings; +import at.gv.egiz.pdfas.lib.api.Configuration; +import at.gv.egiz.pdfas.lib.api.IConfigurationConstants; + +public class GlobalConfiguration extends SpecificBaseConfiguration + implements IConfigurationConstants { + + public GlobalConfiguration(ISettings configuration) { + super(configuration); + } + + public String getDefaultSignatureProfile() { + if(this.configuration.hasValue(DEFAULT_SIGNATURE_PROFILE)) { + return this.configuration.getValue(DEFAULT_SIGNATURE_PROFILE); + } + return null; + } + +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderConfiguration.java new file mode 100644 index 00000000..7d3beb5c --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderConfiguration.java @@ -0,0 +1,23 @@ +package at.gv.egiz.pdfas.lib.impl.configuration; + +import at.gv.egiz.pdfas.common.settings.ISettings; +import at.gv.egiz.pdfas.lib.api.IConfigurationConstants; + +public class PlaceholderConfiguration extends SpecificBaseConfiguration + implements IConfigurationConstants { + + public PlaceholderConfiguration(ISettings configuration) { + super(configuration); + } + + public boolean isGlobalPlaceholderEnabled() { + if(configuration.hasValue(PLACEHOLDER_SEARCH_ENABLED)) { + String value = configuration.getValue(PLACEHOLDER_SEARCH_ENABLED); + if(value.equalsIgnoreCase(TRUE)) { + return true; + } + } + return false; + } + +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java new file mode 100644 index 00000000..d7792dca --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java @@ -0,0 +1,21 @@ +package at.gv.egiz.pdfas.lib.impl.configuration; + +import at.gv.egiz.pdfas.common.settings.ISettings; +import at.gv.egiz.pdfas.lib.api.IConfigurationConstants; + +public class SignatureProfileConfiguration extends SpecificBaseConfiguration + implements IConfigurationConstants { + + protected String profileID; + + public SignatureProfileConfiguration(ISettings configuration, + String profileID) { + super(configuration); + this.profileID = profileID; + } + + public boolean isVisualSignature() { + String key = SIG_OBJECT + SEPERATOR + profileID + SEPERATOR + TABLE + SEPERATOR + MAIN; + return this.configuration.hasPrefix(key); + } +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SpecificBaseConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SpecificBaseConfiguration.java new file mode 100644 index 00000000..88c7b3d7 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SpecificBaseConfiguration.java @@ -0,0 +1,13 @@ +package at.gv.egiz.pdfas.lib.impl.configuration; + +import at.gv.egiz.pdfas.common.settings.ISettings; + +public abstract class SpecificBaseConfiguration { + + protected ISettings configuration; + + public SpecificBaseConfiguration(ISettings configuration) { + this.configuration = configuration; + } + +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/package-info.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/package-info.java new file mode 100644 index 00000000..d766824e --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/package-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * @author afitzek + * + */ +package at.gv.egiz.pdfas.lib.impl.configuration;
\ No newline at end of file |