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:
}
}
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));
}
}
}
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);
}
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:
}
}
Aggregations