diff options
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java')
-rw-r--r-- | id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java new file mode 100644 index 000000000..d8ac55b4e --- /dev/null +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java @@ -0,0 +1,157 @@ +package at.gv.egovernment.moa.id.commons.db; + +import java.util.Date; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral; +import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModes; +import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs; +import at.gv.egovernment.moa.id.commons.db.dao.config.GenericConfiguration; +import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration; +import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication; +import at.gv.egovernment.moa.id.commons.db.dao.config.SLRequestTemplates; +import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase; + +import com.datentechnik.moa.id.conf.persistence.Configuration; + +/** + * + * + */ +@Component +public class NewConfigurationDBWrite { + + private static Configuration conf; + + @Autowired(required = true) + public void setConfiguration(Configuration conf) { + // https://jira.spring.io/browse/SPR-3845 + NewConfigurationDBWrite.conf = conf; + } + + private static boolean saveAuthComponentGeneral(AuthComponentGeneral dbo) { + + conf.set(MOAIDConfigurationConstants.AUTH_COMPONENT_GENERAL_KEY, dbo); + return true; + } + + private static boolean saveChainingModes(ChainingModes dbo) { + conf.set(MOAIDConfigurationConstants.CHAINING_MODES_KEY, dbo); + return true; + } + + private static boolean saveOnlineApplication(OnlineApplication dbo) { + + List<OnlineApplication> storedObjects = conf.getList(MOAIDConfigurationConstants.ONLINE_APPLICATIONS_KEY, OnlineApplication.class); + storedObjects.add(dbo); + conf.set(MOAIDConfigurationConstants.ONLINE_APPLICATIONS_KEY, storedObjects); + + return true; + } + + private static boolean saveGenericConfiguration(GenericConfiguration dbo) { + + List<GenericConfiguration> storedObjects = conf.getList(MOAIDConfigurationConstants.GENERIC_CONFIGURATION_KEY, GenericConfiguration.class); + storedObjects.add(dbo); + conf.set(MOAIDConfigurationConstants.GENERIC_CONFIGURATION_KEY, storedObjects); + return true; + } + + private static boolean saveTrustedCACertificates(String dbo) { + + conf.set(MOAIDConfigurationConstants.TRUSTED_CERTIFICATES_KEY, dbo); + return true; + } + + private static boolean saveDefaultBKUs(DefaultBKUs dbo) { + + conf.set(MOAIDConfigurationConstants.DEFAULT_BKUS_KEY, dbo); + return true; + } + + private static boolean saveSLRequestTemplates(SLRequestTemplates dbo) { + + conf.set(MOAIDConfigurationConstants.SLREQUEST_TEMPLATES_KEY, dbo); + return true; + } + + private static boolean saveTimeStampItem(Date dbo) { + + conf.set(MOAIDConfigurationConstants.TIMESTAMP_ITEM_KEY, dbo); + return true; + } + + private static boolean savePvp2RefreshItem(Date dbo) { + + conf.set(MOAIDConfigurationConstants.PVP2REFRESH_ITEM_KEY, dbo); + return true; + } + + /** + * Saves the given list of {@link OnlineApplication} objects to database. + * @param oas the list + * @return {@code true} on success; {@code false} otherwise. + */ + public static boolean saveOnlineApplications(List<OnlineApplication> oas) { + + conf.set(MOAIDConfigurationConstants.ONLINE_APPLICATIONS_KEY, oas); + return true; + } + + /** + * Saves the given list of {@link GenericConfiguration} objects to database. + * @param gcs the list + * @return {@code true} on success; {@code false} otherwise. + */ + public static boolean saveGenericConfigurations(List<GenericConfiguration> gcs) { + + return conf.set(MOAIDConfigurationConstants.GENERIC_CONFIGURATION_KEY, gcs); + } + + + /** + * Saves the given object to database + * @param dbo the object to save + * @return {@code true} on success; {@code false} otherwise. + */ + public static boolean save(Object dbo) { + + boolean result = false; + + if (dbo instanceof OnlineApplication) { + + result = saveOnlineApplication((OnlineApplication) dbo); + + } else if (dbo instanceof MOAIDConfiguration) { + + MOAIDConfiguration moaconfig = (MOAIDConfiguration) dbo; + result = true; + + result &= saveAuthComponentGeneral(moaconfig.getAuthComponentGeneral()); + result &= saveChainingModes(moaconfig.getChainingModes()); + result &= saveDefaultBKUs(moaconfig.getDefaultBKUs()); + result &= saveGenericConfigurations(moaconfig.getGenericConfiguration()); + result &= savePvp2RefreshItem(moaconfig.getPvp2RefreshItem()); + result &= saveSLRequestTemplates(moaconfig.getSLRequestTemplates()); + result &= saveTrustedCACertificates(moaconfig.getTrustedCACertificates()); + result &= saveTimeStampItem(moaconfig.getTimestampItem()); + + } else if (dbo instanceof UserDatabase) { + // TODO implement user handling + } + + return result; + } + + /** + * Deletes the object associated with the given key. + * @param key the key + */ + public static void delete(String key) { + conf.delete(key); + } + +} |