List of usage examples for org.apache.commons.configuration.event ConfigurationEvent getPropertyValue
public Object getPropertyValue()
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(); } } }); }