diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2015-08-14 13:53:00 +0200 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2015-08-14 13:53:00 +0200 | 
| commit | 456513332389b2dbb7a6d1461f77dda9b7393050 (patch) | |
| tree | 4d6799366db46f83bb9eb0f7a611d8a08006b697 /id/ConfigWebTool/src | |
| parent | 5a15347217fbc8a0b2c1083579f70e527da6f3b5 (diff) | |
| download | moa-id-spss-456513332389b2dbb7a6d1461f77dda9b7393050.tar.gz moa-id-spss-456513332389b2dbb7a6d1461f77dda9b7393050.tar.bz2 moa-id-spss-456513332389b2dbb7a6d1461f77dda9b7393050.zip | |
use old ConfigTool
Diffstat (limited to 'id/ConfigWebTool/src')
50 files changed, 1465 insertions, 643 deletions
| 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> | 
