aboutsummaryrefslogtreecommitdiff
path: root/id/ConfigWebTool
diff options
context:
space:
mode:
Diffstat (limited to 'id/ConfigWebTool')
-rw-r--r--id/ConfigWebTool/.gitignore1
-rw-r--r--id/ConfigWebTool/pom.xml24
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/AuthenticatedUser.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java1
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java130
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/usermanagement/FileBasedUserConfiguration.java370
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/usermanagement/UserConfiguration.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java21
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java54
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java42
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/AttributeHelper.java4
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/IOnlineApplicationData.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java72
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OABPKEncryption.java8
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java4
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java4
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAOAuth20Config.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAPVP2Config.java43
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OARevisionsLogData.java153
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASAML1Config.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASSOConfig.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java40
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/pvp2/ContactForm.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java180
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java99
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java84
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java263
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java29
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java49
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java32
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/OpenAdminRequestsAction.java7
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/UserManagementAction.java38
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/interceptor/HibernateSessionInterceptor.java116
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/utils/UserRequestCleaner.java12
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/UserDatabaseFormValidator.java23
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java22
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java10
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java18
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OASTORKConfigValidation.java2
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_de.properties18
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_en.properties18
-rw-r--r--id/ConfigWebTool/src/main/resources/moaid.configurationtool.beans.xml20
-rw-r--r--id/ConfigWebTool/src/main/resources/struts.xml8
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp28
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp2
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/searchOAs.jsp4
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvp2.jsp4
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/revisionslog.jsp23
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/stork.jsp9
52 files changed, 1485 insertions, 648 deletions
diff --git a/id/ConfigWebTool/.gitignore b/id/ConfigWebTool/.gitignore
index 4dc009173..0b1e2434c 100644
--- a/id/ConfigWebTool/.gitignore
+++ b/id/ConfigWebTool/.gitignore
@@ -1,2 +1,3 @@
/target
/bin
+/target
diff --git a/id/ConfigWebTool/pom.xml b/id/ConfigWebTool/pom.xml
index 35cb64d0c..2723c0e61 100644
--- a/id/ConfigWebTool/pom.xml
+++ b/id/ConfigWebTool/pom.xml
@@ -10,8 +10,8 @@
<groupId>MOA.id</groupId>
<artifactId>moa-id-configuration</artifactId>
<version>${configtool-version}</version>
- <name>MOA-ID 2.0 Configuration Tool</name>
- <description>Web based Configuration Tool for MOA-ID 2.x</description>
+ <name>MOA-ID 3.0 Configuration Tool</name>
+ <description>Web based Configuration Tool for MOA-ID 3.x</description>
<properties>
<repositoryPath>${basedir}/../../repository</repositoryPath>
@@ -69,7 +69,14 @@
<groupId>MOA.id.server</groupId>
<artifactId>moa-id-commons</artifactId>
</dependency>
+
<dependency>
+ <groupId>MOA.id</groupId>
+ <artifactId>moa-id-webgui</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
<groupId>MOA.id.server</groupId>
<artifactId>moa-id-lib</artifactId>
<exclusions>
@@ -145,9 +152,16 @@
</exclusions>
</dependency>
<dependency>
- <groupId>org.opensaml</groupId>
- <artifactId>openws</artifactId>
- <version>${openws-version}</version>
+ <groupId>org.opensaml</groupId>
+ <artifactId>openws</artifactId>
+ <!-- <version>${openws-version}</version> -->
+ <version>1.5.4</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <groupId>org.slf4j</groupId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/AuthenticatedUser.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/AuthenticatedUser.java
index 3bfe409c0..bc964af4c 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/AuthenticatedUser.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/AuthenticatedUser.java
@@ -101,7 +101,7 @@ public class AuthenticatedUser {
this.familyName = userdb.getFamilyname();
this.givenName = userdb.getGivenname();
this.userName = userdb.getUsername();
- this.userID = userdb.getHjid();
+ this.userID = Long.valueOf(userdb.getHjid());
this.institute = userdb.getInstitut();
this.isAdmin = userdb.isIsAdmin();
this.isAuthenticated = isAuthenticated;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
index 104ea51f5..12016a2bf 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
@@ -26,7 +26,6 @@ import java.util.Iterator;
import org.opensaml.saml2.metadata.EntitiesDescriptor;
import org.opensaml.saml2.metadata.EntityDescriptor;
-import org.opensaml.saml2.metadata.provider.FilterException;
import org.opensaml.saml2.metadata.provider.MetadataFilter;
import org.opensaml.xml.XMLObject;
import org.opensaml.xml.security.x509.BasicX509Credential;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
index 0036645cf..849e81967 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
@@ -29,6 +29,8 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.security.KeyStore;
import java.security.KeyStoreException;
@@ -47,19 +49,24 @@ import org.opensaml.DefaultBootstrap;
import org.opensaml.saml2.metadata.provider.HTTPMetadataProvider;
import org.opensaml.xml.parse.BasicParserPool;
import org.opensaml.xml.security.x509.BasicX509Credential;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModeType;
-import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException;
import at.gv.egovernment.moa.id.commons.utils.MOAHttpProtocolSocketFactory;
+import at.gv.egovernment.moa.id.config.webgui.MOAIDConfigurationModul;
import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.pvp2.MetaDataVerificationFilter;
+import at.gv.egovernment.moa.id.configuration.config.usermanagement.FileBasedUserConfiguration;
import at.gv.egovernment.moa.id.configuration.utils.UserRequestCleaner;
import at.gv.egovernment.moa.util.FileUtils;
import at.gv.egovernment.moa.util.MiscUtil;
+import at.gv.egovernment.moa.id.commons.db.NewConfigurationDBRead;
+
public class ConfigurationProvider {
@@ -82,6 +89,11 @@ public class ConfigurationProvider {
private boolean pvp2logininitialzied = false;
+ private ApplicationContext context = null;
+ private MOAIDConfigurationModul configModule = null;
+ private NewConfigurationDBRead deprecatedDBRead = null;
+ private FileBasedUserConfiguration userManagement = null;
+
public static ConfigurationProvider getInstance() throws ConfigurationException {
if (instance == null) {
@@ -100,34 +112,40 @@ public class ConfigurationProvider {
if (configFileName == null) {
throw new ConfigurationException("config.05");
}
+ try {
+ URI fileURI = new URI(configFileName);
+ File propertiesFile = new File(fileURI);
+
+ // determine the directory of the root config file
+ String rootConfigFileDir = propertiesFile.getParent();
+ configRootDir = new File(rootConfigFileDir).toURI().toURL().toString();;
- // determine the directory of the root config file
- configRootDir = new File(configFileName).getParent();
-
- log.info("Loading MOA-ID-AUTH configuration " + configFileName);
+ log.info("Loading MOA-ID-AUTH configuration " + configFileName);
- //Initial Hibernate Framework
- log.trace("Initializing Hibernate framework.");
+ //Initial Hibernate Framework
+ log.trace("Initializing Hibernate framework.");
- //Load MOAID-2.0 properties file
- File propertiesFile = new File(configFileName);
- FileInputStream fis;
- props = new Properties();
-
-
- try {
- fis = new FileInputStream(propertiesFile);
- props.load(fis);
+ //Load MOAID-2.0 properties file
+
+ FileInputStream fis;
+ props = new Properties();
+
+ fis = new FileInputStream(propertiesFile);
+ props.load(fis);
fis.close();
- // initialize hibernate
- synchronized (ConfigurationProvider.class) {
-
- //Initial config Database
- ConfigurationDBUtils.initHibernate(props);
- }
- log.trace("Hibernate initialization finished.");
+ context = new ClassPathXmlApplicationContext(
+ new String[] { "configuration.beans.xml",
+ "moaid.webgui.beans.xml",
+ "moaid.migration.beans.xml",
+ "moaid.configurationtool.beans.xml"
+ });
+ AutowireCapableBeanFactory acbFactory = context.getAutowireCapableBeanFactory();
+ acbFactory.autowireBean(this);
+
+
+ log.info("Hibernate initialization finished.");
DefaultBootstrap.bootstrap();
log.info("OPENSAML initialized");
@@ -143,15 +161,48 @@ public class ConfigurationProvider {
} catch (IOException e) {
throw new ConfigurationException("config.02", new Object[]{configFileName}, e);
- } catch (MOADatabaseException e) {
- throw new ConfigurationException("config.03", e);
-
} catch (org.opensaml.xml.ConfigurationException e) {
throw new ConfigurationException("config.04", e);
+
+ } catch (URISyntaxException e) {
+ throw new ConfigurationException("config.01", new Object[]{configFileName}, e);
}
}
+ @Autowired(required = true)
+ public void setMOAIDConfigurationModul(MOAIDConfigurationModul module) {
+ this.configModule = module;
+ }
+
+
+
+ /**
+ * @param dbRead the dbRead to set
+ */
+ @Autowired(required = true)
+ public void setDbRead(NewConfigurationDBRead dbRead) {
+ this.deprecatedDBRead = dbRead;
+ }
+
+
+
+ /**
+ * @return the deprecatedDBWrite
+ */
+ public FileBasedUserConfiguration getUserManagement() {
+ return userManagement;
+ }
+
+ /**
+ * @param deprecatedDBWrite the deprecatedDBWrite to set
+ */
+ @Autowired(required = true)
+ public void setUserManagement(FileBasedUserConfiguration userManagement) {
+ this.userManagement = userManagement;
+ }
+
+
public String getPublicUrlPreFix(HttpServletRequest request) {
publicURLPreFix = props.getProperty("general.publicURLContext");
@@ -467,6 +518,29 @@ public class ConfigurationProvider {
}
+ /**
+ * @return the context
+ */
+ public ApplicationContext getContext() {
+ return context;
+ }
+
+ /**
+ * @return the configModule
+ */
+ public MOAIDConfigurationModul getConfigModule() {
+ return configModule;
+ }
+
+
+
+ /**
+ * @return the dbRead
+ */
+ public NewConfigurationDBRead getDbRead() {
+ return deprecatedDBRead;
+ }
+
private void initalPVP2Login() throws ConfigurationException {
try {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/usermanagement/FileBasedUserConfiguration.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/usermanagement/FileBasedUserConfiguration.java
new file mode 100644
index 000000000..b1bba7289
--- /dev/null
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/usermanagement/FileBasedUserConfiguration.java
@@ -0,0 +1,370 @@
+package at.gv.egovernment.moa.id.configuration.config.usermanagement;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.apache.commons.collections4.map.HashedMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egiz.components.configuration.api.Configuration;
+import at.gv.egiz.components.configuration.api.ConfigurationException;
+import at.gv.egiz.components.configuration.file.PropertiesBasedConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
+import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.commons.utils.KeyValueUtils;
+import at.gv.egovernment.moa.util.MiscUtil;
+
+
+public class FileBasedUserConfiguration
+ implements UserConfiguration {
+
+ private static final Logger logger = LoggerFactory.getLogger(FileBasedUserConfiguration.class);
+ public static final String CONFIG_FILE_PROPERTY = "user.properties";
+
+ private Configuration userconfig;
+
+ public FileBasedUserConfiguration() {
+ String cfgFile = System.getProperty(CONFIG_FILE_PROPERTY);
+ if(cfgFile == null) {
+ throw new RuntimeException("Please configure " + CONFIG_FILE_PROPERTY + " to provide user database");
+ }
+
+ try {
+ userconfig = new PropertiesBasedConfiguration(new File(cfgFile));
+
+ } catch (IOException | ConfigurationException e) {
+ logger.error("Failed to build configuration in user modul!");
+ throw new RuntimeException(e);
+
+ }
+ }
+
+ /**
+ *
+ * @return
+ */
+ public List<UserDatabase> getAllUsers() {
+ logger.trace("Get All Users from database.");
+
+ // select userdatabase from UserDatabase userdatabase
+ List<UserDatabase> result = new ArrayList<UserDatabase>();
+ try {
+ String[] userIDs = userconfig.getConfigurationIdNextLevel(UserDatabase.PREFIX);
+ for (String userID : userIDs) {
+ String[] userKeys = userconfig.findConfigurationId(UserDatabase.PREFIX + "." + userID + ".*");
+ Map<String, String> keyValue = new HashMap<String, String>();
+ if (userKeys.length > 0) {
+ for (String key : userKeys) {
+ keyValue.put(
+ KeyValueUtils.removePrefixFromKey(
+ key, UserDatabase.PREFIX + "." + userID + "."),
+ userconfig.getStringValue(key));
+ }
+ UserDatabase userDAO = new UserDatabase(keyValue);
+ userDAO.setHjid(userID);
+ result.add(userDAO);
+ }
+ }
+
+ if (result.size() == 0) {
+ logger.trace("No entries found.");
+ return null;
+ }
+
+ return result;
+
+ } catch (ConfigurationException e) {
+ logger.error("Access UserDatabase FAILED", e);
+ return null;
+
+ }
+ }
+
+ /**
+ *
+ * @return
+ */
+ public List<UserDatabase> getAllOpenUsersRequests() {
+ logger.trace("Get all new Users from Database");
+
+ // select userdatabase from UserDatabase userdatabase
+ // where userdatabase.userRequestTokken is not null
+ // and userdatabase.isAdminRequest = '1' and userdatabase.isMailAddressVerified = '0'
+ List<UserDatabase> result = new ArrayList<UserDatabase>();
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : nullGuard(allUsers)) {
+ // TODO check result of query "... userdatabase.userRequestTokken is not null" if Tokken is null -> (null, "NULL", "", ... ?)
+ if ((user.getUserRequestTokken() != null && !user.getUserRequestTokken().isEmpty() && !user.getUserRequestTokken().equals("NULL"))
+ && (user.isIsAdminRequest()) && (!user.isIsMailAddressVerified())) {
+ result.add(user);
+ }
+ }
+
+ if (result.size() == 0) {
+ logger.trace("No entries found.");
+ return null;
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param tokken
+ * @return
+ */
+ public UserDatabase getNewUserWithTokken(String tokken) {
+ logger.trace("Getting Userinformation with Tokken " + tokken + " from database.");
+
+ // select userdatabase from UserDatabase userdatabase where userdatabase.userRequestTokken = :tokken
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : nullGuard(allUsers)) {
+ if (user.getUserRequestTokken() != null &&
+ user.getUserRequestTokken().equals(tokken)) {
+ result = user;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param id
+ * @return
+ */
+ public UserDatabase getUsersWithOADBID(long id) {
+ logger.trace("Getting Userinformation with OADBID " + id + " from database.");
+
+ // select userdatabase from UserDatabase userdatabase
+ // inner join userdatabase.onlineApplication oa where oa.hjid = :id
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ boolean quit = false;
+ for (UserDatabase user : nullGuard(allUsers)) {
+
+ for (String oa : user.getOnlineApplication()) {
+
+ if (oa.equals(String.valueOf(id))) {
+ result = user;
+ quit = true;
+ break;
+ }
+ }
+
+ if (quit) {
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param id
+ * @return
+ */
+ public UserDatabase getUserWithID(long id) {
+ logger.trace("Getting Userinformation with ID " + id + " from database.");
+
+ // select userdatabase from UserDatabase userdatabase where userdatabase.hjid = :id
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : nullGuard(allUsers)) {
+ if (user.getHjid().equals(String.valueOf(id))) {
+ result = user;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param username
+ * @return
+ */
+ public UserDatabase getUserWithUserName(String username) {
+ logger.trace("Getting Userinformation with ID " + username + " from database.");
+
+ // select userdatabase from UserDatabase userdatabase where userdatabase.username = :username
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : nullGuard(allUsers)) {
+ if (user.getUsername().equals(username)) {
+ result = user;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param bpkwbpk
+ * @return
+ */
+ public UserDatabase getUserWithUserBPKWBPK(String bpkwbpk) {
+ logger.trace("Getting Userinformation with ID " + bpkwbpk + " from database.");
+
+ // select userdatabase from UserDatabase userdatabase where userdatabase.bpk = :bpk
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : nullGuard(allUsers)) {
+ if (user.getBpk() != null &&
+ user.getBpk().equals(bpkwbpk)) {
+ result = user;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * @return
+ */
+ public List<UserDatabase> getAllNewUsers() {
+ List<UserDatabase> result = new ArrayList<UserDatabase>();
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : nullGuard(allUsers)) {
+ // TODO check result of query "... userdatabase.userRequestTokken is not null" if Tokken is null -> (null, "NULL", "", ... ?)
+ if (((user.getUserRequestTokken() == null || user.getUserRequestTokken().isEmpty() || user.getUserRequestTokken().equals("NULL")))
+ && (user.isIsAdminRequest()) && (user.isIsMailAddressVerified())) {
+ result.add(user);
+ }
+ }
+
+ if (result.size() == 0) {
+ logger.trace("No entries found.");
+ return null;
+ }
+
+ return result;
+ }
+
+
+ /**
+ * @param user
+ */
+ public void saveOrUpdate(UserDatabase user) throws MOADatabaseException{
+ List<UserDatabase> allUsers = getAllUsers();
+
+ if (allUsers == null) {
+ Set<Entry<String, String>> keySet = user.getKeyValuePairs().entrySet();
+ for (Entry<String, String> el : keySet) {
+ try {
+ if (MiscUtil.isNotEmpty(el.getValue())) {
+ userconfig.setStringValue(UserDatabase.PREFIX + ".0." + el.getKey(),
+ el.getValue());
+ }
+
+ } catch (ConfigurationException e) {
+ logger.error("Can not store Userentry with key: " + UserDatabase.PREFIX + ".0." + el.getKey(), e);
+ }
+
+ }
+
+
+ } else {
+ boolean isUpdated = false;
+ for (UserDatabase dbUser : allUsers) {
+ if (dbUser.getHjid().equals(user.getHjid())) {
+ logger.debug("User is already stored -> start update process ...");
+ Set<Entry<String, String>> keySet = user.getKeyValuePairs().entrySet();
+ for (Entry<String, String> el : keySet) {
+ try {
+ if (MiscUtil.isNotEmpty(el.getValue()))
+ userconfig.setStringValue(UserDatabase.PREFIX + "." + user.getHjid() + "." + el.getKey(),
+ el.getValue());
+
+ } catch (ConfigurationException e) {
+ logger.error("Can not store Userentry with key: " + UserDatabase.PREFIX + "." + user.getHjid() + "." + el.getKey(), e);
+ }
+
+ }
+ isUpdated = true;
+ break;
+ }
+ }
+ if (!isUpdated) {
+ try {
+ String[] temp = userconfig.findConfigurationId(UserDatabase.PREFIX + ".*." + UserDatabase.ISACTIVE);
+ int newID = KeyValueUtils.findNextFreeListCounter(temp, UserDatabase.PREFIX);
+
+ logger.debug("Add new User with ID:" + String.valueOf(newID));
+ Set<Entry<String, String>> keySet = user.getKeyValuePairs().entrySet();
+ for (Entry<String, String> el : keySet) {
+ try {
+ if (MiscUtil.isNotEmpty(el.getValue()))
+ userconfig.setStringValue(UserDatabase.PREFIX + "." + String.valueOf(newID) + "." + el.getKey(),
+ el.getValue());
+
+ } catch (ConfigurationException e) {
+ logger.error("Can not store Userentry with key: " + UserDatabase.PREFIX + "." + String.valueOf(newID) + "." + el.getKey(), e);
+ }
+
+ }
+ } catch (ConfigurationException e) {
+ logger.error("Access UserDatabase FAILED", e);
+
+ }
+ }
+ }
+
+ try {
+ userconfig.synchronize();
+
+ } catch (ConfigurationException e) {
+ logger.error("Access UserDatabase FAILED", e);
+ }
+
+ }
+
+ /**
+ * @param dbuser
+ */
+ public void delete(UserDatabase dbuser) {
+ try {
+ logger.debug("Delete User with ID: " + dbuser.getHjid());
+ userconfig.deleteIds(UserDatabase.PREFIX + "." + dbuser.getHjid() + "*");
+ userconfig.synchronize();
+
+ } catch (ConfigurationException e) {
+ logger.error("Access UserManagement Database FAILED!", e);
+
+ }
+
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T extends Iterable<?>> T nullGuard(T item) {
+ if (item == null) {
+ return (T) Collections.emptyList();
+ } else {
+ return item;
+ }
+
+ }
+
+}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/usermanagement/UserConfiguration.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/usermanagement/UserConfiguration.java
new file mode 100644
index 000000000..f894b510b
--- /dev/null
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/usermanagement/UserConfiguration.java
@@ -0,0 +1,6 @@
+package at.gv.egovernment.moa.id.configuration.config.usermanagement;
+
+
+public interface UserConfiguration {
+
+}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java
index 504a38800..e2d473f8a 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java
@@ -36,11 +36,12 @@ import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.BKUSelectionCustomizationType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TemplatesType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;
+import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.BKUSelectionCustomizationType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TemplatesType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TransformsInfoType;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
@@ -137,12 +138,18 @@ public class FormularCustomization implements IOnlineApplicationData {
aditionalAuthBlockText = templates.getAditionalAuthBlockText();
TransformsInfoType bkuSelectTemplate = templates.getBKUSelectionTemplate();
- if (bkuSelectTemplate != null && MiscUtil.isNotEmpty(bkuSelectTemplate.getFilename())) {
+ if (bkuSelectTemplate != null
+ && MiscUtil.isNotEmpty(bkuSelectTemplate.getFilename())
+ && !bkuSelectTemplate.getFilename().equals(MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT)
+ && !bkuSelectTemplate.getFilename().equals(MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT_EMPTY)) {
bkuSelectionFileUploadFileName.add(bkuSelectTemplate.getFilename());
}
TransformsInfoType sendAssertionTemplate = templates.getSendAssertionTemplate();
- if (sendAssertionTemplate != null && MiscUtil.isNotEmpty(sendAssertionTemplate.getFilename())) {
+ if (sendAssertionTemplate != null
+ && MiscUtil.isNotEmpty(sendAssertionTemplate.getFilename())
+ && !sendAssertionTemplate.getFilename().equals(MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT)
+ && !sendAssertionTemplate.getFilename().equals(MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT_EMPTY)) {
sendAssertionFileUploadFileName.add(sendAssertionTemplate.getFilename());
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java
index def880da8..bcf99d246 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java
@@ -28,34 +28,32 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModeType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModes;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ConnectionParameterClientAuthType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Contact;
-import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ForeignIdentities;
-import at.gv.egovernment.moa.id.commons.db.dao.config.GeneralConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.IdentificationNumber;
-import at.gv.egovernment.moa.id.commons.db.dao.config.LegacyAllowed;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOASP;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OAuth;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineMandates;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Organization;
-import at.gv.egovernment.moa.id.commons.db.dao.config.PVP2;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Protocols;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SAML1;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SLRequestTemplates;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SSO;
-import at.gv.egovernment.moa.id.commons.db.dao.config.STORK;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SecurityLayer;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TimeOuts;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TrustAnchor;
-import at.gv.egovernment.moa.id.commons.db.dao.config.VerifyAuthBlock;
-import at.gv.egovernment.moa.id.commons.db.dao.config.VerifyIdentityLink;
-import at.gv.egovernment.moa.id.config.legacy.ConfigurationBuilder;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentGeneral;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ChainingModeType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ChainingModes;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ConnectionParameterClientAuthType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.Contact;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.DefaultBKUs;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ForeignIdentities;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.GeneralConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.LegacyAllowed;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOASP;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OAuth;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineMandates;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.Organization;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.PVP2;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.Protocols;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SAML1;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SLRequestTemplates;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SSO;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.STORK;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SecurityLayer;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TimeOuts;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TransformsInfoType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TrustAnchor;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.VerifyAuthBlock;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.VerifyIdentityLink;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.data.pvp2.ContactForm;
import at.gv.egovernment.moa.util.MiscUtil;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java
index c830e682d..d8bb0179c 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java
@@ -25,15 +25,14 @@ package at.gv.egovernment.moa.id.configuration.data;
import java.util.ArrayList;
import java.util.List;
-import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfigurationImpl;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;
-import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ForeignIdentities;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.STORK;
-import at.gv.egovernment.moa.id.commons.db.dao.config.StorkAttribute;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentGeneral;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.CPEPS;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ForeignIdentities;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.STORK;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.StorkAttribute;
+import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
+import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
import org.apache.log4j.Logger;
@@ -49,18 +48,17 @@ public class GeneralStorkConfig {
/**
*
*/
- public GeneralStorkConfig() {
-
- dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
-
+ public GeneralStorkConfig() {
+ try {
+ dbconfig = ConfigurationProvider.getInstance().getDbRead().getMOAIDConfiguration();
+
+ } catch (ConfigurationException e) {
+ log.error("MOA-ID-Configuration initialization FAILED.", e);
+
+ }
+
}
-
- @Override
- protected void finalize() throws Throwable {
- ConfigurationDBUtils.closeSession();
- super.finalize();
- }
-
+
public void parse(MOAIDConfiguration config) {
log.info("Initializing general Stork config");
@@ -108,6 +106,10 @@ public class GeneralStorkConfig {
}
}
+ public List<CPEPS> getRawCPEPSList() {
+ return cpepslist;
+ }
+
public List<CPEPS> getCpepslist() {
if (null == cpepslist)
return null;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/AttributeHelper.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/AttributeHelper.java
index 012e8121f..63c82037f 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/AttributeHelper.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/AttributeHelper.java
@@ -1,7 +1,7 @@
package at.gv.egovernment.moa.id.configuration.data.oa;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OAStorkAttribute;
-import at.gv.egovernment.moa.id.commons.db.dao.config.StorkAttribute;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OAStorkAttribute;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.StorkAttribute;
public class AttributeHelper {
private boolean isUsed = false;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/IOnlineApplicationData.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/IOnlineApplicationData.java
index 37f8fbc07..8195c993d 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/IOnlineApplicationData.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/IOnlineApplicationData.java
@@ -26,7 +26,7 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
/**
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
index a9c914f74..0c633f312 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
@@ -29,20 +29,18 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.BKUURLS;
-import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAKeyBoxSelector;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Mandates;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TemplateType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TemplatesType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TestCredentials;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TestCredentialsCredentialOIDItem;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.BKUURLS;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.DefaultBKUs;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAKeyBoxSelector;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.Mandates;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TemplateType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TemplatesType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TestCredentials;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TestCredentialsCredentialOIDItem;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TransformsInfoType;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.validation.oa.OAAuthenticationDataValidation;
@@ -86,18 +84,18 @@ public class OAAuthenticationData implements IOnlineApplicationData {
keyBoxIdentifier = MOAKeyBoxSelector.SECURE_SIGNATURE_KEYPAIR.value();
- bkuLocalURL = Constants.DEFAULT_LOCALBKU_URL;
- bkuHandyURL = Constants.DEFAULT_HANDYBKU_URL;
-
- MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
- if (moaidconfig != null) {
- DefaultBKUs defaultbkus = moaidconfig.getDefaultBKUs();
- if (defaultbkus != null) {
- setBkuHandyURL(defaultbkus.getHandyBKU());
- setBkuLocalURL(defaultbkus.getLocalBKU());
- setBkuOnlineURL(defaultbkus.getOnlineBKU());
- }
- }
+// bkuLocalURL = Constants.DEFAULT_LOCALBKU_URL;
+// bkuHandyURL = Constants.DEFAULT_HANDYBKU_URL;
+//
+// MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
+// if (moaidconfig != null) {
+// DefaultBKUs defaultbkus = moaidconfig.getDefaultBKUs();
+// if (defaultbkus != null) {
+// setBkuHandyURL(defaultbkus.getHandyBKU());
+// setBkuLocalURL(defaultbkus.getLocalBKU());
+// setBkuOnlineURL(defaultbkus.getOnlineBKU());
+// }
+// }
}
/* (non-Javadoc)
@@ -123,15 +121,15 @@ public class OAAuthenticationData implements IOnlineApplicationData {
String defaultlocal = "";
String defaultonline = "";
- MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
- if (dbconfig != null) {
- DefaultBKUs defaultbkus = dbconfig.getDefaultBKUs();
- if (defaultbkus != null) {
- defaulthandy = defaultbkus.getHandyBKU();
- defaultlocal = defaultbkus.getLocalBKU();
- defaultonline = defaultbkus.getOnlineBKU();
- }
- }
+// MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
+// if (dbconfig != null) {
+// DefaultBKUs defaultbkus = dbconfig.getDefaultBKUs();
+// if (defaultbkus != null) {
+// defaulthandy = defaultbkus.getHandyBKU();
+// defaultlocal = defaultbkus.getLocalBKU();
+// defaultonline = defaultbkus.getOnlineBKU();
+// }
+// }
if (bkuurls != null) {
@@ -318,8 +316,8 @@ public class OAAuthenticationData implements IOnlineApplicationData {
if (enableTestCredentials) {
TestCredentials testing = authoa.getTestCredentials();
- if (testing != null)
- ConfigurationDBUtils.delete(testing);
+// if (testing != null)
+// ConfigurationDBUtils.delete(testing);
testing = new TestCredentials();
authoa.setTestCredentials(testing);
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OABPKEncryption.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OABPKEncryption.java
index 6782987e5..58b0b9d17 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OABPKEncryption.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OABPKEncryption.java
@@ -36,10 +36,10 @@ import org.apache.commons.lang.SerializationUtils;
import org.apache.log4j.Logger;
import at.gv.egovernment.moa.id.auth.exception.BuildException;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.BPKDecryption;
-import at.gv.egovernment.moa.id.commons.db.dao.config.EncBPKInformation;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.BPKDecryption;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.EncBPKInformation;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.config.auth.data.BPKDecryptionParameters;
import at.gv.egovernment.moa.id.configuration.Constants;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java
index 05e163c23..22a978014 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java
@@ -29,8 +29,8 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java
index 2f9df18aa..a4d71f0ed 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAMOAIDPInterfederationConfig.java
@@ -29,8 +29,8 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.dao.config.InterfederationIDPType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.InterfederationIDPType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAOAuth20Config.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAOAuth20Config.java
index b95090a55..ce50c847a 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAOAuth20Config.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAOAuth20Config.java
@@ -32,9 +32,9 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OAOAUTH20;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OAOAUTH20;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAPVP2Config.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAPVP2Config.java
index bcac63a5f..07c9f5eda 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAPVP2Config.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAPVP2Config.java
@@ -35,12 +35,14 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import iaik.x509.X509Certificate;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OAPVP2;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OAPVP2;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
import at.gv.egovernment.moa.id.configuration.validation.oa.OAPVP2ConfigValidation;
+import at.gv.egovernment.moa.util.Base64Utils;
import at.gv.egovernment.moa.util.MiscUtil;
public class OAPVP2Config implements IOnlineApplicationData{
@@ -133,16 +135,33 @@ public class OAPVP2Config implements IOnlineApplicationData{
if (pvp2 != null) {
metaDataURL = pvp2.getMetadataURL();
- try {
- byte[] cert = pvp2.getCertificate();
-
- if (MiscUtil.isNotEmpty(cert)) {
- X509Certificate x509 = new X509Certificate(cert);
- certificateDN = x509.getSubjectDN().getName();
+ if (pvp2.getCertificate() != null &&
+ !(new String(pvp2.getCertificate())).equals(MOAIDConfigurationConstants.WEBGUI_EMPTY_ELEMENT)) {
+ try {
+ //byte[] cert = pvp2.getCertificate();
+ byte[] cert = Base64Utils.decode(new String(pvp2.getCertificate()), false);
+ if (MiscUtil.isNotEmpty(cert)) {
+ X509Certificate x509 = new X509Certificate(cert);
+ certificateDN = x509.getSubjectDN().getName();
+ }
+ } catch (CertificateException e) {
+ try {
+ byte[] cert = pvp2.getCertificate();
+ if (MiscUtil.isNotEmpty(cert)) {
+ X509Certificate x509 = new X509Certificate(cert);
+ certificateDN = x509.getSubjectDN().getName();
+ }
+
+ } catch (CertificateException e1) {
+ log.warn("PVP2 certificate can not be loaded from Online-Applikation with ID " + dbOAConfig.getPublicURLPrefix(), e1);
+ errors.add(LanguageHelper.getErrorString("error.oa.pvp2.certificate", request));
+
+ }
+
+ } catch (IOException e) {
+ log.warn("PVP2 certificate can not be loaded from Online-Applikation with ID " + dbOAConfig.getPublicURLPrefix());
+ errors.add(LanguageHelper.getErrorString("error.oa.pvp2.certificate", request));
}
- } catch (CertificateException e) {
- log.warn("PVP2 certificate can not be loaded from Online-Applikation with ID " + dbOAConfig.getPublicURLPrefix());
- errors.add(LanguageHelper.getErrorString("error.oa.pvp2.certificate", request));
}
}
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OARevisionsLogData.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OARevisionsLogData.java
new file mode 100644
index 000000000..441c879be
--- /dev/null
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OARevisionsLogData.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, 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
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.configuration.data.oa;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.utils.KeyValueUtils;
+import at.gv.egovernment.moa.id.config.webgui.exception.ValidationObjectIdentifier;
+import at.gv.egovernment.moa.id.config.webgui.helper.LanguageHelper;
+import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
+import at.gv.egovernment.moa.util.MiscUtil;
+
+/**
+ * @author tlenz
+ *
+ */
+public class OARevisionsLogData implements IOnlineApplicationData {
+
+ private boolean active = false;
+ private String eventCodes = null;
+
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#getName()
+ */
+ @Override
+ public String getName() {
+ return "OARevisionsLogging";
+ }
+
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#parse(at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication, at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser, javax.servlet.http.HttpServletRequest)
+ */
+ @Override
+ public List<String> parse(OnlineApplication dbOA,
+ AuthenticatedUser authUser, HttpServletRequest request) {
+
+ if (dbOA.getIsRevisionsLogActive() != null)
+ active = dbOA.getIsRevisionsLogActive();
+
+ if (MiscUtil.isNotEmpty(dbOA.getEventCodes()))
+ eventCodes = dbOA.getEventCodes();
+
+ return null;
+
+ }
+
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#store(at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication, at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser, javax.servlet.http.HttpServletRequest)
+ */
+ @Override
+ public String store(OnlineApplication dbOA, AuthenticatedUser authUser,
+ HttpServletRequest request) {
+
+ dbOA.setIsRevisionsLogActive(active);
+
+ if (MiscUtil.isNotEmpty(eventCodes)) {
+ dbOA.setEventCodes(KeyValueUtils.normalizeCSVValueString(eventCodes));
+
+ }
+
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#validate(at.gv.egovernment.moa.id.configuration.data.oa.OAGeneralConfig, at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser, javax.servlet.http.HttpServletRequest)
+ */
+ @Override
+ public List<String> validate(OAGeneralConfig general,
+ AuthenticatedUser authUser, HttpServletRequest request) {
+ List<String> errors = new ArrayList<String>();
+
+ if (active && MiscUtil.isEmpty(eventCodes)) {
+ errors.add(LanguageHelper.getErrorString(
+ "error.oa.reversion.log.enabled"));
+
+ }
+
+ if (MiscUtil.isNotEmpty(eventCodes)) {
+ String[] codes = eventCodes.split(",");
+ for (String el: codes) {
+ try {
+ Integer.parseInt(el.trim());
+
+ } catch (NumberFormatException e) {
+ errors.add(LanguageHelper.getErrorString(
+ "error.oa.reversion.log.eventcodes"));
+ break;
+
+ }
+
+ }
+
+ }
+
+ return errors;
+ }
+
+ /**
+ * @return the active
+ */
+ public boolean isActive() {
+ return active;
+ }
+
+ /**
+ * @param active the active to set
+ */
+ public void setActive(boolean active) {
+ this.active = active;
+ }
+
+ /**
+ * @return the eventCodes
+ */
+ public String getEventCodes() {
+ return eventCodes;
+ }
+
+ /**
+ * @param eventCodes the eventCodes to set
+ */
+ public void setEventCodes(String eventCodes) {
+ this.eventCodes = eventCodes;
+ }
+
+
+
+}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASAML1Config.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASAML1Config.java
index 7b5575a90..2922231b3 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASAML1Config.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASAML1Config.java
@@ -27,9 +27,9 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OASAML1;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OASAML1;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.validation.oa.OASAML1ConfigValidation;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASSOConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASSOConfig.java
index 28144666b..1baefe4b8 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASSOConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASSOConfig.java
@@ -26,9 +26,9 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OASSO;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OASSO;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.validation.oa.OASSOConfigValidation;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java
index e0a312c09..d26fe8a89 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OASTORKConfig.java
@@ -29,17 +29,17 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AttributeProviderPlugin;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OASTORK;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OAStorkAttribute;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
-import at.gv.egovernment.moa.id.commons.db.dao.config.StorkAttribute;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AttributeProviderPlugin;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.CPEPS;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OASTORK;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OAStorkAttribute;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.StorkAttribute;
+import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
+import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
import at.gv.egovernment.moa.id.configuration.validation.oa.OASTORKConfigValidation;
import at.gv.egovernment.moa.id.protocols.stork2.AttributeProviderFactory;
@@ -66,25 +66,23 @@ public class OASTORKConfig implements IOnlineApplicationData{
public OASTORKConfig() {
// fetch available citizen countries
citizenCountries = new ArrayList<String>();
+ try {
+ dbconfig = ConfigurationProvider.getInstance().getDbRead().getMOAIDConfiguration();
- dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
- try {
for(CPEPS current : dbconfig.getAuthComponentGeneral().getForeignIdentities().getSTORK().getCPEPS()) {
citizenCountries.add(current.getCountryCode());
}
}catch (NullPointerException e) {
+ } catch (ConfigurationException e) {
+ log.error("MOA-ID-Configuration initialization FAILED.", e);
+
}
}
- @Override
- protected void finalize() throws Throwable {
- ConfigurationDBUtils.closeSession();
- super.finalize();
- }
/* (non-Javadoc)
* @see at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData#getName()
@@ -111,7 +109,13 @@ public class OASTORKConfig implements IOnlineApplicationData{
setQaa(config.getQaa());
} catch(NullPointerException e) {
// if there is no configuration available for the OA, get the default qaa level
- setQaa(dbconfig.getAuthComponentGeneral().getForeignIdentities().getSTORK().getQualityAuthenticationAssuranceLevel());
+ try {
+ setQaa(dbconfig.getAuthComponentGeneral().getForeignIdentities().getSTORK().getQualityAuthenticationAssuranceLevel());
+
+ } catch (NullPointerException e1) {
+ setQaa(4);
+
+ }
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
index bb7bac4f8..19671e502 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
@@ -27,9 +27,9 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
-import at.gv.egovernment.moa.id.commons.db.dao.config.IdentificationNumber;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentOA;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.IdentificationNumber;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.validation.TargetValidator;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java
index 23af59d8e..e27c55c90 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/PVPGatewayInterfederationConfig.java
@@ -29,9 +29,9 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.dao.config.InterfederationGatewayType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.InterfederationIDPType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.InterfederationGatewayType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.InterfederationIDPType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/pvp2/ContactForm.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/pvp2/ContactForm.java
index 01615a056..664e94377 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/pvp2/ContactForm.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/pvp2/ContactForm.java
@@ -25,7 +25,7 @@ package at.gv.egovernment.moa.id.configuration.data.pvp2;
import java.util.ArrayList;
import java.util.List;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Contact;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.Contact;
public class ContactForm {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
index e5ee5ac09..b4afcb5f2 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
@@ -26,7 +26,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.data.OAListElement;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
index 04715027a..45674a283 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
@@ -36,13 +36,18 @@ import java.util.Map;
import org.apache.log4j.Logger;
+import edu.emory.mathcs.backport.java.util.Arrays;
+
+import at.gv.egiz.components.configuration.meta.api.ConfigurationStorageException;
import at.gv.egovernment.moa.id.auth.builder.LoginFormBuilder;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-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.config.ConfigurationMigrationUtils;
+import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.STORK;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.commons.utils.KeyValueUtils;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.Constants;
@@ -100,10 +105,10 @@ public class BasicOAAction extends BasicAction {
OnlineApplication onlineapplication = null;
if (authUser.isAdmin())
- onlineapplication = ConfigurationDBRead.getOnlineApplication(oaid);
+ onlineapplication = configuration.getDbRead().getOnlineApplication(oaid);
else {
- userdb = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ userdb = configuration.getUserManagement().getUserWithID(authUser.getUserID());
if (!authUser.isAdmin() && userdb.isIsMailAddressVerified() != null && !userdb.isIsMailAddressVerified()) {
log.info("Online-Applikation managemant disabled. Mail address is not verified.");
@@ -114,10 +119,10 @@ public class BasicOAAction extends BasicAction {
}
// TODO: change to direct Database operation
- List<OnlineApplication> oas = userdb.getOnlineApplication();
- for (OnlineApplication oa : oas) {
- if (oa.getHjid() == oaid) {
- onlineapplication = oa;
+ List<String> oas = userdb.getOnlineApplication();
+ for (String oa : oas) {
+ if (oa.equals(oaid)) {
+ onlineapplication = configuration.getDbRead().getOnlineApplication(oaid);
break;
}
}
@@ -173,7 +178,7 @@ public class BasicOAAction extends BasicAction {
UserDatabase userdb = null;
if (onlineapplication.getHjid() != null)
- userdb = ConfigurationDBRead.getUsersWithOADBID(onlineapplication.getHjid());
+ userdb = configuration.getUserManagement().getUsersWithOADBID(onlineapplication.getHjid());
if (userdb != null && !userdb.isIsAdmin()) {
try {
@@ -197,27 +202,27 @@ public class BasicOAAction extends BasicAction {
throw new BasicOAActionException(error, Constants.STRUTS_ERROR_VALIDATION);
}
- //set metadata reload flag if reload is required
-
- if (getPvp2OA() != null && getPvp2OA().getMetaDataURL() != null) {
-
- try {
- if (isMetaDataRefreshRequired
- || !getPvp2OA().getMetaDataURL().equals(onlineapplication.getAuthComponentOA().getOAPVP2().getMetadataURL())
- || getPvp2OA().getFileUpload() != null
- || getPvp2OA().isReLoad()) {
-
- log.debug("Set PVP2 Metadata refresh flag.");
- MOAIDConfiguration moaconfig = ConfigurationDBRead.getMOAIDConfiguration();
- moaconfig.setPvp2RefreshItem(new Date());
- ConfigurationDBUtils.saveOrUpdate(moaconfig);
-
- }
- } catch (Throwable e) {
- log.info("Found no MetadataURL in OA-Databaseconfig!", e);
- }
-
- }
+// //set metadata reload flag if reload is required
+//
+// if (getPvp2OA() != null && getPvp2OA().getMetaDataURL() != null) {
+//
+// try {
+// if (isMetaDataRefreshRequired
+// || !getPvp2OA().getMetaDataURL().equals(onlineapplication.getAuthComponentOA().getOAPVP2().getMetadataURL())
+// || getPvp2OA().getFileUpload() != null
+// || getPvp2OA().isReLoad()) {
+//
+// log.debug("Set PVP2 Metadata refresh flag.");
+// MOAIDConfiguration moaconfig = configuration.getDbRead().getMOAIDConfiguration();
+// moaconfig.setPvp2RefreshItem(new Date());
+// ConfigurationDBUtils.saveOrUpdate(moaconfig);
+//
+// }
+// } catch (Throwable e) {
+// log.info("Found no MetadataURL in OA-Databaseconfig!", e);
+// }
+//
+// }
return onlineapplication;
}
@@ -242,7 +247,7 @@ public class BasicOAAction extends BasicAction {
}
session.setAttribute(Constants.SESSION_FORMID, null);
- UserDatabase userdb = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ UserDatabase userdb = configuration.getUserManagement().getUserWithID(authUser.getUserID());
if (!authUser.isAdmin() && userdb.isIsMailAddressVerified() != null && !userdb.isIsMailAddressVerified()) {
log.info("Online-Applikation managemant disabled. Mail address is not verified.");
throw new BasicOAActionException(
@@ -292,7 +297,7 @@ public class BasicOAAction extends BasicAction {
} else {
if (oaid == -1) {
- List<OnlineApplication> oaList = ConfigurationDBRead.getAllOnlineApplications();
+ List<OnlineApplication> oaList = configuration.getDbRead().getAllOnlineApplications();
if (oaList != null) {
for (OnlineApplication el : oaList) {
@@ -303,7 +308,7 @@ public class BasicOAAction extends BasicAction {
}
if (onlineapplication == null) {
- onlineapplication = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+ onlineapplication = configuration.getDbRead().getOnlineApplication(oaidentifier);
}
setNewOA(true);
@@ -316,18 +321,18 @@ public class BasicOAAction extends BasicAction {
}
} else {
- onlineapplication = ConfigurationDBRead.getOnlineApplication(oaid);
+ onlineapplication = configuration.getDbRead().getOnlineApplication(oaid);
if (!oaidentifier.equals(onlineapplication.getPublicURLPrefix())) {
OnlineApplication dbOA = null;
- List<OnlineApplication> oaList = ConfigurationDBRead.getAllOnlineApplications();
+ List<OnlineApplication> oaList = configuration.getDbRead().getAllOnlineApplications();
for (OnlineApplication el : oaList) {
if (el.getPublicURLPrefix().startsWith(oaidentifier) )
dbOA = el;
}
if (dbOA == null)
- dbOA = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+ dbOA = configuration.getDbRead().getOnlineApplication(oaidentifier);
if ( (dbOA != null && !dbOA.getHjid().equals(oaid))) {
log.info("The OAIdentifier is not unique");
@@ -376,7 +381,7 @@ public class BasicOAAction extends BasicAction {
}
session.setAttribute(Constants.SESSION_FORMID, null);
- UserDatabase userdb = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ UserDatabase userdb = configuration.getUserManagement().getUserWithID(authUser.getUserID());
if (!authUser.isAdmin() && userdb.isIsMailAddressVerified() != null && !userdb.isIsMailAddressVerified()) {
log.info("Online-Applikation managemant disabled. Mail address is not verified.");
throw new BasicOAActionException(
@@ -426,23 +431,23 @@ public class BasicOAAction extends BasicAction {
try {
if (dboa.isIsNew()) {
if (!authUser.isAdmin()) {
- UserDatabase user = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ UserDatabase user = configuration.getUserManagement().getUserWithID(authUser.getUserID());
- List<OnlineApplication> useroas = user.getOnlineApplication();
- if (useroas == null) useroas = new ArrayList<OnlineApplication>();
+ List<String> useroas = user.getOnlineApplication();
+ if (useroas == null) useroas = new ArrayList<String>();
- useroas.add(dboa);
- ConfigurationDBUtils.saveOrUpdate(user);
+ useroas.add(String.valueOf(dboa.getHjid()));
+ configuration.getUserManagement().saveOrUpdate(user);
} else {
if (persistOA)
- ConfigurationDBUtils.save(dboa);
+ save(dboa);
}
} else
if (persistOA)
- ConfigurationDBUtils.saveOrUpdate(dboa);
+ save(dboa);
} catch (MOADatabaseException e) {
log.warn("Online-Application can not be stored.", e);
@@ -452,6 +457,89 @@ public class BasicOAAction extends BasicAction {
return null;
}
+ protected void save(OnlineApplication oa) throws MOADatabaseException {
+ try {
+ STORK storkConfig = null;
+ try {
+ MOAIDConfiguration moaidConfig =
+ ConfigurationProvider.getInstance().getDbRead().getMOAIDConfiguration();
+
+ storkConfig = moaidConfig.getAuthComponentGeneral().getForeignIdentities().getSTORK();
+
+ } catch (Exception e) {
+
+ }
+
+ log.debug("JaxB to Key/Value configuration transformation started ...");
+ Map<String, String> keyValueConfig =
+ ConfigurationMigrationUtils.convertHyberJaxBOnlineApplicationToKeyValue(oa, storkConfig);
+
+ log.debug("JaxB to Key/Value configuration transformation finished. Start Key/Value storage process ...");
+
+ String serviceIdentifier = keyValueConfig.get(MOAIDConfigurationConstants.PREFIX_SERVICES);
+ if (MiscUtil.isEmpty(serviceIdentifier)) {
+ log.info("Use default ServiceIdentifier.");
+ serviceIdentifier = MOAIDConfigurationConstants.PREFIX_OA;
+ }
+
+ if (oa.getHjid() == null) {
+ log.debug("No hjID -> find new Service ID ...");
+ String hjID = configuration.getConfigModule().buildArrayIdentifier(
+ MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES + "." + serviceIdentifier, 0, keyValueConfig);
+ log.debug("Find new hjID: " + hjID + " for service: " + oa.getPublicURLPrefix());
+ oa.setHjid(Long.valueOf(hjID));
+
+ }
+
+ Map<String, String> absolutKeyValue = KeyValueUtils.makeKeysAbsolut(
+ keyValueConfig,
+ MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES + "." + serviceIdentifier + "." + String.valueOf(oa.getHjid()),
+ MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES);
+
+ configuration.getConfigModule().storeChanges(absolutKeyValue, null, null);
+
+ log.info("MOA-ID Service Key/Value configuration successfull stored.");
+
+
+ } catch (ConfigurationStorageException | at.gv.egiz.components.configuration.api.ConfigurationException e) {
+ log.warn("MOAID Configuration can not be stored in Database", e);
+ throw new MOADatabaseException(e);
+
+ }
+
+ }
+
+ protected boolean delete(OnlineApplication onlineapplication) {
+ try {
+ log.debug("JaxB to Key/Value configuration transformation started ...");
+ Map<String, String> keyValueConfig =
+ ConfigurationMigrationUtils.convertHyberJaxBOnlineApplicationToKeyValue(onlineapplication, null);
+
+ log.debug("JaxB to Key/Value configuration transformation finished. Start Key/Value storage process ...");
+
+ String serviceIdentifier = keyValueConfig.get(MOAIDConfigurationConstants.PREFIX_SERVICES);
+ if (MiscUtil.isEmpty(serviceIdentifier)) {
+ log.info("Use default ServiceIdentifier.");
+ serviceIdentifier = MOAIDConfigurationConstants.PREFIX_OA;
+ }
+
+ String deleteServiceKey =
+ MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES + "." + serviceIdentifier + "." + String.valueOf(onlineapplication.getHjid()) + ".*";
+
+ configuration.getConfigModule().storeChanges(null, null, Arrays.asList(new String[]{deleteServiceKey}));
+
+ log.info("MOA-ID Service Key/Value configuration successfull stored.");
+ return true;
+
+ } catch (ConfigurationStorageException e) {
+ log.warn("MOAID Configuration can not be stored in Database", e);
+
+ }
+
+ return false;
+
+ }
+
public String bkuFramePreview() {
String preview = null;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
index 4236c0d13..13256a6a0 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
@@ -25,49 +25,41 @@ package at.gv.egovernment.moa.id.configuration.struts.action;
import java.math.BigInteger;
import java.util.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
-import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.ServletResponseAware;
-
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;
-import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModeType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModes;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ConnectionParameterClientAuthType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Contact;
-import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs;
-import at.gv.egovernment.moa.id.commons.db.dao.config.ForeignIdentities;
-import at.gv.egovernment.moa.id.commons.db.dao.config.GeneralConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.IdentityLinkSigners;
-import at.gv.egovernment.moa.id.commons.db.dao.config.LegacyAllowed;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOASP;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OAuth;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineMandates;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Organization;
-import at.gv.egovernment.moa.id.commons.db.dao.config.PVP2;
-import at.gv.egovernment.moa.id.commons.db.dao.config.Protocols;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SAML1;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SLRequestTemplates;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SSO;
-import at.gv.egovernment.moa.id.commons.db.dao.config.STORK;
-import at.gv.egovernment.moa.id.commons.db.dao.config.SecurityLayer;
-import at.gv.egovernment.moa.id.commons.db.dao.config.StorkAttribute;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TimeOuts;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;
-import at.gv.egovernment.moa.id.commons.db.dao.config.TrustAnchor;
-import at.gv.egovernment.moa.id.commons.db.dao.config.VerifyAuthBlock;
-import at.gv.egovernment.moa.id.commons.db.dao.config.VerifyIdentityLink;
-import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+
+import at.gv.egiz.components.configuration.meta.api.ConfigurationStorageException;
+import at.gv.egovernment.moa.id.commons.config.ConfigurationMigrationUtils;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentGeneral;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.CPEPS;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ChainingModeType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ChainingModes;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ConnectionParameterClientAuthType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.Contact;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.DefaultBKUs;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ForeignIdentities;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.GeneralConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.IdentityLinkSigners;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.LegacyAllowed;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOASP;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OAuth;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineMandates;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.Organization;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.PVP2;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.Protocols;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SAML1;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SLRequestTemplates;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SSO;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.STORK;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SecurityLayer;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.StorkAttribute;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TimeOuts;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TransformsInfoType;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.VerifyAuthBlock;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.VerifyIdentityLink;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.configuration.Constants;
-import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.data.GeneralMOAIDConfig;
import at.gv.egovernment.moa.id.configuration.data.GeneralStorkConfig;
import at.gv.egovernment.moa.id.configuration.exception.BasicActionException;
@@ -78,7 +70,6 @@ import at.gv.egovernment.moa.id.configuration.validation.moaconfig.StorkConfigVa
import at.gv.egovernment.moa.id.util.Random;
import at.gv.egovernment.moa.util.MiscUtil;
-import com.opensymphony.xwork2.ActionSupport;
public class EditGeneralConfigAction extends BasicAction {
@@ -92,7 +83,8 @@ public class EditGeneralConfigAction extends BasicAction {
public String loadConfig() {
try {
- populateBasicInformations();
+ populateBasicInformations();
+
} catch (BasicActionException e) {
return Constants.STRUTS_ERROR;
@@ -101,7 +93,8 @@ public class EditGeneralConfigAction extends BasicAction {
if (authUser.isAdmin()) {
- MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
+
+ MOAIDConfiguration dbconfig = configuration.getDbRead().getMOAIDConfiguration();
moaconfig = new GeneralMOAIDConfig();
moaconfig.parse(dbconfig);
@@ -115,8 +108,6 @@ public class EditGeneralConfigAction extends BasicAction {
if (storkconfig == null) {
log.error("Stork configuration is null");
}
-
- ConfigurationDBUtils.closeSession();
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
@@ -210,7 +201,6 @@ public class EditGeneralConfigAction extends BasicAction {
public String back() {
try {
populateBasicInformations();
- ConfigurationDBUtils.closeSession();
} catch (BasicActionException e) {
@@ -240,7 +230,7 @@ public class EditGeneralConfigAction extends BasicAction {
ex.printStackTrace();
}
- MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
+ MOAIDConfiguration dbconfig = configuration.getDbRead().getMOAIDConfiguration();
if (dbconfig == null)
dbconfig = new MOAIDConfiguration();
@@ -502,7 +492,7 @@ public class EditGeneralConfigAction extends BasicAction {
}
dbchainingmodes.setSystemDefaultMode(
- ChainingModeType.fromValue(moaconfig.getDefaultchainigmode()));
+ ChainingModeType.fromValue("pkix"));
IdentityLinkSigners idlsigners = dbauth.getIdentityLinkSigners();
if (idlsigners == null) {
@@ -652,16 +642,23 @@ public class EditGeneralConfigAction extends BasicAction {
//save config
try {
- dbconfig.setTimestampItem(new Date());
+ log.debug("JaxB to Key/Value configuration transformation started ...");
+ Map<String, String> keyValueConfig =
+ ConfigurationMigrationUtils.convertHyberJaxBMOAIDConfigToKeyValue(dbconfig);
- ConfigurationDBUtils.save(dbconfig);
+ log.debug("JaxB to Key/Value configuration transformation finished. Start Key/Value storage process ...");
- } catch (MOADatabaseException e) {
+ configuration.getConfigModule().storeChanges(keyValueConfig, null, null);
+
+ log.info("General MOA-ID Key/Value configuration successfull stored.");
+
+
+ } catch (ConfigurationStorageException e) {
log.warn("MOAID Configuration can not be stored in Database", e);
return LanguageHelper.getErrorString("error.db.oa.store", request);
} finally {
- ConfigurationDBUtils.closeSession();
+
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
index 575d93589..1079932b9 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
@@ -22,9 +22,9 @@
*******************************************************************************/
package at.gv.egovernment.moa.id.configuration.struts.action;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.*;
+import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.StorkAttribute;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.Constants;
@@ -79,6 +79,9 @@ public class EditOAAction extends BasicOAAction {
map.putAll(FormBuildUtils.getDefaultMap());
FormularCustomization formOA = new FormularCustomization(map);
formList.put(formOA.getName(), formOA);
+
+ OARevisionsLogData revisOA = new OARevisionsLogData();
+ formList.put(revisOA.getName(), revisOA);
}
@@ -123,7 +126,6 @@ public class EditOAAction extends BasicOAAction {
return e.getStrutsReturnValue();
} finally {
- ConfigurationDBUtils.closeSession();
}
}
@@ -140,7 +142,7 @@ public class EditOAAction extends BasicOAAction {
ArrayList<AttributeHelper> attributes = new ArrayList<AttributeHelper>();
try {
- for (StorkAttribute current : ConfigurationDBRead
+ for (StorkAttribute current : configuration.getDbRead()
.getMOAIDConfiguration().getAuthComponentGeneral()
.getForeignIdentities().getSTORK().getAttributes())
attributes.add(new AttributeHelper(current));
@@ -152,7 +154,7 @@ public class EditOAAction extends BasicOAAction {
getStorkOA().setHelperAttributes(attributes);
- UserDatabase userdb = ConfigurationDBRead.getUserWithID(authUser
+ UserDatabase userdb = configuration.getUserManagement().getUserWithID(authUser
.getUserID());
if (!authUser.isAdmin() && userdb.isIsMailAddressVerified() != null
@@ -176,7 +178,6 @@ public class EditOAAction extends BasicOAAction {
return Constants.STRUTS_ERROR;
} finally {
- ConfigurationDBUtils.closeSession();
}
}
@@ -240,12 +241,12 @@ public class EditOAAction extends BasicOAAction {
int numoas = 0;
int numusers = 0;
- List<OnlineApplication> openOAs = ConfigurationDBRead
+ List<OnlineApplication> openOAs = configuration.getDbRead()
.getAllNewOnlineApplications();
if (openOAs != null)
numoas = openOAs.size();
- List<UserDatabase> openUsers = ConfigurationDBRead.getAllNewUsers();
+ List<UserDatabase> openUsers = configuration.getUserManagement().getAllNewUsers();
if (openUsers != null)
numusers = openUsers.size();
try {
@@ -281,7 +282,6 @@ public class EditOAAction extends BasicOAAction {
return e.getStrutsReturnValue();
} finally {
- ConfigurationDBUtils.closeSession();
}
}
@@ -312,7 +312,6 @@ public class EditOAAction extends BasicOAAction {
return Constants.STRUTS_ERROR;
} finally {
- ConfigurationDBUtils.closeSession();
}
}
@@ -332,42 +331,43 @@ public class EditOAAction extends BasicOAAction {
}
oaidentifier = preProcessDeleteOnlineApplication();
- OnlineApplication onlineapplication = ConfigurationDBRead
+ OnlineApplication onlineapplication = configuration.getDbRead()
.getOnlineApplication(oaidentifier);
+
request.getSession().setAttribute(Constants.SESSION_OAID, null);
- try {
- if (MiscUtil.isNotEmpty(onlineapplication.getAuthComponentOA()
- .getOAPVP2().getMetadataURL())) {
-
- MOAIDConfiguration moaconfig = ConfigurationDBRead
- .getMOAIDConfiguration();
- moaconfig.setPvp2RefreshItem(new Date());
- ConfigurationDBUtils.saveOrUpdate(moaconfig);
-
- }
- } catch (NullPointerException e) {
- log.debug("Found no MetadataURL in OA-Databaseconfig");
-
- } catch (Throwable e) {
- log.info("Set metadata refresh flag FAILED.", e);
- }
-
- if (ConfigurationDBUtils.delete(onlineapplication)) {
+// try {
+// if (MiscUtil.isNotEmpty(onlineapplication.getAuthComponentOA()
+// .getOAPVP2().getMetadataURL())) {
+//
+// MOAIDConfiguration moaconfig = configuration.getDbRead()
+// .getMOAIDConfiguration();
+// moaconfig.setPvp2RefreshItem(new Date());
+// ConfigurationDBUtils.saveOrUpdate(moaconfig);
+//
+// }
+// } catch (NullPointerException e) {
+// log.debug("Found no MetadataURL in OA-Databaseconfig");
+//
+// } catch (Throwable e) {
+// log.info("Set metadata refresh flag FAILED.", e);
+// }
+
+ if (onlineapplication != null && delete(onlineapplication)) {
if (!authUser.isAdmin()) {
- UserDatabase user = ConfigurationDBRead.getUserWithID(authUser
+ UserDatabase user = configuration.getUserManagement().getUserWithID(authUser
.getUserID());
- List<OnlineApplication> useroas = user.getOnlineApplication();
+ List<String> useroas = user.getOnlineApplication();
- for (OnlineApplicationType oa : useroas) {
- if (oa.getHjid().equals(onlineapplication.getHjid())) {
+ for (String oa : useroas) {
+ if (oa.equals(onlineapplication.getHjid())) {
useroas.remove(oa);
}
}
try {
- ConfigurationDBUtils.saveOrUpdate(user);
+ configuration.getUserManagement().saveOrUpdate(user);
} catch (MOADatabaseException e) {
log.warn("User information can not be updated in database",
@@ -378,15 +378,12 @@ public class EditOAAction extends BasicOAAction {
}
}
- ConfigurationDBUtils.closeSession();
-
addActionMessage(LanguageHelper.getGUIString(
"webpages.oaconfig.delete.message", oaidentifier, request));
return Constants.STRUTS_SUCCESS;
} else {
- ConfigurationDBUtils.closeSession();
addActionError(LanguageHelper.getGUIString(
"webpages.oaconfig.delete.error", oaidentifier, request));
return Constants.STRUTS_SUCCESS;
@@ -400,7 +397,6 @@ public class EditOAAction extends BasicOAAction {
return e.getStrutsReturnValue();
} finally {
- ConfigurationDBUtils.closeSession();
}
@@ -439,6 +435,16 @@ public class EditOAAction extends BasicOAAction {
formList.put(storkOA.getName(), storkOA);
}
+
+ public OARevisionsLogData getRevisionsLogOA() {
+ return (OARevisionsLogData) formList.get(new OARevisionsLogData().getName());
+ }
+
+ public void setRevisionsLogOA(OARevisionsLogData storkOA) {
+ formList.put(storkOA.getName(), storkOA);
+ }
+
+
/**
* @return the nextPage
*/
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java
index 256f101fe..a2c5da247 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java
@@ -22,40 +22,38 @@
*******************************************************************************/
package at.gv.egovernment.moa.id.configuration.struts.action;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.Enumeration;
import java.util.List;
+import java.util.Properties;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
-import org.apache.commons.io.IOUtils;
import org.apache.log4j.Logger;
-import org.apache.struts2.interceptor.ServletRequestAware;
-import org.apache.struts2.interceptor.ServletResponseAware;
+import org.springframework.beans.BeansException;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-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.egiz.components.configuration.api.Configuration;
+import at.gv.egovernment.moa.id.commons.config.ConfigurationUtil;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
-import at.gv.egovernment.moa.id.config.ConfigurationException;
-import at.gv.egovernment.moa.id.config.legacy.BuildFromLegacyConfig;
+import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.Constants;
-import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
import at.gv.egovernment.moa.id.configuration.exception.BasicActionException;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
import at.gv.egovernment.moa.id.util.Random;
+import at.gv.egovernment.moa.util.MiscUtil;
-import com.opensymphony.xwork2.ActionSupport;
+import com.fasterxml.jackson.core.JsonProcessingException;
public class ImportExportAction extends BasicAction {
@@ -92,7 +90,7 @@ public class ImportExportAction extends BasicAction {
}
}
- public String importLegacyConfig() {
+ public String importLegacyConfig() throws ConfigurationException {
try {
populateBasicInformations();
@@ -128,67 +126,94 @@ public class ImportExportAction extends BasicAction {
return Constants.STRUTS_ERROR_VALIDATION;
}
- try {
-
- MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
-
- MOAIDConfiguration moaconfig;
+ Properties result = null;
+
try {
log.warn("WARNING! The legacy import deletes the hole old config");
- String rootConfigFileDir = ConfigurationProvider.getInstance().getConfigRootDir();
-
- moaconfig = BuildFromLegacyConfig.build(fileUpload, rootConfigFileDir, moaidconfig);
-
- } catch (ConfigurationException e) {
+ InputStream inStream = new FileInputStream(fileUpload);
+ // get config from xml file
+ JAXBContext jc = JAXBContext.newInstance("at.gv.egovernment.moa.id.commons.db.dao.config.deprecated");
+ Unmarshaller m = jc.createUnmarshaller();
+ MOAIDConfiguration config = (MOAIDConfiguration) m.unmarshal(inStream);
+
+ // serialize config to JSON properties
+ result = ConfigurationUtil.moaIdConfigToJsonProperties(config);
+
+ if (result == null || result.isEmpty()) {
+ log.info("Legacy configuration has is empty");
+ addActionError(LanguageHelper.getErrorString("errors.importexport.legacyimport", new Object[] {"Empty Configuratiobn"}, request));
+
+ formID = Random.nextRandom();
+ session.setAttribute(Constants.SESSION_FORMID, formID);
+ return Constants.STRUTS_ERROR_VALIDATION;
+
+ }
+
+ } catch (JsonProcessingException | JAXBException | FileNotFoundException e) {
log.info("Legacy configuration has an Import Error", e);
addActionError(LanguageHelper.getErrorString("errors.importexport.legacyimport", new Object[] {e.getMessage()}, request));
- ConfigurationDBUtils.closeSession();
-
+
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
return Constants.STRUTS_ERROR_VALIDATION;
- } catch (at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException e) {
- ConfigurationDBUtils.closeSession();
+ }
+
+ try {
+ //check if XML config should be use
+ log.warn("WARNING! MOA-ID 2.0 is started with XML configuration. This setup overstrike the actual configuration in the Database!");
+
+ Configuration dbConfiguration =
+ (Configuration) ConfigurationProvider.getInstance().getContext().getBean("moaidconfig");
+
+ if (dbConfiguration == null) {
+ log.warn("Open Database connection FAILED.");
+ addActionError("Open Database connection FAILED.");
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
return Constants.STRUTS_ERROR_VALIDATION;
+
}
- //check if XML config should be use
- log.warn("WARNING! MOA-ID 2.0 is started with XML configuration. This setup overstrike the actual configuration in the Database!");
-
-
- if (moaidconfig != null)
- ConfigurationDBUtils.delete(moaidconfig);
+ boolean isOverwriteData = true;
- List<OnlineApplication> oas = ConfigurationDBRead.getAllOnlineApplications();
- if (oas != null && oas.size() > 0) {
- for (OnlineApplication oa : oas)
- ConfigurationDBUtils.delete(oa);
+ List<String> keys = Arrays.asList(dbConfiguration.getConfigurationIds());
+
+ if (keys == null) {
+ log.info("Configuration is not readable.");
+ throw new MOADatabaseException("Configuration is not readable.");
}
-
-
- oas = moaconfig.getOnlineApplication();
- for (OnlineApplication oa : oas)
- ConfigurationDBUtils.save(oa);
- moaconfig.setOnlineApplication(null);
- ConfigurationDBUtils.save(moaconfig);
-
- } catch (MOADatabaseException e) {
- log.warn("General MOA-ID config can not be stored in Database");
- addActionError(e.getMessage());
+ if (isOverwriteData) {
+ // remove existing entries
+ for (String key : keys) {
+ dbConfiguration.deleteIds(key);
+ }
+ }
+
+ Enumeration<?> propertyNames = result.propertyNames();
+
+ while (propertyNames.hasMoreElements()) {
+ String key = (String) propertyNames.nextElement();
+ String json = result.getProperty(key);
+
+ dbConfiguration.setStringValue(key, json);
+ }
+
+ } catch (ConfigurationException | MOADatabaseException | at.gv.egiz.components.configuration.api.ConfigurationException e1) {
+ log.warn("General MOA-ID config can not be stored in Database", e1);
+ addActionError(e1.getMessage());
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
- return Constants.STRUTS_ERROR_VALIDATION;
+ return Constants.STRUTS_ERROR_VALIDATION;
+
}
finally {
- ConfigurationDBUtils.closeSession();
+
}
//set new formID
@@ -232,45 +257,61 @@ public class ImportExportAction extends BasicAction {
if (authUser.isAdmin()) {
- log.info("Write MOA-ID 2.x xml config");
- JAXBContext jc;
+ log.info("Write MOA-ID 3.x config");
try {
- jc = JAXBContext.newInstance("at.gv.egovernment.moa.id.commons.db.dao.config");
-
- Marshaller m = jc.createMarshaller();
- m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
-// File test = new File(xmlconfigout);
-// m.marshal(moaidconfig, test);
- MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
- if (moaidconfig == null) {
- log.info("No MOA-ID 2.x configruation available");
- addActionError(LanguageHelper.getErrorString("errors.importexport.export.noconfig", request));
+ Configuration dbConfiguration =
+ (Configuration) ConfigurationProvider.getInstance().getContext().getBean("moaidconfig");
+
+ if (dbConfiguration == null) {
+ log.warn("Open Database connection FAILED.");
+ addActionError("Open Database connection FAILED.");
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
return Constants.STRUTS_ERROR_VALIDATION;
+
+ }
+
+ Properties result = new Properties();
+ String[] allConfigIDs = dbConfiguration.getConfigurationIds();
+ for (String key : allConfigIDs) {
+ String value = dbConfiguration.getStringValue(key);
+ if (MiscUtil.isNotEmpty(value)) {
+ result.put(key, value);
+ log.debug("Put key: " + key + " with value: " + value + " to property file.");
+
+ } else
+ log.info("Leave key: " + key + " Reason: Value is null or empty");
+
}
- List<OnlineApplication> oaconfigs = ConfigurationDBRead.getAllOnlineApplications();
- moaidconfig.setOnlineApplication(oaconfigs);
- StringWriter writer = new StringWriter();
- m.marshal(moaidconfig, writer);
- fileInputStream = IOUtils.toInputStream(writer.toString(), "UTF-8");
+ if (result.isEmpty()) {
+ log.info("No MOA-ID 3.x configruation available");
+ addActionError(LanguageHelper.getErrorString("errors.importexport.export.noconfig", request));
+
+ formID = Random.nextRandom();
+ session.setAttribute(Constants.SESSION_FORMID, formID);
+ return Constants.STRUTS_ERROR_VALIDATION;
+ }
- } catch (JAXBException e) {
- log.info("MOA-ID 2.x configruation could not be exported into a XML file.", e);
+ ByteArrayOutputStream output = new ByteArrayOutputStream();
+ result.store(output, null);
+ fileInputStream = new ByteArrayInputStream(output.toByteArray());
+
+ } catch (IOException | at.gv.egiz.components.configuration.api.ConfigurationException e) {
+ log.info("MOA-ID 3.x configruation could not be exported into file.", e);
addActionError(LanguageHelper.getErrorString("errors.importexport.export",
new Object[]{e.getMessage()}, request));
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
return Constants.STRUTS_ERROR_VALIDATION;
- } catch (IOException e) {
- log.info("MOA-ID 2.x configruation could not be exported into a XML file.", e);
- addActionError(LanguageHelper.getErrorString("errors.importexport.export",
- new Object[]{e.getMessage()}, request));
+
+ } catch (ConfigurationException | BeansException e) {
+ log.warn("Open Database connection FAILED.");
+ addActionError("Open Database connection FAILED.");
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
@@ -278,7 +319,7 @@ public class ImportExportAction extends BasicAction {
}
finally {
- ConfigurationDBUtils.closeSession();
+
}
@@ -331,32 +372,54 @@ public class ImportExportAction extends BasicAction {
return Constants.STRUTS_ERROR_VALIDATION;
}
- log.info("Load configuration from MOA-ID 2.x XML configuration");
+ log.info("Load configuration from MOA-ID 3.x XML configuration");
try {
- JAXBContext jc = JAXBContext.newInstance("at.gv.egovernment.moa.id.commons.db.dao.config");
- Unmarshaller m = jc.createUnmarshaller();
- MOAIDConfiguration moaconfig = (MOAIDConfiguration) m.unmarshal(fileUpload);
-
- log.warn("WARNING! The XML import deletes the hole old config");
- List<OnlineApplication> oas = ConfigurationDBRead.getAllOnlineApplications();
- if (oas != null && oas.size() > 0) {
- for (OnlineApplication oa : oas)
- ConfigurationDBUtils.delete(oa);
- }
- MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
- if (moaidconfig != null)
- ConfigurationDBUtils.delete(moaidconfig);
+ Properties inProperties = new Properties();
+ inProperties.load(new FileInputStream(fileUpload));
+
+ //check if XML config should be use
+ log.warn("WARNING! MOA-ID 2.0 is started with XML configuration. This setup overstrike the actual configuration in the Database!");
- List<OnlineApplication> importoas = moaconfig.getOnlineApplication();
- for (OnlineApplication importoa : importoas) {
- ConfigurationDBUtils.saveOrUpdate(importoa);
+ Configuration dbConfiguration =
+ (Configuration) ConfigurationProvider.getInstance().getContext().getBean("moaidconfig");
+
+ if (dbConfiguration == null) {
+ log.warn("Open Database connection FAILED.");
+ addActionError("Open Database connection FAILED.");
+
+ formID = Random.nextRandom();
+ session.setAttribute(Constants.SESSION_FORMID, formID);
+ return Constants.STRUTS_ERROR_VALIDATION;
+
}
-
- moaconfig.setOnlineApplication(null);
- ConfigurationDBUtils.saveOrUpdate(moaconfig);
-
+
+ boolean isOverwriteData = true;
+
+ List<String> keys = Arrays.asList(dbConfiguration.getConfigurationIds());
+
+ if (keys == null) {
+ log.info("Configuration is not readable.");
+ throw new MOADatabaseException("Configuration is not readable.");
+ }
+
+ if (isOverwriteData) {
+ // remove existing entries
+ for (String key : keys) {
+ dbConfiguration.deleteIds(key);
+ }
+ }
+
+ Enumeration<?> propertyNames = inProperties.propertyNames();
+
+ while (propertyNames.hasMoreElements()) {
+ String key = (String) propertyNames.nextElement();
+ String json = inProperties.getProperty(key);
+
+ dbConfiguration.setStringValue(key, json);
+ }
+
} catch (Exception e) {
log.warn("MOA-ID XML configuration can not be loaded from File.", e);
addActionError(LanguageHelper.getErrorString("errors.importexport.import",
@@ -369,7 +432,7 @@ public class ImportExportAction extends BasicAction {
}
finally {
- ConfigurationDBUtils.closeSession();
+
}
//set new formID
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
index 1ec0f4668..040931b42 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
@@ -77,9 +77,7 @@ import org.opensaml.xml.security.x509.X509Credential;
import org.opensaml.xml.signature.Signature;
import org.opensaml.xml.signature.impl.ExplicitKeySignatureTrustEngine;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
@@ -187,7 +185,7 @@ public class IndexAction extends BasicAction {
}
- UserDatabase dbuser = ConfigurationDBRead.getUserWithUserName(username);
+ UserDatabase dbuser = configuration.getUserManagement().getUserWithUserName(username);
if (dbuser == null) {
log.warn("Unknown Username");
addActionError(LanguageHelper.getErrorString("webpages.index.login.notallowed", request));
@@ -238,7 +236,7 @@ public class IndexAction extends BasicAction {
dbuser.setLastLogin(DateTimeHelper.getDateTime(new Date()));
try {
- ConfigurationDBUtils.saveOrUpdate(dbuser);
+ configuration.getUserManagement().saveOrUpdate(dbuser);
} catch (MOADatabaseException e) {
log.warn("UserDatabase communicaton error", e);
@@ -246,7 +244,6 @@ public class IndexAction extends BasicAction {
return Constants.STRUTS_ERROR;
}
finally {
- ConfigurationDBUtils.closeSession();
}
HttpSession session = generateNewJSession(request);
@@ -400,7 +397,7 @@ public class IndexAction extends BasicAction {
(sessionTimeOut * Constants.ONE_MINUTE_IN_MILLIS));
//search user
- UserDatabase dbuser = ConfigurationDBRead.getUserWithUserBPKWBPK(bpkwbpk);
+ UserDatabase dbuser = configuration.getUserManagement().getUserWithUserBPKWBPK(bpkwbpk);
if (dbuser == null) {
log.info("No user found with bpk/wbpk " + bpkwbpk);
@@ -456,7 +453,6 @@ public class IndexAction extends BasicAction {
session.setAttribute(Constants.SESSION_FORM, user);
session.setAttribute(Constants.SESSION_AUTH, authUser);
- ConfigurationDBUtils.closeSession();
return Constants.STRUTS_NEWUSER;
@@ -516,7 +512,7 @@ public class IndexAction extends BasicAction {
dbuser.setLastLogin(DateTimeHelper.getDateTime(new Date()));
try {
- ConfigurationDBUtils.saveOrUpdate(dbuser);
+ configuration.getUserManagement().saveOrUpdate(dbuser);
} catch (MOADatabaseException e) {
log.warn("UserDatabase communicaton error", e);
@@ -524,7 +520,6 @@ public class IndexAction extends BasicAction {
return Constants.STRUTS_ERROR;
}
finally {
- ConfigurationDBUtils.closeSession();
}
HttpSession newsession = generateNewJSession(request);
@@ -693,7 +688,7 @@ public class IndexAction extends BasicAction {
dbuser.setIsUsernamePasswordAllowed(false);
} else
- dbuser = ConfigurationDBRead.getUserWithID(userID);
+ dbuser = configuration.getUserManagement().getUserWithID(userID);
dbuser.setMail(user.getMail());
dbuser.setPhone(user.getPhone());
@@ -702,7 +697,7 @@ public class IndexAction extends BasicAction {
dbuser.setUserRequestTokken(Random.nextRandom());
try {
- ConfigurationDBUtils.saveOrUpdate(dbuser);
+ configuration.getUserManagement().saveOrUpdate(dbuser);
MailHelper.sendUserMailAddressVerification(dbuser);
@@ -719,7 +714,6 @@ public class IndexAction extends BasicAction {
finally {
session.setAttribute(Constants.SESSION_FORM, null);
session.setAttribute(Constants.SESSION_AUTH, null);
- ConfigurationDBUtils.closeSession();
}
addActionMessage(LanguageHelper.getGUIString("webpages.edituser.changemailaddress.verify", request));
@@ -758,7 +752,7 @@ public class IndexAction extends BasicAction {
return Constants.STRUTS_ERROR;
}
- UserDatabase dbuser = ConfigurationDBRead.getNewUserWithTokken(userrequesttokken);
+ UserDatabase dbuser = configuration.getUserManagement().getNewUserWithTokken(userrequesttokken);
if (dbuser != null) {
dbuser.setUserRequestTokken(null);
dbuser.setIsMailAddressVerified(true);
@@ -767,16 +761,16 @@ public class IndexAction extends BasicAction {
dbuser.setIsAdminRequest(false);
try {
- ConfigurationDBUtils.saveOrUpdate(dbuser);
+ configuration.getUserManagement().saveOrUpdate(dbuser);
int numoas = 0;
int numusers = 0;
- List<OnlineApplication> openOAs = ConfigurationDBRead.getAllNewOnlineApplications();
+ List<OnlineApplication> openOAs = configuration.getDbRead().getAllNewOnlineApplications();
if (openOAs != null)
numoas = openOAs.size();
- List<UserDatabase> openUsers = ConfigurationDBRead.getAllNewUsers();
+ List<UserDatabase> openUsers = configuration.getUserManagement().getAllNewUsers();
if (openUsers != null)
numusers = openUsers.size();
@@ -792,7 +786,6 @@ public class IndexAction extends BasicAction {
}
finally {
- ConfigurationDBUtils.closeSession();
}
addActionMessage(LanguageHelper.getGUIString("validation.newuser.mailaddress", request));
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java
index eead280be..8be24edb4 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java
@@ -28,12 +28,10 @@ import java.util.List;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AttributeProviderPlugin;
-import at.gv.egovernment.moa.id.commons.db.dao.config.IdentificationNumber;
-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.deprecated.AttributeProviderPlugin;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.IdentificationNumber;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
@@ -80,7 +78,7 @@ public class InterfederationIDPAction extends BasicOAAction {
populateBasicInformations();
if (authUser.isAdmin()) {
- List<OnlineApplication> dbOAs = ConfigurationDBRead.getAllOnlineApplications();
+ List<OnlineApplication> dbOAs = configuration.getDbRead().getAllOnlineApplications();
if (dbOAs == null || dbOAs.size() == 0) {
addActionError(LanguageHelper.getErrorString("errors.listOAs.noOA", request));
@@ -104,7 +102,6 @@ public class InterfederationIDPAction extends BasicOAAction {
return Constants.STRUTS_ERROR;
} finally {
- ConfigurationDBUtils.closeSession();
}
}
@@ -147,7 +144,6 @@ public class InterfederationIDPAction extends BasicOAAction {
return Constants.STRUTS_ERROR;
} finally {
- ConfigurationDBUtils.closeSession();
}
@@ -204,7 +200,6 @@ public class InterfederationIDPAction extends BasicOAAction {
return e.getStrutsReturnValue();
} finally {
- ConfigurationDBUtils.closeSession();
}
}
@@ -281,7 +276,7 @@ public class InterfederationIDPAction extends BasicOAAction {
onlineapplication.setTarget("MOA-IDP");
try {
- ConfigurationDBUtils.saveOrUpdate(onlineapplication);
+ save(onlineapplication);
} catch (MOADatabaseException e) {
log.warn("Online-Application can not be stored.", e);
@@ -292,7 +287,6 @@ public class InterfederationIDPAction extends BasicOAAction {
//remove session attributes
session.setAttribute(Constants.SESSION_OAID, null);
- ConfigurationDBUtils.closeSession();
addActionMessage(LanguageHelper.getGUIString("webpages.idp.success", getGeneralOA().getIdentifier(), request));
return Constants.STRUTS_SUCCESS;
@@ -306,7 +300,6 @@ public class InterfederationIDPAction extends BasicOAAction {
return e.getStrutsReturnValue();
} finally {
- ConfigurationDBUtils.closeSession();
}
}
@@ -323,7 +316,6 @@ public class InterfederationIDPAction extends BasicOAAction {
session.setAttribute(Constants.SESSION_OAID, null);
addActionMessage(LanguageHelper.getGUIString("webpages.idp.cancle", getGeneralOA().getIdentifier(), request));
- ConfigurationDBUtils.closeSession();
return Constants.STRUTS_SUCCESS;
@@ -331,7 +323,6 @@ public class InterfederationIDPAction extends BasicOAAction {
return Constants.STRUTS_ERROR;
} finally {
- ConfigurationDBUtils.closeSession();
}
}
@@ -350,21 +341,21 @@ public class InterfederationIDPAction extends BasicOAAction {
oaidentifier = preProcessDeleteOnlineApplication();
session.setAttribute(Constants.SESSION_OAID, null);
- OnlineApplication onlineapplication = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+ OnlineApplication onlineapplication = configuration.getDbRead().getOnlineApplication(oaidentifier);
- try {
- if (onlineapplication.getAuthComponentOA().getOAPVP2() != null &&
- MiscUtil.isNotEmpty(onlineapplication.getAuthComponentOA().getOAPVP2().getMetadataURL())) {
- MOAIDConfiguration moaconfig = ConfigurationDBRead.getMOAIDConfiguration();
- moaconfig.setPvp2RefreshItem(new Date());
- ConfigurationDBUtils.saveOrUpdate(moaconfig);
+// try {
+// if (onlineapplication.getAuthComponentOA().getOAPVP2() != null &&
+// MiscUtil.isNotEmpty(onlineapplication.getAuthComponentOA().getOAPVP2().getMetadataURL())) {
+// MOAIDConfiguration moaconfig = configuration.getDbRead().getMOAIDConfiguration();
+// moaconfig.setPvp2RefreshItem(new Date());
+// ConfigurationDBUtils.saveOrUpdate(moaconfig);
+//
+// }
+// } catch (Throwable e) {
+// log.info("Found no MetadataURL in OA-Databaseconfig!", e);
+// }
- }
- } catch (Throwable e) {
- log.info("Found no MetadataURL in OA-Databaseconfig!", e);
- }
-
- if (ConfigurationDBUtils.delete(onlineapplication)) {
+ if (delete(onlineapplication)) {
addActionMessage(LanguageHelper.getGUIString("webpages.oaconfig.delete.message", oaidentifier, request));
return Constants.STRUTS_SUCCESS;
@@ -381,7 +372,6 @@ public class InterfederationIDPAction extends BasicOAAction {
return e.getStrutsReturnValue();
} finally {
- ConfigurationDBUtils.closeSession();
}
@@ -404,7 +394,6 @@ public class InterfederationIDPAction extends BasicOAAction {
setNewOA(false);
- ConfigurationDBUtils.closeSession();
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
index 37727c0f0..c6b0965fe 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
@@ -35,9 +35,7 @@ import org.apache.struts2.interceptor.ServletResponseAware;
import com.opensymphony.xwork2.ActionSupport;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
@@ -75,13 +73,17 @@ public class ListOAsAction extends BasicAction {
List<OnlineApplication> dbOAs = null;
if (authUser.isAdmin()) {
- dbOAs = ConfigurationDBRead.getAllOnlineApplications();
+ dbOAs = configuration.getDbRead().getAllOnlineApplications();
} else {
- UserDatabase authUserDB = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ UserDatabase authUserDB = configuration.getUserManagement().getUserWithID(authUser.getUserID());
- if (authUserDB != null)
- dbOAs = authUserDB.getOnlineApplication();
+ if (authUserDB != null) {
+ for (String el : authUserDB.getOnlineApplication()) {
+ dbOAs.add(configuration.getDbRead().getOnlineApplication(Long.valueOf(el)));
+
+ }
+ }
}
if (dbOAs == null || dbOAs.size() == 0) {
@@ -94,7 +96,6 @@ public class ListOAsAction extends BasicAction {
session.setAttribute(Constants.SESSION_RETURNAREA,
Constants.STRUTS_RETURNAREA_VALUES.main.name());
- ConfigurationDBUtils.closeSession();
return Constants.STRUTS_SUCCESS;
}
@@ -142,19 +143,21 @@ public class ListOAsAction extends BasicAction {
List<OnlineApplication> dbOAs = null;
if (authUser.isAdmin()) {
- dbOAs = ConfigurationDBRead.searchOnlineApplications(friendlyname);
+ dbOAs = configuration.getDbRead().searchOnlineApplications(friendlyname);
} else {
- UserDatabase authUserDB = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ UserDatabase authUserDB = configuration.getUserManagement().getUserWithID(authUser.getUserID());
if (authUserDB != null) {
- List<OnlineApplication> alldbOAs = authUserDB.getOnlineApplication();
+ List<String> alldbOAs = authUserDB.getOnlineApplication();
dbOAs = new ArrayList<OnlineApplication>();
- for (OnlineApplication el : alldbOAs) {
- if (el.getPublicURLPrefix()
+ for (String el : alldbOAs) {
+ OnlineApplication oa = configuration.getDbRead().getOnlineApplication(Long.valueOf(el));
+
+ if (oa.getPublicURLPrefix()
.toLowerCase().indexOf(friendlyname.toLowerCase()) > -1)
- dbOAs.add(el);
+ dbOAs.add(oa);
}
}
}
@@ -168,7 +171,6 @@ public class ListOAsAction extends BasicAction {
}
- ConfigurationDBUtils.closeSession();
return Constants.STRUTS_SUCCESS;
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/OpenAdminRequestsAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/OpenAdminRequestsAction.java
index 283b3604a..26d4e13ab 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/OpenAdminRequestsAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/OpenAdminRequestsAction.java
@@ -32,8 +32,7 @@ import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
@@ -65,12 +64,12 @@ public class OpenAdminRequestsAction extends BasicAction {
if (authUser.isAdmin()) {
- List<OnlineApplication> dbOAs = ConfigurationDBRead.getAllNewOnlineApplications();
+ List<OnlineApplication> dbOAs = configuration.getDbRead().getAllNewOnlineApplications();
if (dbOAs != null) {
formOAs = FormDataHelper.populateFormWithOAs(dbOAs);
}
- List<UserDatabase> dbUsers = ConfigurationDBRead.getAllNewUsers();
+ List<UserDatabase> dbUsers = configuration.getUserManagement().getAllNewUsers();
if (dbUsers != null){
userlist = FormDataHelper.addFormUsers(dbUsers);
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/UserManagementAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/UserManagementAction.java
index 3cc3b9969..8be134442 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/UserManagementAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/UserManagementAction.java
@@ -34,8 +34,6 @@ import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
@@ -89,7 +87,7 @@ public class UserManagementAction extends BasicAction {
log.info("Show UserList");
- List<UserDatabase> dbuserlist = ConfigurationDBRead.getAllUsers();
+ List<UserDatabase> dbuserlist = configuration.getUserManagement().getAllUsers();
if (dbuserlist != null) {
userlist = FormDataHelper.addFormUsers(dbuserlist);
@@ -98,17 +96,15 @@ public class UserManagementAction extends BasicAction {
session.setAttribute(Constants.SESSION_RETURNAREA,
Constants.STRUTS_RETURNAREA_VALUES.usermanagementInit.name());
- ConfigurationDBUtils.closeSession();
return Constants.STRUTS_SUCCESS;
} else {
log.info("User with ID " + authUser.getUserID() + " is not admin. Show only EditUser Frame");
- UserDatabase dbuser = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ UserDatabase dbuser = configuration.getUserManagement().getUserWithID(authUser.getUserID());
if (dbuser == null) {
return Constants.STRUTS_REAUTHENTICATE;
}
user = new UserDatabaseFrom(dbuser);
- ConfigurationDBUtils.closeSession();
session.setAttribute(Constants.SESSION_RETURNAREA,
Constants.STRUTS_RETURNAREA_VALUES.main.name());
@@ -176,7 +172,7 @@ public class UserManagementAction extends BasicAction {
}
userid = Long.valueOf(useridobj);
- UserDatabase dbuser = ConfigurationDBRead.getUserWithID(userid);
+ UserDatabase dbuser = configuration.getUserManagement().getUserWithID(userid);
if (dbuser == null) {
log.info("No User with ID " + userid + " in Database");;
addActionError(LanguageHelper.getErrorString("errors.edit.user.userid", request));
@@ -185,14 +181,12 @@ public class UserManagementAction extends BasicAction {
user = new UserDatabaseFrom(dbuser);
newUser = false;
-
- ConfigurationDBUtils.closeSession();
-
+
return Constants.STRUTS_SUCCESS;
} else {
log.info("User with ID " + authUser.getUserID() + " is not admin. Show his own EditUser Frame");
- UserDatabase dbuser = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ UserDatabase dbuser = configuration.getUserManagement().getUserWithID(authUser.getUserID());
user = new UserDatabaseFrom(dbuser);
return Constants.STRUTS_SUCCESS;
}
@@ -237,7 +231,7 @@ public class UserManagementAction extends BasicAction {
userID = Long.valueOf(useridobj);
}
- UserDatabase dbuser = ConfigurationDBRead.getUserWithID(userID);
+ UserDatabase dbuser = configuration.getUserManagement().getUserWithID(userID);
if( dbuser == null) {
dbuser = new UserDatabase();
@@ -340,7 +334,6 @@ public class UserManagementAction extends BasicAction {
return Constants.STRUTS_SUCCESS;
}
- ConfigurationDBUtils.closeSession();
return Constants.STRUTS_SUCCESS;
}
@@ -402,20 +395,19 @@ public class UserManagementAction extends BasicAction {
nextPage = Constants.STRUTS_RETURNAREA_VALUES.usermanagementInit.name();
}
- UserDatabase dbuser = ConfigurationDBRead.getUserWithID(userID);
+ UserDatabase dbuser = configuration.getUserManagement().getUserWithID(userID);
if (dbuser != null) {
- dbuser.setOnlineApplication(null);
+ dbuser.setOaIDs(null);
try {
- ConfigurationDBUtils.saveOrUpdate(dbuser);
- ConfigurationDBUtils.delete(dbuser);
+ configuration.getUserManagement().saveOrUpdate(dbuser);
+ configuration.getUserManagement().delete(dbuser);
if (authUser.isAdmin()) {
MailHelper.sendUserAccountRevocationMail(dbuser);
}
- if (dbuser.getHjid() == authUser.getUserID()) {
- ConfigurationDBUtils.closeSession();
+ if (dbuser.getHjid().equals(String.valueOf(authUser.getUserID()))) {
return Constants.STRUTS_REAUTHENTICATE;
}
@@ -431,11 +423,9 @@ public class UserManagementAction extends BasicAction {
}
finally {
- ConfigurationDBUtils.closeSession();
}
}
- ConfigurationDBUtils.closeSession();
return Constants.STRUTS_SUCCESS;
}
@@ -452,14 +442,14 @@ public class UserManagementAction extends BasicAction {
String message = LanguageHelper.getErrorString("error.mail.send", request);
if (authUser != null) {
- UserDatabase dbuser = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ UserDatabase dbuser = configuration.getUserManagement().getUserWithID(authUser.getUserID());
if (dbuser != null) {
dbuser.setIsMailAddressVerified(false);
dbuser.setUserRequestTokken(Random.nextRandom());
try {
- ConfigurationDBUtils.saveOrUpdate(dbuser);
+ configuration.getUserManagement().saveOrUpdate(dbuser);
MailHelper.sendUserMailAddressVerification(dbuser);
@@ -532,7 +522,7 @@ public class UserManagementAction extends BasicAction {
}
try {
- ConfigurationDBUtils.saveOrUpdate(dbuser);
+ configuration.getUserManagement().saveOrUpdate(dbuser);
} catch (MOADatabaseException e) {
log.warn("User information can not be stored in Database.", e);
return LanguageHelper.getErrorString("errors.edit.user.save", request);
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/interceptor/HibernateSessionInterceptor.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/interceptor/HibernateSessionInterceptor.java
index 084d054f7..27f7a4ad0 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/interceptor/HibernateSessionInterceptor.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/interceptor/HibernateSessionInterceptor.java
@@ -1,59 +1,57 @@
-/*
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, 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
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egovernment.moa.id.configuration.struts.interceptor;
-
-import org.apache.log4j.Logger;
-
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
-
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
-
-/**
- * @author tlenz
- *
- */
-public class HibernateSessionInterceptor extends AbstractInterceptor {
-
- private static final long serialVersionUID = 2457987431702749278L;
- private static Logger log = Logger.getLogger(HibernateSessionInterceptor.class);
-
- /* (non-Javadoc)
- * @see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
- */
- @Override
- public String intercept(ActionInvocation arg0) throws Exception {
- log.trace("Hibernate session interceptor starts .... ");
-
- try {
- return arg0.invoke();
-
- } finally {
- log.debug("Hibernate-Session interceptor close active sessions.");
- ConfigurationDBUtils.closeSession();
-
- }
-
- }
-
-}
+///*
+// * Copyright 2014 Federal Chancellery Austria
+// * MOA-ID has been developed in a cooperation between BRZ, the Federal
+// * Chancellery Austria - ICT staff unit, 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
+// * that you distribute must include a readable copy of the "NOTICE" text file.
+// */
+//package at.gv.egovernment.moa.id.configuration.struts.interceptor;
+//
+//import org.apache.log4j.Logger;
+//
+//import com.opensymphony.xwork2.ActionInvocation;
+//import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
+//
+///**
+// * @author tlenz
+// *
+// */
+//public class HibernateSessionInterceptor extends AbstractInterceptor {
+//
+// private static final long serialVersionUID = 2457987431702749278L;
+// private static Logger log = Logger.getLogger(HibernateSessionInterceptor.class);
+//
+// /* (non-Javadoc)
+// * @see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
+// */
+// @Override
+// public String intercept(ActionInvocation arg0) throws Exception {
+// log.trace("Hibernate session interceptor starts .... ");
+//
+// try {
+// return arg0.invoke();
+//
+// } finally {
+// log.debug("Hibernate-Session interceptor close active sessions.");
+// ConfigurationDBUtils.closeSession();
+//
+// }
+//
+// }
+//
+//}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/utils/UserRequestCleaner.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/utils/UserRequestCleaner.java
index 62e01720d..5f55a61d5 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/utils/UserRequestCleaner.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/utils/UserRequestCleaner.java
@@ -28,8 +28,6 @@ import java.util.List;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticationManager;
@@ -49,7 +47,7 @@ public class UserRequestCleaner implements Runnable {
ConfigurationProvider config = ConfigurationProvider.getInstance();
//clean up user request storage
- List<UserDatabase> userrequests = ConfigurationDBRead.getAllOpenUsersRequests();
+ List<UserDatabase> userrequests = config.getUserManagement().getAllOpenUsersRequests();
if (userrequests != null) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, config.getUserRequestCleanUpDelay()*-1);
@@ -60,7 +58,7 @@ public class UserRequestCleaner implements Runnable {
if (requestdate != null && requestdate.after(cleanupdate)) {
log.info("Remove UserRequest from Database");
- ConfigurationDBUtils.delete(dbuser);
+ config.getUserManagement().delete(dbuser);
}
}
@@ -68,7 +66,6 @@ public class UserRequestCleaner implements Runnable {
//clean up active user storage
AuthenticationManager.getInstance().removeAllUsersAfterTimeOut();
- ConfigurationDBUtils.closeSession();
Thread.sleep(SESSION_CLEANUP_INTERVAL * 1000);
@@ -77,10 +74,7 @@ public class UserRequestCleaner implements Runnable {
} catch (InterruptedException e) {
- } finally {
- ConfigurationDBUtils.closeSession();
-
- }
+ }
}
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/UserDatabaseFormValidator.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/UserDatabaseFormValidator.java
index 662694ce7..7b49275b3 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/UserDatabaseFormValidator.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/UserDatabaseFormValidator.java
@@ -29,9 +29,12 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
+import at.gv.egovernment.moa.id.commons.db.NewConfigurationDBRead;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
+import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;
+import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
+import at.gv.egovernment.moa.id.configuration.config.usermanagement.FileBasedUserConfiguration;
import at.gv.egovernment.moa.id.configuration.data.UserDatabaseFrom;
import at.gv.egovernment.moa.id.configuration.helper.AuthenticationHelper;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
@@ -46,6 +49,16 @@ public class UserDatabaseFormValidator {
List<String> errors = new ArrayList<String>();
String check = null;
+ FileBasedUserConfiguration newConfigRead = null;
+ try {
+ newConfigRead = ConfigurationProvider.getInstance().getUserManagement();
+
+ } catch (ConfigurationException e) {
+ log.error("MOA-ID-Configuration initialization FAILED.", e);
+ errors.add("Internal Server Error");
+ return errors;
+
+ }
if (!isPVP2Generated) {
check = form.getGivenName();
@@ -121,8 +134,8 @@ public class UserDatabaseFormValidator {
new Object[] {ValidationHelper.getPotentialCSSCharacter(false)}, request ));
} else {
- UserDatabase dbuser = ConfigurationDBRead.getUserWithUserName(check);
- if (dbuser != null && userID != dbuser.getHjid()) {
+ UserDatabase dbuser = newConfigRead.getUserWithUserName(check);
+ if (dbuser != null && !dbuser.getHjid().equals(String.valueOf(userID ))) {
log.warn("Username " + check + " exists in UserDatabase");
errors.add(LanguageHelper.getErrorString("validation.edituser.username.duplicate", request));
form.setUsername("");
@@ -133,7 +146,7 @@ public class UserDatabaseFormValidator {
log.warn("Username is empty");
errors.add(LanguageHelper.getErrorString("validation.edituser.username.empty", request));
} else {
- UserDatabase dbuser = ConfigurationDBRead.getUserWithID(userID);
+ UserDatabase dbuser = newConfigRead.getUserWithID(userID);
if (dbuser == null) {
log.warn("Username is empty");
errors.add(LanguageHelper.getErrorString("validation.edituser.username.empty", request));
@@ -150,7 +163,7 @@ public class UserDatabaseFormValidator {
log.warn("Password is empty");
errors.add(LanguageHelper.getErrorString("validation.edituser.password.empty", request));
} else {
- UserDatabase dbuser = ConfigurationDBRead.getUserWithID(userID);
+ UserDatabase dbuser = newConfigRead.getUserWithID(userID);
if (dbuser == null || MiscUtil.isEmpty(dbuser.getPassword())) {
log.warn("Password is empty");
errors.add(LanguageHelper.getErrorString("validation.edituser.password.empty", request));
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java
index c64ae35d3..73f5e098f 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java
@@ -136,17 +136,17 @@ public class MOAConfigValidator {
}
}
- check = form.getDefaultchainigmode();
- if (MiscUtil.isEmpty(check)) {
- log.info("Empty Defaultchainigmode");
- errors.add(LanguageHelper.getErrorString("validation.general.Defaultchainigmode.empty", request));
- } else {
- Map<String, String> list = form.getChainigmodelist();
- if (!list.containsKey(check)) {
- log.info("Not valid Defaultchainigmode " + check);
- errors.add(LanguageHelper.getErrorString("validation.general.Defaultchainigmode.valid", request));
- }
- }
+// check = form.getDefaultchainigmode();
+// if (MiscUtil.isEmpty(check)) {
+// log.info("Empty Defaultchainigmode");
+// errors.add(LanguageHelper.getErrorString("validation.general.Defaultchainigmode.empty", request));
+// } else {
+// Map<String, String> list = form.getChainigmodelist();
+// if (!list.containsKey(check)) {
+// log.info("Not valid Defaultchainigmode " + check);
+// errors.add(LanguageHelper.getErrorString("validation.general.Defaultchainigmode.valid", request));
+// }
+// }
check = form.getMandateURL();
if (MiscUtil.isNotEmpty(check)) {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java
index f7d61653d..a042a7931 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java
@@ -7,8 +7,8 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS;
-import at.gv.egovernment.moa.id.commons.db.dao.config.StorkAttribute;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.CPEPS;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.StorkAttribute;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.configuration.data.GeneralStorkConfig;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
@@ -26,8 +26,10 @@ public class StorkConfigValidator {
// check peps list
- if (form.getCpepslist() != null) {
- for(CPEPS current : form.getCpepslist()) {
+// if (form.getCpepslist() != null) {
+// for(CPEPS current : form.getCpepslist()) {
+ if (form.getRawCPEPSList() != null) {
+ for(CPEPS current : form.getRawCPEPSList()) {
// if an existing record got deleted
if(null == current)
continue;
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
index 70413dad7..d850decb4 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
@@ -44,7 +44,6 @@ import org.opensaml.xml.parse.BasicParserPool;
import org.opensaml.xml.security.x509.BasicX509Credential;
import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
-import at.gv.egovernment.moa.id.commons.db.NewConfigurationDBRead;
import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException;
import at.gv.egovernment.moa.id.commons.utils.MOAHttpProtocolSocketFactory;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
@@ -74,12 +73,19 @@ public class OAPVP2ConfigValidation {
byte[] certSerialized = null;
if (form.getFileUpload() != null)
certSerialized = form.getCertificate();
+
else {
- Map<String, String> oa = NewConfigurationDBRead.getOnlineApplicationKeyValueWithId(oaID);
- if (oa != null &&
- MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE))) {
- certSerialized = Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE), false);
- }
+ try {
+ Map<String, String> oa = ConfigurationProvider.getInstance().getDbRead().getOnlineApplicationKeyValueWithId(oaID);
+ if (oa != null &&
+ MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE))) {
+ certSerialized = Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE), false);
+ }
+
+ } catch (ConfigurationException e) {
+ log.error("MOA-ID-Configuration initialization FAILED.", e);
+
+ }
}
String check = form.getMetaDataURL();
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OASTORKConfigValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OASTORKConfigValidation.java
index 60209542b..5c451c06a 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OASTORKConfigValidation.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OASTORKConfigValidation.java
@@ -30,7 +30,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.dao.config.AttributeProviderPlugin;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AttributeProviderPlugin;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.configuration.data.oa.OASTORKConfig;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
index c888a2d77..2575fa104 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties
@@ -1,4 +1,4 @@
-title=MOA-ID 2.x Configuration Tool
+title=MOA-ID 3.x Configuration Tool
config.01=Configfile is not found. ({0})
@@ -19,7 +19,7 @@ error.db.oa.store=Die Konfiguration konnte nicht in der Datenbank gespeichert we
errors.notallowed=Sie besitzen nicht die n\u00F6tigen Rechte um diese Funktion zu benutzen.
errors.importexport.nofile=Es wurde keine Datei angegeben.
errors.importexport.legacyimport=Der Importvorgang der Legacy-Konfiguration wurde mit einem Fehler abgebrochen (Fehler={0}).
-errors.importexport.export=Die MOA-ID 2.x Konfiguration konnte nicht in ein XML File exportiert werden. (Fehler={0})
+errors.importexport.export=Die MOA-ID 3.x Konfiguration konnte nicht in eine Datei exportiert werden. (Fehler={0})
errors.importexport.import=Der Importvorgang der XML Konfiguration wurde mit einem Fehler abgebrochen (Fehler={0}).
errors.importexport.export.noconfig=Die Konfiguration kann nicht exportiert werden da keine MOA-ID Konfiguration vorhanden ist.
errors.edit.user.userid=Es wurde keine g\u00FCtige User ID \u00FCbergeben.
@@ -36,13 +36,13 @@ error.oa.oauth.keyname=Key-Name darf nicht leer sein
error.oa.oauth.keystore=Keystore darf nicht leer sein und muss eine richtige URL sein.
-mail.userrequest.subject=Accountanforderung MOA-ID 2.x Konfigurationstool
+mail.userrequest.subject=Accountanforderung MOA-ID 3.x Konfigurationstool
webpages.slo.error=Der Abmeldevorgang bei allen Online-Applikationen war nicht erfolgreich. Bitte schlie \t\u00DFen Sie aus Sicherheitsgr\u00FCnden ihren Browser.
webpages.slo.success=Sie wurden erfolgreich bei allen Online-Applikationen abgemeldet.
webpages.error.header=Es ist ein Fehler aufgetreten
-webpages.index.header=Willkommen bei der MOA-ID 2.x Konfigurationsapplikation
+webpages.index.header=Willkommen bei der MOA-ID 3.x Konfigurationsapplikation
webpages.index.desciption.head=Um dieses Service nutzen zu k\u00F6nnen m\u00FCssen sie sich einloggen.
webpages.index.login=Anmelden
webpages.index.logout=Abmelden
@@ -54,11 +54,11 @@ webpages.index.password.false=Das Passwort stimmt nicht.
webpages.inportexport.header=Konfiguration Importieren/Exportieren
webpages.inportexport.success=Die Konfiguration konnte erfolgreich importiert werden.
-webpages.inportexport.legacyimport.header=Legacy Konfiguration importieren (MOA-ID < 2.0)
-webpages.inportexport.legacyimport.upload=Legacy Konfiguration
+webpages.inportexport.legacyimport.header=MOA-ID 2.x.x Konfiguration importieren
+webpages.inportexport.legacyimport.upload=2.x.x Konfiguration
webpages.edit.import=Importieren
webpages.edit.export=Exportieren
-webpages.inportexport.import.header=MOA-ID 2.x Konfiguration
+webpages.inportexport.import.header=MOA-ID 3.x Konfiguration
webpages.inportexport.import.upload=Konfiguration importieren
webpages.inportexport.import.download=Konfiguration exportieren
webpages.inportexport.descripten=ACHTUNG\: Die importierte Konfiguration ersetzt eine aktuell vorhandene Konfiguration vollst\u00E4ndig\!
@@ -183,6 +183,10 @@ webpages.searchoa.header=Online-Applikation suchen
webpages.searchoa.search.friendlyname=Name der Online-Applikation
webpages.searchoa.butten.search=Suchen
+webpages.oaconfig.revisionsLog.header=Revisions Logging
+webpages.oaconfig.revisionsLog.active=Aktiv
+webpages.oaconfig.revisionsLog.eventCodes=EventCodes (CSV)
+
webpages.oaconfig.header=Konfiguration der Onlineapplikation
webpages.oaconfig.general.isActive=Online-Applikation ist aktiviert
webpages.oaconfig.general.bku.header=BKU Konfiguration
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
index 43dcfeac8..e017b6dc3 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties
@@ -1,4 +1,4 @@
-title=MOA-ID 2.x Configuration Tool
+title=MOA-ID 3.x Configuration Tool
config.01=Configfile is not found. ({0})
@@ -19,7 +19,7 @@ error.db.oa.store=The configuration could not be saved in the database.
errors.notallowed=You do not posses necessary righs in order to use this function.
errors.importexport.nofile=There is no file provided.
errors.importexport.legacyimport=The Import of the legacy configuration was interrupted due to the error. (Error={0}).
-errors.importexport.export=The MOA-ID 2.x configuration could not be exported to XML file. (Error={0})
+errors.importexport.export=The MOA-ID 3.x configuration could not be exported to file. (Error={0})
errors.importexport.import=The import of XML configuration was interrupted due to the error. (Error={0}).
errors.importexport.export.noconfig=The configuration could not be exported as there is no MOA-ID configuration available.
errors.edit.user.userid=There is no valid user ID provided.
@@ -35,14 +35,14 @@ error.oa.oauth.clientSecret=Client-Secret cannot be blank
error.oa.oauth.keyname=Key-Name cannot be blank
error.oa.oauth.keystore=Keystore cannot be blank and has to be provided in the form of valid URL.
-mail.userrequest.subject=Requesting accounts - MOA-ID 2.x Config Tool
+mail.userrequest.subject=Requesting accounts - MOA-ID 3.x Config Tool
webpages.slo.error=LogOut process finished with an error. For security reasons, please close your browser.
webpages.slo.success=LogOut process finished successful
webpages.error.header=The error occured
-webpages.index.header=Welcome to MOA-ID 2.x Configuration
+webpages.index.header=Welcome to MOA-ID 3.x Configuration
webpages.index.desciption.head=In order to use this service you should log in
webpages.index.login=Login
webpages.index.logout=Logout
@@ -54,11 +54,11 @@ webpages.index.password.false=The password is not valid.
webpages.inportexport.header=Import/export configuration
webpages.inportexport.success=The configuration was imported successfully
-webpages.inportexport.legacyimport.header=Import legacy configuration (MOA-ID < 2.0)
-webpages.inportexport.legacyimport.upload=Legacy configuration
+webpages.inportexport.legacyimport.header=Import MOA-ID 2.x.x configuration
+webpages.inportexport.legacyimport.upload=2.x.x configuration
webpages.edit.import=Import
webpages.edit.export=Export
-webpages.inportexport.import.header=MOA-ID 2.x configuration
+webpages.inportexport.import.header=MOA-ID 3.x configuration
webpages.inportexport.import.upload=Import configuration
webpages.inportexport.import.download=Export configuration
webpages.inportexport.descripten=WARNING\: The imported configuration will completely replace currently active configuration\!
@@ -198,6 +198,10 @@ webpages.oaconfig.general.testing.header=Test Credentials
webpages.oaconfig.general.testing.usetesting=Allow test credentials
webpages.oaconfig.general.testing.oids=Use special test credential OIDs
+webpages.oaconfig.revisionsLog.header=Revisions Logging
+webpages.oaconfig.revisionsLog.active=Activ
+webpages.oaconfig.revisionsLog.eventCodes=EventCodes (CSV)
+
webpages.oaconfig.general.bku.delete=Remove
webpages.oaconfig.general.bku.bkuselection.header=CCE-Selection Template
webpages.oaconfig.general.bku.bkuselection.filename=Filename
diff --git a/id/ConfigWebTool/src/main/resources/moaid.configurationtool.beans.xml b/id/ConfigWebTool/src/main/resources/moaid.configurationtool.beans.xml
new file mode 100644
index 000000000..a9859752e
--- /dev/null
+++ b/id/ConfigWebTool/src/main/resources/moaid.configurationtool.beans.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns:aop="http://www.springframework.org/schema/aop"
+ xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
+ http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
+
+ <bean id="NewConfigurationDBRead" class="at.gv.egovernment.moa.id.commons.db.NewConfigurationDBRead">
+
+ </bean>
+
+ <bean id="userManagement" class="at.gv.egovernment.moa.id.configuration.config.usermanagement.FileBasedUserConfiguration">
+
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/id/ConfigWebTool/src/main/resources/struts.xml b/id/ConfigWebTool/src/main/resources/struts.xml
index 39c38ae43..701cc99a3 100644
--- a/id/ConfigWebTool/src/main/resources/struts.xml
+++ b/id/ConfigWebTool/src/main/resources/struts.xml
@@ -16,10 +16,10 @@
<interceptors>
- <interceptor name="HibernateSessionInterceptor" class="at.gv.egovernment.moa.id.configuration.struts.interceptor.HibernateSessionInterceptor"/>
+ <!-- <interceptor name="HibernateSessionInterceptor" class="at.gv.egovernment.moa.id.configuration.struts.interceptor.HibernateSessionInterceptor"/> -->
<interceptor-stack name="OwnStack">
- <interceptor-ref name="HibernateSessionInterceptor" />
+ <!-- <interceptor-ref name="HibernateSessionInterceptor" /> -->
<interceptor-ref name="params">
<param
name="excludeParams">^class\..*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^method:.*</param>
@@ -88,10 +88,10 @@
<package name="secure" namespace="/secure" extends="struts-default">
<interceptors>
- <interceptor name="HibernateSessionInterceptor" class="at.gv.egovernment.moa.id.configuration.struts.interceptor.HibernateSessionInterceptor"/>
+ <!-- <interceptor name="HibernateSessionInterceptor" class="at.gv.egovernment.moa.id.configuration.struts.interceptor.HibernateSessionInterceptor"/> -->
<interceptor-stack name="OwnStack">
- <interceptor-ref name="HibernateSessionInterceptor" />
+ <!-- <interceptor-ref name="HibernateSessionInterceptor" /> -->
<interceptor-ref name="params">
<param
name="excludeParams">^class\..*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^method:.*</param>
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp b/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp
index 1aeda519f..03f8a6b50 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp
@@ -116,14 +116,6 @@
cssClass="textfield_long">
</s:textfield>
- <s:radio list="moaconfig.chainigmodelist"
- name="moaconfig.defaultchainigmode"
- value="%{moaconfig.defaultchainigmode}"
- labelposition="left"
- key="webpages.moaconfig.certificates.chainingmode"
- cssClass="radio">
- </s:radio>
-
</div>
<div class="oa_config_block">
@@ -187,12 +179,12 @@
cssClass="textfield_long">
</s:textfield>
- <s:textfield name="moaconfig.moaspssURL"
+<%-- <s:textfield name="moaconfig.moaspssURL"
value="%{moaconfig.moaspssURL}"
labelposition="left"
key="webpages.moaconfig.moasp.url"
cssClass="textfield_long">
- </s:textfield>
+ </s:textfield> --%>
</div>
@@ -248,14 +240,16 @@
key="webpages.moaconfig.stork.qaa.default"
labelposition="left" />
<h4><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.pepslist", request) %></h4>
- <table id="stork_pepslist">
- <tr><th>Country Shortcode</th><th>PEPS URL</th><th>Supports XMLSignatures</th>
+ <table id="stork_pepslist">
+ <tr><th>Country Shortcode</th><th>PEPS URL</th><th>Supports XMLSignatures</th></tr>
<s:iterator value="storkconfig.cpepslist" status="stat">
- <tr><td><s:hidden name="storkconfig.cpepslist[%{#stat.index}].hjid" property="%{hjid}"/>
- <s:property value="%{countryCode}" /></td>
- <td><s:textfield name="storkconfig.cpepslist[%{#stat.index}].URL" value="%{URL}" cssClass="textfield_long"/></td>
- <td><s:checkbox name="storkconfig.cpepslist[%{#stat.index}].supportsXMLSignature" value="%{supportsXMLSignature}" /></td>
- <td><input type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.removepeps", request) %>" onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);'/></td></tr>
+ <tr>
+ <td style="display:none;"><s:textfield name="storkconfig.cpepslist[%{#stat.index}].hjid" value="%{hjid}" cssStyle="display:none;"/></td>
+ <td><s:property value="%{countryCode}" /></td>
+ <td><s:textfield name="storkconfig.cpepslist[%{#stat.index}].URL" value="%{URL}" cssClass="textfield_long"/></td>
+ <td><s:checkbox name="storkconfig.cpepslist[%{#stat.index}].supportsXMLSignature" value="%{supportsXMLSignature}" /></td>
+ <td><input type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.removepeps", request) %>" onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);'/></td>
+ </tr>
</s:iterator>
<s:if test="%{storkconfig.cpepslist == null || storkconfig.cpepslist.isEmpty}">
<tr><td><s:textfield name="storkconfig.cpepslist[0].countryCode" value="CC" cssClass="textfield_short"/></td>
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
index c56ad4847..c98b400f7 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
@@ -84,6 +84,8 @@
</div>
<s:include value="snippets/OA/formCustomization.jsp"></s:include>
+
+ <s:include value="snippets/OA/revisionslog.jsp"></s:include>
<s:hidden name="formID"
value="%{formID}"></s:hidden>
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/searchOAs.jsp b/id/ConfigWebTool/src/main/webapp/jsp/searchOAs.jsp
index 38dee8c70..a2617a0e9 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/searchOAs.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/searchOAs.jsp
@@ -44,7 +44,9 @@
</s:form>
</div>
- <jsp:include page="snippets/oas_list.jsp"></jsp:include>
+ <s:include value="snippets/oas_list.jsp">
+ <s:param name="editAction">loadOA</s:param>
+ </s:include>
</div>
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvp2.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvp2.jsp
index 398e6d110..7e40fc60b 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvp2.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/pvp2.jsp
@@ -6,10 +6,10 @@
<div id="oa_pvp2_area" class="oa_protocol_area ${param.hideBlock}">
<h4><%=LanguageHelper.getGUIString("webpages.oaconfig.protocols.pvp2.header", request) %></h4>
- <s:checkbox key="webpages.oaconfig.pvp2.reload"
+<%-- <s:checkbox key="webpages.oaconfig.pvp2.reload"
labelposition="left"
cssClass="checkbox"
- name="pvp2OA.reLoad"></s:checkbox>
+ name="pvp2OA.reLoad"></s:checkbox> --%>
<s:textfield name="pvp2OA.metaDataURL"
value="%{pvp2OA.metaDataURL}"
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/revisionslog.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/revisionslog.jsp
new file mode 100644
index 000000000..fd6e71642
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/revisionslog.jsp
@@ -0,0 +1,23 @@
+<%@page import="at.gv.egovernment.moa.id.configuration.helper.LanguageHelper"%>
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+
+<html>
+ <div class="oa_config_block">
+ <h3><%=LanguageHelper.getGUIString("webpages.oaconfig.revisionsLog.header", request) %></h3>
+
+ <s:checkbox key="webpages.oaconfig.revisionsLog.active"
+ labelposition="left"
+ cssClass="checkbox"
+ name="revisionsLogOA.active"></s:checkbox>
+
+ <s:textfield name="revisionsLogOA.eventCodes"
+ value="%{revisionsLogOA.eventCodes}"
+ labelposition="left"
+ key="webpages.oaconfig.revisionsLog.eventCodes"
+ cssClass="textfield_long">
+ </s:textfield>
+
+ </div>
+
+</html> \ No newline at end of file
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/stork.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/stork.jsp
index f1853dbeb..78fdf8921 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/stork.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/stork.jsp
@@ -27,9 +27,12 @@
<th><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.attributes.name", request) %></th>
<th><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.attributes.mandatory", request) %></th></tr>
<s:iterator value="storkOA.helperAttributes" status="stat">
- <tr><td><s:checkbox name="storkOA.helperAttributes[%{#stat.index}].used" value="%{used}" disabled="%{readOnly}" /></td>
- <td><s:property value="%{name}" /><s:hidden name="storkOA.helperAttributes[%{#stat.index}].name" value="%{name}" /></td>
- <td><s:checkbox name="storkOA.helperAttributes[%{#stat.index}].mandatory" value="%{mandatory}" /></td></tr>
+ <tr>
+ <td><s:checkbox name="storkOA.helperAttributes[%{#stat.index}].used" value="%{used}" disabled="%{readOnly}" /></td>
+ <td><s:property value="%{name}" /></td>
+ <td><s:checkbox name="storkOA.helperAttributes[%{#stat.index}].mandatory" value="%{mandatory}" /></td>
+ <td style="display:none;"><s:textfield name="storkOA.helperAttributes[%{#stat.index}].name" value="%{name}" /></td>
+ </tr>
</s:iterator>
</table>
</div>