Search in sources :

Example 1 with Param

use of io.vertigo.core.param.Param in project vertigo by KleeGroup.

the class XmlConfigHandler method startElement.

@Override
public void startElement(final String namespaceURI, final String localName, final String qName, final Attributes attrs) {
    switch(TagName.valueOf(qName)) {
        case config:
            break;
        case path:
            currentPath = attrs.getValue("name").trim();
            break;
        case param:
            final String paramName = attrs.getValue("name").trim();
            Assertion.checkArgument(!paramName.endsWith("."), "a path must not be ended with a point");
            final String paramValue = attrs.getValue("value").trim();
            final Param param = Param.of(currentPath + "." + paramName, paramValue);
            params.put(param.getName(), param);
            break;
        default:
    }
}
Also used : Param(io.vertigo.core.param.Param)

Example 2 with Param

use of io.vertigo.core.param.Param 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 3 with Param

use of io.vertigo.core.param.Param in project vertigo by KleeGroup.

the class VegaFeatures method buildFeatures.

/**
 * {@inheritDoc}
 */
@Override
protected void buildFeatures() {
    final PluginConfigBuilder corsAllowerPluginConfigBuilder = PluginConfig.builder(CorsAllowerWebServiceHandlerPlugin.class);
    if (myOriginCORSFilter != null) {
        corsAllowerPluginConfigBuilder.addParam(Param.of("originCORSFilter", myOriginCORSFilter));
    }
    getModuleConfigBuilder().addComponent(WebServiceManager.class, WebServiceManagerImpl.class).addPlugin(AnnotationsWebServiceScannerPlugin.class).addComponent(SwaggerWebServices.class).addComponent(CatalogWebServices.class).addPlugin(ExceptionWebServiceHandlerPlugin.class).addPlugin(corsAllowerPluginConfigBuilder.build()).addPlugin(AnalyticsWebServiceHandlerPlugin.class).addPlugin(JsonConverterWebServiceHandlerPlugin.class);
    if (mySearchApiVersion != null) {
        getModuleConfigBuilder().addComponent(JsonEngine.class, GoogleJsonEngine.class, Param.of("searchApiVersion", mySearchApiVersion));
    } else {
        getModuleConfigBuilder().addComponent(JsonEngine.class, GoogleJsonEngine.class);
    }
    if (securityEnabled) {
        getModuleConfigBuilder().addPlugin(SessionInvalidateWebServiceHandlerPlugin.class).addPlugin(SessionWebServiceHandlerPlugin.class).addPlugin(SecurityWebServiceHandlerPlugin.class);
    }
    if (tokensEnabled) {
        getModuleConfigBuilder().addPlugin(ServerSideStateWebServiceHandlerPlugin.class).addPlugin(AccessTokenWebServiceHandlerPlugin.class).addPlugin(PaginatorAndSortWebServiceHandlerPlugin.class).addComponent(TokenManager.class, TokenManagerImpl.class, Param.of("collection", myTokens));
    }
    if (miscEnabled) {
        getModuleConfigBuilder().addPlugin(RateLimitingWebServiceHandlerPlugin.class);
    }
    if (myPort != null) {
        final ListBuilder<Param> params = new ListBuilder().add(Param.of("port", Integer.toString(myPort)));
        if (myApiPrefix != null) {
            params.add(Param.of("apiPrefix", myApiPrefix));
        }
        getModuleConfigBuilder().addPlugin(new PluginConfig(SparkJavaEmbeddedWebServerPlugin.class, params.build()));
    }
    getModuleConfigBuilder().addPlugin(ValidatorWebServiceHandlerPlugin.class).addPlugin(RestfulServiceWebServiceHandlerPlugin.class);
}
Also used : WebServiceManagerImpl(io.vertigo.vega.impl.webservice.WebServiceManagerImpl) SessionWebServiceHandlerPlugin(io.vertigo.vega.plugins.webservice.handler.SessionWebServiceHandlerPlugin) ExceptionWebServiceHandlerPlugin(io.vertigo.vega.plugins.webservice.handler.ExceptionWebServiceHandlerPlugin) SwaggerWebServices(io.vertigo.vega.impl.webservice.catalog.SwaggerWebServices) PaginatorAndSortWebServiceHandlerPlugin(io.vertigo.vega.plugins.webservice.handler.PaginatorAndSortWebServiceHandlerPlugin) ServerSideStateWebServiceHandlerPlugin(io.vertigo.vega.plugins.webservice.handler.ServerSideStateWebServiceHandlerPlugin) PluginConfigBuilder(io.vertigo.app.config.PluginConfigBuilder) PluginConfig(io.vertigo.app.config.PluginConfig) SparkJavaEmbeddedWebServerPlugin(io.vertigo.vega.plugins.webservice.webserver.sparkjava.SparkJavaEmbeddedWebServerPlugin) WebServiceManager(io.vertigo.vega.webservice.WebServiceManager) Param(io.vertigo.core.param.Param) ListBuilder(io.vertigo.util.ListBuilder) ValidatorWebServiceHandlerPlugin(io.vertigo.vega.plugins.webservice.handler.ValidatorWebServiceHandlerPlugin) AnalyticsWebServiceHandlerPlugin(io.vertigo.vega.plugins.webservice.handler.AnalyticsWebServiceHandlerPlugin)

