aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/ConfigurationImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/ConfigurationImpl.java')
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/ConfigurationImpl.java161
1 files changed, 0 insertions, 161 deletions
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/ConfigurationImpl.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/ConfigurationImpl.java
deleted file mode 100644
index c90b60440..000000000
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/ConfigurationImpl.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package at.gv.egovernment.moa.id.commons.config.persistence;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.EntityExistsException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Required;
-import org.springframework.stereotype.Component;
-
-import at.gv.egovernment.moa.id.commons.db.dao.config.ConfigProperty;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ConfigPropertyDao;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.type.CollectionType;
-import com.fasterxml.jackson.databind.type.TypeFactory;
-
-/**
- * The implementation of a key-value configuration implementing the {@link Configuration} interface.
- * It employs the {@link ConfigPropertyDao} to persist configuration data.
- */
-@Component
-public class ConfigurationImpl implements Configuration {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- ConfigPropertyDao configPropertyDao;
- private JsonMapper mapper = new JsonMapper();
-
- /**
- * Sets the {@link ConfigPropertyDao}.
- * @param configPropertyDao the ConfigPropertyDao
- */
- @Required
- public void setConfigPropertyDao(ConfigPropertyDao configPropertyDao) {
- this.configPropertyDao = configPropertyDao;
- }
-
- @Override
- public List<String> getAllKeys(){
- try {
- return this.configPropertyDao.getAllKeys();
- } catch (Exception e) {
- log.debug("Error while retrieving a list of all keys in the database.");
- return null;
- }
- }
-
- @Override
- public Object get(String key) {
- // return null if key does not exist
- try {
- ConfigProperty property = configPropertyDao.getProperty(key);
- if (property != null && property.getValue() != null) {
- return mapper.deserialize(property.getValue(), null);
- } else {
- return null;
- }
- } catch (IllegalArgumentException e) {
- log.debug("Error while searching for key '{}' in the database.", key);
- return null;
- } catch (Exception e) {
- log.debug("Error while deserializing value of key '{}' to object.", key);
- return null;
- }
- }
-
- @Override
- public <T> T get(String key, Class<T> clazz) {
- // return null if key does not exist
- try {
- ConfigProperty property = configPropertyDao.getProperty(key);
- if (property != null && property.getValue() != null) {
- return clazz.cast(mapper.deserialize(property.getValue(), clazz));
- } else {
- return null;
- }
- } catch (IllegalArgumentException e) {
- log.debug("Error while searching for key '{}' in the database.", key);
- return null;
- } catch (Exception e) {
- log.debug("Error while deserializing value of key '{}' to object of type {}.", key, clazz.getClass());
- return null;
- }
- }
-
- @Override
- public boolean set(String key, Object value) {
-
- try {
- if (value == null) {
- configPropertyDao.delete(key);
- return true;
- } else {
-
- ConfigProperty keyValue = new ConfigProperty();
- keyValue.setKey(key);
-
- keyValue.setValue(mapper.serialize(value));
- configPropertyDao.saveProperty(keyValue);
- return true;
- }
- } catch (JsonProcessingException e) {
- log.debug("Error while serializing object for key '{}'.", key);
- return false;
- } catch (EntityExistsException e) {
- log.debug("Property '{}' already exists!", key);
- return false;
- } catch (Exception e) {
- log.debug("Error while setting value for key '{}' in the database.", key);
- return false;
- }
- }
-
- @Override
- public <T> T get(String key, Class<T> clazz, Object defaultValue) {
-
- T value = get(key, clazz);
- if (value != null) {
- return value;
- } else {
- return clazz.cast(defaultValue);
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <T> List<T> getList(String key, Class<T> clazz) {
-
- CollectionType listType = TypeFactory.defaultInstance().constructCollectionType(List.class, clazz);
- try {
- if ((configPropertyDao.getProperty(key) == null)
- || (configPropertyDao.getProperty(key).getValue() == null)) {
- return new ArrayList<T>();
- }
- String json = configPropertyDao.getProperty(key).getValue();
- ObjectMapper mapper = new ObjectMapper();
-
- return (List<T>) mapper.readValue(json, listType);
- } catch (JsonMappingException e) {
- ArrayList<T> tmp = new ArrayList<T>();
- T value = get(key, clazz);
- if (value != null) {
- tmp.add(value);
- }
- return tmp;
- } catch (IOException e) {
- log.debug("Error while deserializing value for key '{}' to List<{}>.", key, clazz.getClass());
- return new ArrayList<T>();
- } catch (Exception e){
- log.debug("Error while searching key '{}' in the database.", key);
- return new ArrayList<T>();
- }
- }
-
-}