Example usage for org.apache.commons.configuration.event ConfigurationEvent getPropertyValue

List of usage examples for org.apache.commons.configuration.event ConfigurationEvent getPropertyValue

Introduction

In this page you can find the example usage for org.apache.commons.configuration.event ConfigurationEvent getPropertyValue.

Prototype

public Object getPropertyValue() 

Source Link

Document

Returns the value of the affected property if available.

Usage

From source file:com.netflix.config.ConcurrentMapConfigurationTest.java

@Test
public void testListeners() {
    ConcurrentMapConfiguration conf = new ConcurrentMapConfiguration();
    final AtomicReference<ConfigurationEvent> eventRef = new AtomicReference<ConfigurationEvent>();
    conf.addConfigurationListener(new ConfigurationListener() {
        @Override/*ww w.ja  va 2  s . co m*/
        public void configurationChanged(ConfigurationEvent arg0) {
            eventRef.set(arg0);
        }

    });
    conf.addProperty("key", "1");
    assertEquals(1, conf.getInt("key"));
    ConfigurationEvent event = eventRef.get();
    assertEquals("key", event.getPropertyName());
    assertEquals("1", event.getPropertyValue());
    assertTrue(conf == event.getSource());
    assertEquals(AbstractConfiguration.EVENT_ADD_PROPERTY, event.getType());
    conf.setProperty("key", "2");
    event = eventRef.get();
    assertEquals("key", event.getPropertyName());
    assertEquals("2", event.getPropertyValue());
    assertTrue(conf == event.getSource());
    assertEquals(AbstractConfiguration.EVENT_SET_PROPERTY, event.getType());
    conf.clearProperty("key");
    event = eventRef.get();
    assertEquals("key", event.getPropertyName());
    assertNull(event.getPropertyValue());
    assertTrue(conf == event.getSource());
    assertEquals(AbstractConfiguration.EVENT_CLEAR_PROPERTY, event.getType());
    conf.clear();
    assertFalse(conf.getKeys().hasNext());
    event = eventRef.get();
    assertTrue(conf == event.getSource());
    assertEquals(AbstractConfiguration.EVENT_CLEAR, event.getType());
}

From source file:gov.nih.nci.security.authentication.LockoutConfigurationListener.java

@Override
public void configurationChanged(ConfigurationEvent event) {

    if (!event.isBeforeUpdate()) {
        // only display events after the modification was done
        LockoutManager lockoutManager = LockoutManager.getInstance();
        if (event.getPropertyName() != null
                && event.getPropertyName().equalsIgnoreCase("PASSWORD_LOCKOUT_TIME")) {
            if (event.getPropertyValue() != null) {
                String[] st = (String[]) event.getPropertyValue();
                lockoutManager.setLockoutTime((Long.parseLong(st[0])));
            }/*from   ww  w.  ja va 2s  .  c om*/
        }
        if (event.getPropertyName() != null && event.getPropertyName().equalsIgnoreCase("ALLOWED_LOGIN_TIME")) {
            if (event.getPropertyValue() != null) {
                String[] st = (String[]) event.getPropertyValue();
                lockoutManager.setAllowedLoginTime(Long.parseLong(st[0]));
            }
        }
        if (event.getPropertyName() != null && event.getPropertyName().equalsIgnoreCase("ALLOWED_ATTEMPTS")) {
            if (event.getPropertyValue() != null) {
                String[] st = (String[]) event.getPropertyValue();
                lockoutManager.setAllowedAttempts(Integer.parseInt(st[0]));
            }
        }
        LockoutManager lockoutManager2 = LockoutManager.getInstance();
    }
}

From source file:com.jkoolcloud.tnt4j.repository.FileTokenRepository.java