Example 4 with Param

use of io.vertigo.core.param.Param in project vertigo by KleeGroup.

the class XMLModulesHandler method startElement.

@Override
public void startElement(final String namespaceURI, final String localName, final String qName, final Attributes attrs) {
    switch(TagName.valueOf(qName)) {
        case app:
            final String appName = attrs.getValue("name");
            final String nodeId = attrs.getValue("nodeId");
            final String endPoint = attrs.getValue("endPoint");
            appConfigBuilder.withNodeConfig(NodeConfig.builder().withAppName(appName).withNodeId(nodeId).withEndPoint(endPoint).build());
            break;
        case boot:
            current = TagName.boot;
            final String locales = attrs.getValue("locales");
            final String defaultZoneId = attrs.getValue("defaultZoneId");
            if (defaultZoneId == null) {
                bootConfigBuilder = appConfigBuilder.beginBoot().withLocales(locales);
            } else {
                bootConfigBuilder = appConfigBuilder.beginBoot().withLocalesAndDefaultZoneId(locales, defaultZoneId);
            }
            break;
        case module:
            current = TagName.module;
            final String moduleName = attrs.getValue("name");
            moduleConfigBuilder = ModuleConfig.builder(moduleName);
            break;
        case component:
            current = TagName.component;
            final String componentApi = attrs.getValue("api");
            final Class<? extends Component> componentImplClass = ClassUtil.classForName(attrs.getValue("class"), Component.class);
            componentConfigBuilder = ComponentConfig.builder().withImpl(componentImplClass);
            if (componentApi != null) {
                final Class<?> componentApiClass = resolveInterface(componentApi, componentImplClass);
                componentConfigBuilder.withApi((Class<? extends Component>) componentApiClass);
            }
            break;
        case initializer:
            final String initClass = attrs.getValue("class");
            if (initClass != null) {
                final Class componentInitialierClass = ClassUtil.classForName(initClass);
                appConfigBuilder.addInitializer(componentInitialierClass);
            }
            break;
        case plugin:
            current = TagName.plugin;
            final Class<? extends Plugin> pluginImplClass = ClassUtil.classForName(attrs.getValue("class"), Plugin.class);
            pluginConfigBuilder = PluginConfig.builder(pluginImplClass);
            break;
        case proxy:
            final Class<? extends Component> proxyApiClass = ClassUtil.classForName(attrs.getValue("api"), Component.class);
            moduleConfigBuilder.addProxy(proxyApiClass);
            break;
        case provider:
            current = TagName.provider;
            final String definitionProviderClassName = attrs.getValue("class");
            final Class<? extends DefinitionProvider> definitionProviderClass = ClassUtil.classForName(definitionProviderClassName, DefinitionProvider.class);
            definitionProviderConfigBuilder = DefinitionProviderConfig.builder(definitionProviderClass);
            break;
        case resource:
            final String resourceType = attrs.getValue("type");
            final String resourcePath = attrs.getValue("path");
            definitionProviderConfigBuilder.addDefinitionResource(resourceType, evalParamValue(resourcePath));
            break;
        case param:
            final String paramName = attrs.getValue("name");
            final String paramValue = evalParamValue(attrs.getValue("value"));
            final Param param = Param.of(paramName, paramValue);
            if (current == TagName.plugin) {
                pluginConfigBuilder.addParam(param);
            } else if (current == TagName.component) {
                componentConfigBuilder.addParam(param);
            } else if (current == TagName.provider) {
                definitionProviderConfigBuilder.addParam(param);
            }
            break;
        case aspect:
            final String aspectImplClassStr = attrs.getValue("class");
            final Class<? extends Aspect> aspectImplClass = ClassUtil.classForName(aspectImplClassStr, Aspect.class);
            moduleConfigBuilder.addAspect(aspectImplClass);
            break;
        case proxyMethod:
            final String proxyMethodImplClassStr = attrs.getValue("class");
            final Class<? extends ProxyMethod> proxyMethodClass = ClassUtil.classForName(proxyMethodImplClassStr, ProxyMethod.class);
            moduleConfigBuilder.addProxyMethod(proxyMethodClass);
            break;
        case feature:
            final String featureClassStr = attrs.getValue("class");
            final ModuleConfig moduleConfigByFeatures = ClassUtil.newInstance(featureClassStr, Features.class).build();
            appConfigBuilder.addModule(moduleConfigByFeatures);
            break;
        case definitions:
        case config:
        case init:
        // non géré
        default:
    }
}
Also used : Param(io.vertigo.core.param.Param) ModuleConfig(io.vertigo.app.config.ModuleConfig) Features(io.vertigo.app.config.Features)

