aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java
diff options
context:
space:
mode:
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.java157
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);
+ }
+
+}