@Override
public void configurationChanged(ConfigurationEvent event) {
    if (event.isBeforeUpdate())
        return;/*from  w w w  .  j  a  v  a2 s . c o  m*/
    logger.log(OpLevel.DEBUG, "configurationChanged: type={0}, {1}:{2}", event.getType(),
            event.getPropertyName(), event.getPropertyValue());
    switch (event.getType()) {
    case AbstractConfiguration.EVENT_ADD_PROPERTY:
        repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(), TokenRepository.EVENT_ADD_KEY,
                event.getPropertyName(), event.getPropertyValue(), null));
        break;
    case AbstractConfiguration.EVENT_SET_PROPERTY:
        repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(), TokenRepository.EVENT_SET_KEY,
                event.getPropertyName(), event.getPropertyValue(), null));
        break;
    case AbstractConfiguration.EVENT_CLEAR_PROPERTY:
        repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(),
                TokenRepository.EVENT_CLEAR_KEY, event.getPropertyName(), event.getPropertyValue(), null));
        break;
    case AbstractConfiguration.EVENT_CLEAR:
        repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(), TokenRepository.EVENT_CLEAR,
                event.getPropertyName(), event.getPropertyValue(), null));
        break;
    case AbstractFileConfiguration.EVENT_RELOAD:
        repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(), TokenRepository.EVENT_RELOAD,
                event.getPropertyName(), event.getPropertyValue(), null));
        break;
    }
}

From source file:com.netflix.config.ExpandedConfigurationListenerAdapter.java

/**
 * {@inheritDoc}/*from  w  w w.jav  a 2  s  . c o  m*/
 * @see ConfigurationListener#configurationChanged(ConfigurationEvent)
 */
@SuppressWarnings("unchecked")
@Override
public void configurationChanged(final ConfigurationEvent event) {

    if (pauseListener) {
        return;
    }

    // Grab the event information. Some values may be null.
    final Object source = event.getSource();
    final String name = event.getPropertyName();
    final Object value = event.getPropertyValue();
    final boolean beforeUpdate = event.isBeforeUpdate();

    // Handle the different types.
    switch (event.getType()) {

    // Key identifies node where the Collection of nodes was added, or
    // null if it was at the root.
    case HierarchicalConfiguration.EVENT_ADD_NODES:
    case ConcurrentCompositeConfiguration.EVENT_CONFIGURATION_SOURCE_CHANGED:
        expandedListener.configSourceLoaded(source);
        break;

    // Key identifies the individual property that was added.
    case AbstractConfiguration.EVENT_ADD_PROPERTY:
        expandedListener.addProperty(source, name, value, beforeUpdate);
        break;

    // Entire configuration was cleared.
    case AbstractConfiguration.EVENT_CLEAR:
        expandedListener.clear(source, beforeUpdate);
        break;

    // Key identifies the single property that was cleared.
    case AbstractConfiguration.EVENT_CLEAR_PROPERTY:
        expandedListener.clearProperty(source, name, value, beforeUpdate);
        break;

    // Key identifies the nodes that were removed, along with all its
    // children. Value after update is the List of nodes that were
    // cleared. Before the update, the value is null.
    case HierarchicalConfiguration.EVENT_CLEAR_TREE:
        // Ignore this. We rewrote the clearTree() method below.
        break;

    // The current property set is invalid.
    case CombinedConfiguration.EVENT_COMBINED_INVALIDATE:
        //listener.configSourceLoaded(source);
        break;

    // Key identifies the property that was read.
    case AbstractConfiguration.EVENT_READ_PROPERTY:
        break;

    // Key identifies the property that was set.
    case AbstractConfiguration.EVENT_SET_PROPERTY:
        expandedListener.setProperty(source, name, value, beforeUpdate);
        break;

    default:
        break;
    }
}

From source file:com.twitter.distributedlog.service.stream.limiter.DynamicRequestLimiter.java

public DynamicRequestLimiter(DynamicDistributedLogConfiguration dynConf, StatsLogger statsLogger,
        Feature rateLimitDisabledFeature) {
    final StatsLogger limiterStatsLogger = statsLogger.scope("dynamic");
    this.dynConf = dynConf;
    this.rateLimitDisabledFeature = rateLimitDisabledFeature;
    this.listener = new ConfigurationListener() {
        @Override/*from w w w . jav a  2s.  c  o m*/
        public void configurationChanged(ConfigurationEvent event) {
            // Note that this method may be called several times if several config options
            // are changed. The effect is harmless except that we create and discard more
            // objects than we need to.
            LOG.debug("Config changed callback invoked with event {} {} {} {}",
                    new Object[] { event.getPropertyName(), event.getPropertyValue(), event.getType(),
                            event.isBeforeUpdate() });
            if (!event.isBeforeUpdate()) {
                limiterStatsLogger.getCounter("config_changed").inc();
                LOG.debug("Rebuilding limiter");
                limiter = build();
            }
        }
    };
    LOG.debug("Registering config changed callback");
    dynConf.addConfigurationListener(listener);
}

