Search in sources :

Example 1 with EventListenerFactory

use of com.facebook.presto.spi.eventlistener.EventListenerFactory in project presto by prestodb.

the class EventListenerManager method setConfiguredEventListener.

@VisibleForTesting
protected void setConfiguredEventListener(String name, Map<String, String> properties) {
    requireNonNull(name, "name is null");
    requireNonNull(properties, "properties is null");
    log.info("-- Loading event listener --");
    EventListenerFactory eventListenerFactory = eventListenerFactories.get(name);
    checkState(eventListenerFactory != null, "Event listener %s is not registered", name);
    EventListener eventListener = eventListenerFactory.create(ImmutableMap.copyOf(properties));
    this.configuredEventListener.set(Optional.of(eventListener));
    log.info("-- Loaded event listener %s --", name);
}
Also used : EventListenerFactory(com.facebook.presto.spi.eventlistener.EventListenerFactory) EventListener(com.facebook.presto.spi.eventlistener.EventListener) VisibleForTesting(com.google.common.annotations.VisibleForTesting)

Example 2 with EventListenerFactory

use of com.facebook.presto.spi.eventlistener.EventListenerFactory in project presto by prestodb.

the class PluginManager method installPlugin.

public void installPlugin(Plugin plugin) {
    for (BlockEncodingFactory<?> blockEncodingFactory : plugin.getBlockEncodingFactories(blockEncodingManager)) {
        log.info("Registering block encoding %s", blockEncodingFactory.getName());
        blockEncodingManager.addBlockEncodingFactory(blockEncodingFactory);
    }
    for (Type type : plugin.getTypes()) {
        log.info("Registering type %s", type.getTypeSignature());
        typeRegistry.addType(type);
    }
    for (ParametricType parametricType : plugin.getParametricTypes()) {
        log.info("Registering parametric type %s", parametricType.getName());
        typeRegistry.addParametricType(parametricType);
    }
    for (ConnectorFactory connectorFactory : plugin.getConnectorFactories()) {
        log.info("Registering connector %s", connectorFactory.getName());
        connectorManager.addConnectorFactory(connectorFactory);
    }
    for (Class<?> functionClass : plugin.getFunctions()) {
        log.info("Registering functions from %s", functionClass.getName());
        metadata.addFunctions(extractFunctions(functionClass));
    }
    for (ResourceGroupConfigurationManagerFactory configurationManagerFactory : plugin.getResourceGroupConfigurationManagerFactories()) {
        log.info("Registering resource group configuration manager %s", configurationManagerFactory.getName());
        resourceGroupManager.addConfigurationManagerFactory(configurationManagerFactory);
    }
    for (SystemAccessControlFactory accessControlFactory : plugin.getSystemAccessControlFactories()) {
        log.info("Registering system access control %s", accessControlFactory.getName());
        accessControlManager.addSystemAccessControlFactory(accessControlFactory);
    }
    for (EventListenerFactory eventListenerFactory : plugin.getEventListenerFactories()) {
        log.info("Registering event listener %s", eventListenerFactory.getName());
        eventListenerManager.addEventListenerFactory(eventListenerFactory);
    }
}
Also used : SystemAccessControlFactory(com.facebook.presto.spi.security.SystemAccessControlFactory) Type(com.facebook.presto.spi.type.Type) ParametricType(com.facebook.presto.spi.type.ParametricType) ConnectorFactory(com.facebook.presto.spi.connector.ConnectorFactory) ResourceGroupConfigurationManagerFactory(com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManagerFactory) EventListenerFactory(com.facebook.presto.spi.eventlistener.EventListenerFactory) ParametricType(com.facebook.presto.spi.type.ParametricType)

Aggregations

EventListenerFactory (com.facebook.presto.spi.eventlistener.EventListenerFactory)2 ConnectorFactory (com.facebook.presto.spi.connector.ConnectorFactory)1 EventListener (com.facebook.presto.spi.eventlistener.EventListener)1 ResourceGroupConfigurationManagerFactory (com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManagerFactory)1 SystemAccessControlFactory (com.facebook.presto.spi.security.SystemAccessControlFactory)1 ParametricType (com.facebook.presto.spi.type.ParametricType)1 Type (com.facebook.presto.spi.type.Type)1 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1