From 456513332389b2dbb7a6d1461f77dda9b7393050 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Fri, 14 Aug 2015 13:53:00 +0200 Subject: use old ConfigTool --- .../config/ConfigurationProvider.java | 130 ++++++++++++++++----- 1 file changed, 102 insertions(+), 28 deletions(-) (limited to 'id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java') 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 { -- cgit v1.2.3