diff options
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration')
3 files changed, 182 insertions, 210 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 index bfc05c85..fd47bac5 100644 --- 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 @@ -3,19 +3,19 @@ * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a * joint initiative of the Federal Chancellery Austria and Graz University of * Technology. - * + * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. - * + * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works @@ -23,7 +23,6 @@ ******************************************************************************/ package at.gv.egiz.pdfas.lib.impl.configuration; -import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Properties; @@ -35,135 +34,135 @@ import at.gv.egiz.pdfas.lib.settings.Settings; public class ConfigurationImpl implements ISettings, Configuration { - protected Properties overwrittenProperties = new Properties(); - - protected ISettings settings; - - public ConfigurationImpl(ISettings settings) { - this.settings = settings; - } - - 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 this.settings.getValue(key); - } - } - - public boolean hasValue(String key) { - if(overwrittenProperties.containsKey(key)) { - return true; - } else { - return this.settings.hasValue(key); - } - } - - public Map<String, String> getValuesPrefix(String prefix) { - - Map<String, String> valueMap = null; - valueMap = this.settings.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)); - } + protected Properties overwrittenProperties = new Properties(); + + protected ISettings settings; + + public ConfigurationImpl(ISettings settings) { + this.settings = settings; + } + + @Override + public void setValue(String key, String value) { + overwrittenProperties.setProperty(key, value); + } + + @Override + public String getValue(String key) { + if (overwrittenProperties.containsKey(key)) { + return overwrittenProperties.getProperty(key); + } else { + return this.settings.getValue(key); + } + } + + @Override + public boolean hasValue(String key) { + if (overwrittenProperties.containsKey(key)) { + return true; + } else { + return this.settings.hasValue(key); + } + } + + @Override + public Map<String, String> getValuesPrefix(String prefix) { + final Map<String, String> valueMap = this.settings.getValuesPrefix(prefix); + final Iterator<Object> keyIterator = overwrittenProperties.keySet().iterator(); + + while (keyIterator.hasNext()) { + final String key = keyIterator.next().toString(); + + if (key.startsWith(prefix)) { + valueMap.put(key, overwrittenProperties.getProperty(key)); + } + } + + if (valueMap.isEmpty()) { + return null; + } + + return valueMap; + } + + @Override + public Vector<String> getFirstLevelKeys(String prefix) { + + Vector<String> valueMap = this.settings.getFirstLevelKeys(prefix); + if (valueMap == null) { + valueMap = new Vector<>(); + } + + final String mPrefix = prefix.endsWith(".") ? prefix : prefix + "."; + final Iterator<Object> keyIterator = overwrittenProperties.keySet().iterator(); + + while (keyIterator.hasNext()) { + final String key = keyIterator.next().toString(); + + if (key.startsWith(prefix)) { + final int keyIdx = key.indexOf('.', mPrefix.length()) > 0 ? key.indexOf('.', mPrefix.length()) + : key.length(); + final String firstLevels = key.substring(0, keyIdx); + if (!valueMap.contains(firstLevels)) { + valueMap.add(firstLevels); } + } + } + + if (valueMap.isEmpty()) { + return null; + } + + return valueMap; + } + + @Override + public boolean hasPrefix(String prefix) { + + if (this.settings.hasPrefix(prefix)) { + return true; + } + + final Iterator<Object> keyIterator = overwrittenProperties.keySet().iterator(); + while (keyIterator.hasNext()) { + final String key = keyIterator.next().toString(); + + if (key.startsWith(prefix)) { + return true; + } + } + return false; + } + + @Override + public String getWorkingDirectory() { + return this.settings.getWorkingDirectory(); + } + + @Override + public void cloneProfile(String originalPrefix, String clonedPrefix) { + final Map<String, String> source = getValuesPrefix(originalPrefix); + + for (final String origKey : source.keySet()) { + final String cloneKey = origKey.replace(originalPrefix, clonedPrefix); + this.overwrittenProperties.setProperty(cloneKey, source.get(origKey)); + } + } + + @Override + public void removeProfile(String configurationPrefix) { + final Iterator<Object> keyIterator = overwrittenProperties.keySet().iterator(); + while (keyIterator.hasNext()) { + final String key = keyIterator.next().toString(); + + if (key.startsWith(configurationPrefix)) { + overwrittenProperties.remove(key); + } + } + } + + public void debugDumpProfileSettings(String profileName) { + ((Settings) settings).debugDumpProfileSettings(profileName); + } - if(valueMap.isEmpty()) { - return null; - } - - return valueMap; - } - - public Vector<String> getFirstLevelKeys(String prefix) { - - Vector<String> valueMap = this.settings.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(this.settings.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; - } - - public String getWorkingDirectory() { - return this.settings.getWorkingDirectory(); - } - - public void cloneProfile(String originalPrefix, String clonedPrefix) { - Map<String, String> source = getValuesPrefix(originalPrefix); - - Iterator<String> keyIt = source.keySet().iterator(); - - while(keyIt.hasNext()) { - String origKey = keyIt.next(); - String cloneKey = origKey.replace(originalPrefix, clonedPrefix); - this.overwrittenProperties.setProperty(cloneKey, source.get(origKey)); - } - } - - public void removeProfile(String configurationPrefix) { - Iterator<Object> keyIterator = overwrittenProperties.keySet().iterator(); - while(keyIterator.hasNext()) { - String key = keyIterator.next().toString(); - - if(key.startsWith(configurationPrefix)) { - overwrittenProperties.remove(key); - } - } - } - - public void debugDumpProfileSettings(String profileName) { - ((Settings)settings).debugDumpProfileSettings(profileName); - } - } 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 index 326ed142..a3719168 100644 --- 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 @@ -3,19 +3,19 @@ * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a * joint initiative of the Federal Chancellery Austria and Graz University of * Technology. - * + * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. - * + * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works @@ -25,60 +25,57 @@ package at.gv.egiz.pdfas.lib.impl.configuration; import at.gv.egiz.pdfas.common.settings.ISettings; import at.gv.egiz.pdfas.lib.api.IConfigurationConstants; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; -import java.util.Map; +@Slf4j +public class PlaceholderConfiguration extends SpecificBaseConfiguration + implements IConfigurationConstants { + public PlaceholderConfiguration(ISettings configuration) { + super(configuration); + } -public class PlaceholderConfiguration extends SpecificBaseConfiguration - implements IConfigurationConstants { + public boolean isGlobalPlaceholderEnabled() { + if (configuration.hasValue(PLACEHOLDER_SEARCH_ENABLED)) { + final String value = configuration.getValue(PLACEHOLDER_SEARCH_ENABLED); + if (value.equalsIgnoreCase(TRUE)) { + return true; + } + } + return false; + } - private static final Logger logger = LoggerFactory.getLogger(PlaceholderConfiguration.class); + /** + * Match selected Profile for Placeholder Enables to activate placeholder + * search/match for different profiles + * + * @return + */ + public boolean isProfileConfigurationEnabled(String profileID) { + log.trace("Check if placeHolders are enabled for profile: {}", profileID); + + final String profileMatch = SIG_OBJECT + SEPERATOR + profileID + SEPERATOR + + PLACEHOLDER_SEARCH_ENABLED; + final String value = configuration.getValue(profileMatch); + if (TRUE.equalsIgnoreCase(value)) { + log.debug("Placeholders enabled for profile: {} ", profileID); + return true; + + } + return false; + + } - public PlaceholderConfiguration(ISettings configuration) { - super(configuration); - } + /** + * Get placeholderId for a specific profile. + * + * @param selectedProfileID ProfileName + * @return Placeholder Id + */ + public String getProfilePlaceholderID(String selectedProfileID) { + log.info("SelectedProfileID in ProfileConfEnabled: " + selectedProfileID); + final String profileMatch = SIG_OBJECT + SEPERATOR + selectedProfileID + SEPERATOR + PLACEHOLDER_ID; + return configuration.getValue(profileMatch); - public boolean isGlobalPlaceholderEnabled() { - if (configuration.hasValue(PLACEHOLDER_SEARCH_ENABLED)) { - String value = configuration.getValue(PLACEHOLDER_SEARCH_ENABLED); - if (value.equalsIgnoreCase(TRUE)) { - return true; - } - } - return false; - } - - /** - * Match selected Profile for Placeholder - * Enables to activate placeholder search/match for different profiles - * @return - */ - public boolean isProfileConfigurationEnabled(String selectedProfileID) - { - logger.info("SelectedProfileID in ProfileConfEnabled: "+selectedProfileID); - String profileMatch = SIG_OBJECT+SEPERATOR+selectedProfileID+SEPERATOR+PLACEHOLDER_SEARCH_ENABLED; - if (configuration.getValuesPrefix(profileMatch)!=null) { - Map<String, String> map = configuration.getValuesPrefix(profileMatch); - String value = map.get(profileMatch); - if (value.equalsIgnoreCase(TRUE)) { - logger.info("Configuration has Value: "+value); - return true; - } - } - return false; - } - - public String getProfilePlaceholderID(String selectedProfileID) - { - logger.info("SelectedProfileID in ProfileConfEnabled: "+selectedProfileID); - String profileMatch = SIG_OBJECT+SEPERATOR+selectedProfileID+SEPERATOR+PLACEHOLDER_ID; - if (configuration.getValuesPrefix(profileMatch)!=null) { - Map<String, String> map = configuration.getValuesPrefix(profileMatch); - return map.get(profileMatch); - } - return null; - } + } } - diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderWebConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderWebConfiguration.java deleted file mode 100644 index 3a78f24f..00000000 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/PlaceholderWebConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -package at.gv.egiz.pdfas.lib.impl.configuration; - -import java.util.Properties; - -public class PlaceholderWebConfiguration { - - protected static Properties properties = new Properties(); - - //todo properties not cleaned - public static void setValue(String key, String value) - { - properties.clear(); - properties.setProperty(key,value); - } - public static String getValue(String key) - { - return properties.getProperty(key); - } - - public static void clear () { - properties.clear(); - } - -} |