Search in sources :

Example 1 with XMLAppConfigBuilder

use of io.vertigo.app.config.xml.XMLAppConfigBuilder in project vertigo by KleeGroup.

the class AppServletStarter method contextInitialized.

/**
 * Initialize and start Vertigo Home.
 * @param servletContext ServletContext
 */
public void contextInitialized(final ServletContext servletContext) {
    final long start = System.currentTimeMillis();
    try {
        // Initialisation du web context de l'application (porteur des singletons applicatifs)
        ServletResourceResolverPlugin.setServletContext(servletContext);
        // Création de l'état de l'application
        // Lecture des paramètres de configuration
        final Map<String, Param> webAppConf = createWebParams(servletContext);
        WebAppContextParamPlugin.setParams(webAppConf);
        // -----
        final Properties bootConf = createBootProperties(servletContext);
        Assertion.checkArgument(bootConf.containsKey("boot.applicationConfiguration"), "Param \"boot.applicationConfiguration\" is mandatory, check your .properties or web.xml.");
        final XMLAppConfigBuilder appConfigBuilder = new XMLAppConfigBuilder();
        appConfigBuilder.beginBoot();
        // si présent on récupère le paramétrage du fichier externe de paramétrage log4j
        if (bootConf.containsKey(LOG4J_CONFIGURATION_PARAM_NAME)) {
            final String logFileName = bootConf.getProperty(LOG4J_CONFIGURATION_PARAM_NAME);
            bootConf.remove(LOG4J_CONFIGURATION_PARAM_NAME);
            // -----
            appConfigBuilder.withLogConfig(new LogConfig(logFileName));
        }
        final String xmlModulesFileNames = bootConf.getProperty("boot.applicationConfiguration");
        final String[] xmlFileNamesSplit = xmlModulesFileNames.split(";");
        bootConf.remove("boot.applicationConfiguration");
        // -----
        appConfigBuilder.withModules(getClass(), bootConf, xmlFileNamesSplit);
        // Initialisation de l'état de l'application
        app = new AutoCloseableApp(appConfigBuilder.build());
        appServletListener.onServletStart(getClass().getName());
    } catch (final Exception e) {
        LOG.error(e.getMessage(), e);
        throw WrappedException.wrap(e, "Problème d'initialisation de l'application");
    } finally {
        if (LOG.isInfoEnabled()) {
            LOG.info("Temps d'initialisation du listener " + (System.currentTimeMillis() - start));
        }
    }
}
Also used : AutoCloseableApp(io.vertigo.app.AutoCloseableApp) Param(io.vertigo.core.param.Param) Properties(java.util.Properties) IOException(java.io.IOException) WrappedException(io.vertigo.lang.WrappedException) XMLAppConfigBuilder(io.vertigo.app.config.xml.XMLAppConfigBuilder) LogConfig(io.vertigo.app.config.LogConfig)

Example 2 with XMLAppConfigBuilder

use of io.vertigo.app.config.xml.XMLAppConfigBuilder in project vertigo by KleeGroup.

the class SmartAppConfigBuilder method buildAppConfig.

private static AppConfig buildAppConfig(final Properties conf) {
    // Initialisation de l'état de l'application
    final XMLAppConfigBuilder appConfigBuilder = new XMLAppConfigBuilder();
    if (conf.containsKey("boot.applicationConfiguration")) {
        final String xmlModulesFileNames = conf.getProperty("boot.applicationConfiguration");
        final String[] xmlFileNamesSplit = xmlModulesFileNames.split(";");
        conf.remove("boot.applicationConfiguration");
        // -----
        appConfigBuilder.withModules(SmartAppConfigBuilder.class, conf, xmlFileNamesSplit);
    }
    return appConfigBuilder.build();
}
Also used : XMLAppConfigBuilder(io.vertigo.app.config.xml.XMLAppConfigBuilder)

Aggregations

XMLAppConfigBuilder (io.vertigo.app.config.xml.XMLAppConfigBuilder)2 AutoCloseableApp (io.vertigo.app.AutoCloseableApp)1 LogConfig (io.vertigo.app.config.LogConfig)1 Param (io.vertigo.core.param.Param)1 WrappedException (io.vertigo.lang.WrappedException)1 IOException (java.io.IOException)1 Properties (java.util.Properties)1