From source file:it.grid.storm.authz.sa.conf.FileAuthzDBListener.java

/**
 * configurationChanged/*from w w  w.  j a  va2  s.co  m*/
 * 
 * @param configurationEvent
 *          ConfigurationEvent
 */
public void configurationChanged(ConfigurationEvent configurationEvent) {

    if (!configurationEvent.isBeforeUpdate()) {
        // only display events after the modification was done
        log.debug("Authz DB File {} is changed!", authzFileName);
        log.debug("  - Type = {}" + configurationEvent.getType());
        if (configurationEvent.getPropertyName() != null) {
            log.debug("Property name = {}", configurationEvent.getPropertyName());
        }
        if (configurationEvent.getPropertyValue() != null) {
            log.debug("Property value = {}", configurationEvent.getPropertyValue());
        }
    }
}

From source file:com.kixeye.chassis.support.logging.LoggingConfiguration.java

@PostConstruct
public void initialize() {
    AbstractConfiguration config = ConfigurationManager.getConfigInstance();

    if (config.containsKey(LOGBACK_CONFIG_NAME)) {
        System.out.println("Loading logging config.");

        reloadLogging(config.getString(LOGBACK_CONFIG_NAME));
    }//from w w  w . j  a  v  a  2  s  .c  o  m

    config.addConfigurationListener(new ConfigurationListener() {
        @Override
        public synchronized void configurationChanged(ConfigurationEvent event) {
            if ((event.getType() == AbstractConfiguration.EVENT_ADD_PROPERTY
                    || event.getType() == AbstractConfiguration.EVENT_SET_PROPERTY)
                    && StringUtils.equalsIgnoreCase(LOGBACK_CONFIG_NAME, event.getPropertyName())
                    && event.getPropertyValue() != null && !event.isBeforeUpdate()) {
                System.out.println("Reloading logging config.");

                reloadLogging((String) event.getPropertyValue());
            }
        }
    });

    ConfigurationListener flumeConfigListener = new ConfigurationListener() {
        private FlumeLoggerLoader loggerLoader = null;

        public synchronized void configurationChanged(ConfigurationEvent event) {
            if (!(event.getType() == AbstractConfiguration.EVENT_SET_PROPERTY
                    || event.getType() == AbstractConfiguration.EVENT_ADD_PROPERTY
                    || event.getType() == AbstractConfiguration.EVENT_CLEAR_PROPERTY)) {
                return;
            }

            if (FlumeLoggerLoader.FLUME_LOGGER_ENABLED_PROPERTY.equals(event.getPropertyName())) {
                if ("true".equals(event.getPropertyValue())) {
                    if (loggerLoader == null) {
                        // construct the bean
                        loggerLoader = (FlumeLoggerLoader) applicationContext
                                .getBean(FlumeLoggerLoader.PROTOTYPE_BEAN_NAME, "chassis");
                    } // else we already have one so we're cool
                } else {
                    if (loggerLoader != null) {
                        // delete the bean
                        ConfigurableBeanFactory beanFactory = (ConfigurableBeanFactory) applicationContext
                                .getParentBeanFactory();
                        beanFactory.destroyBean(FlumeLoggerLoader.PROTOTYPE_BEAN_NAME, loggerLoader);
                        loggerLoader = null;
                    } // else we don't have any so we're cool
                }
            } else if (FlumeLoggerLoader.RELOAD_PROPERTIES.contains(event.getPropertyValue())) {
                // only reload if we're already running - otherwise ignore
                if (loggerLoader != null) {
                    // delete the bean
                    ConfigurableBeanFactory beanFactory = (ConfigurableBeanFactory) applicationContext
                            .getParentBeanFactory();
                    beanFactory.destroyBean(FlumeLoggerLoader.PROTOTYPE_BEAN_NAME, loggerLoader);
                    loggerLoader = null;

                    // construct the bean
                    loggerLoader = (FlumeLoggerLoader) applicationContext
                            .getBean(FlumeLoggerLoader.PROTOTYPE_BEAN_NAME, "chassis");
                } // else we don't have any so we're cool
            }
        }
    };

    config.addConfigurationListener(flumeConfigListener);

    flumeConfigListener.configurationChanged(new ConfigurationEvent(this,
            AbstractConfiguration.EVENT_SET_PROPERTY, FlumeLoggerLoader.FLUME_LOGGER_ENABLED_PROPERTY,
            config.getProperty(FlumeLoggerLoader.FLUME_LOGGER_ENABLED_PROPERTY), false));
}