Aggregations

Param (io.vertigo.core.param.Param)4 AutoCloseableApp (io.vertigo.app.AutoCloseableApp)1 Features (io.vertigo.app.config.Features)1 LogConfig (io.vertigo.app.config.LogConfig)1 ModuleConfig (io.vertigo.app.config.ModuleConfig)1 PluginConfig (io.vertigo.app.config.PluginConfig)1 PluginConfigBuilder (io.vertigo.app.config.PluginConfigBuilder)1 XMLAppConfigBuilder (io.vertigo.app.config.xml.XMLAppConfigBuilder)1 WrappedException (io.vertigo.lang.WrappedException)1 ListBuilder (io.vertigo.util.ListBuilder)1 WebServiceManagerImpl (io.vertigo.vega.impl.webservice.WebServiceManagerImpl)1 SwaggerWebServices (io.vertigo.vega.impl.webservice.catalog.SwaggerWebServices)1 AnalyticsWebServiceHandlerPlugin (io.vertigo.vega.plugins.webservice.handler.AnalyticsWebServiceHandlerPlugin)1 ExceptionWebServiceHandlerPlugin (io.vertigo.vega.plugins.webservice.handler.ExceptionWebServiceHandlerPlugin)1 PaginatorAndSortWebServiceHandlerPlugin (io.vertigo.vega.plugins.webservice.handler.PaginatorAndSortWebServiceHandlerPlugin)1 ServerSideStateWebServiceHandlerPlugin (io.vertigo.vega.plugins.webservice.handler.ServerSideStateWebServiceHandlerPlugin)1 SessionWebServiceHandlerPlugin (io.vertigo.vega.plugins.webservice.handler.SessionWebServiceHandlerPlugin)1 ValidatorWebServiceHandlerPlugin (io.vertigo.vega.plugins.webservice.handler.ValidatorWebServiceHandlerPlugin)1 SparkJavaEmbeddedWebServerPlugin (io.vertigo.vega.plugins.webservice.webserver.sparkjava.SparkJavaEmbeddedWebServerPlugin)1 WebServiceManager (io.vertigo.vega.webservice.WebServiceManager)1