From source file:fr.mby.utils.spring.beans.factory.BasicProxywiredManager.java

@Override
public void configurationChanged(final ConfigurationEvent event) {
    final String propertyName = event.getPropertyName();
    final Object propertyValue = event.getPropertyValue();

    if (propertyName != null && propertyName.endsWith("." + IProxywiredManager.WIRED_BEANS_CONFIG_KEY)) {
        // A Wired beans property changed
        if (String.class.isAssignableFrom(propertyValue.getClass())) {
            // Build bean names set
            final LinkedHashSet<String> beanNames = this.buildWiredBeanSetFromConfig((String) propertyValue);

            // Build proxywired resource identifier
            final int suffixPos = propertyName.lastIndexOf("." + IProxywiredManager.WIRED_BEANS_CONFIG_KEY);
            final String proxywiredNodePath = propertyName.substring(0, suffixPos);
            final IProxywiredIdentifier identifier = this.buildIdentifier(proxywiredNodePath);

            final IManageableProxywired dependencyToModify = this.byIdStorage.get(identifier);
            if (dependencyToModify != null) {
                final LinkedHashMap<String, Object> dependenciesToWire = this
                        .buildDependencyToWireMap(beanNames);
                dependencyToModify.modifyProxywiredDependencies(dependenciesToWire);
                BasicProxywiredManager.LOG.info(
                        "ConfigurationChangedEvent leaded to update Porxywired dependency: [{}] with beans: [{}]",
                        identifier, beanNames);
            } else {
                BasicProxywiredManager.LOG.warn(
                        "Unable to find a Proxywired dependency corresponding to indentifier: [{}] ",
                        identifier);/*from w  w  w.  j  a  v a2  s  .c  om*/
            }

        } else {
            throw new IllegalStateException("Wired beans config value should be a list of string !");
        }
    } else {
        throw new IllegalStateException("ConfigurationChangedEvent with key: [" + propertyName + "] => value: ["
                + propertyValue + "] cannot be processed !");
    }
}

From source file:cross.Factory.java

/**
 * Listen to ConfigurationEvents./*from  w  w  w. j a  va  2  s  .  co m*/
 *
 * @param event the configuration event
 */
@Override
public void configurationChanged(final ConfigurationEvent event) {
    log.debug("Configuration changed for property: " + event.getPropertyName() + " to value "
            + event.getPropertyValue());

}

From source file:com.kixeye.chassis.support.metrics.aws.MetricsCloudWatchConfiguration.java

private void addConfigurationListener() {
    final MetricsCloudWatchConfiguration springConfig = this;
    ConfigurationManager.getConfigInstance().addConfigurationListener(new ConfigurationListener() {

        @Override//from   w ww  . ja v  a2s  .  co m
        public synchronized void configurationChanged(ConfigurationEvent event) {
            if (!(event.getType() == AbstractConfiguration.EVENT_SET_PROPERTY
                    || event.getType() == AbstractConfiguration.EVENT_ADD_PROPERTY)) {
                return;
            }
            if (event.isBeforeUpdate()) {
                return;
            }
            String name = event.getPropertyName();

            if (!(name.equals(METRICS_AWS_ENABLED) || name.equals(METRICS_AWS_FILTER)
                    || name.equals(METRICS_AWS_PUBLISH_INTERVAL)
                    || name.equals(METRICS_AWS_PUBLISH_INTERVAL_UNIT))) {
                return;
            }

            springConfig.enabled = name.equals(METRICS_AWS_ENABLED)
                    ? Boolean.parseBoolean(event.getPropertyValue() + "")
                    : springConfig.enabled;
            destroyReporter();
            if (springConfig.enabled) {
                createReporter();
            }

        }
    });
}