You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ace.apache.org by ja...@apache.org on 2013/11/29 15:24:50 UTC
svn commit: r1546569 - in /ace/trunk/org.apache.ace.agent:
src/org/apache/ace/agent/ src/org/apache/ace/agent/impl/
test/org/apache/ace/agent/impl/
Author: jawi
Date: Fri Nov 29 14:24:49 2013
New Revision: 1546569
URL: http://svn.apache.org/r1546569
Log:
ACE-433 - clean ups and bugfixes:
- removed the deprecated methods from ConfigurationHandler(Impl);
- due to the new way controllers are instantiated and used in the agent,
it always misses the "initial" configuration event. However, we can now
use the configuration handler directly in the #onInit() method to
obtain our initial configuration values.
Modified:
ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/ConfigurationHandler.java
ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/ConfigurationHandlerImpl.java
ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/DefaultController.java
ace/trunk/org.apache.ace.agent/test/org/apache/ace/agent/impl/EventLoggerImplTest.java
Modified: ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/ConfigurationHandler.java
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/ConfigurationHandler.java?rev=1546569&r1=1546568&r2=1546569&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/ConfigurationHandler.java (original)
+++ ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/ConfigurationHandler.java Fri Nov 29 14:24:49 2013
@@ -54,19 +54,6 @@ public interface ConfigurationHandler {
String get(String key, String defaultValue);
/**
- * Store a single configuration value.
- *
- * @param key
- * The key, must not be <code>null</code>
- * @param value
- * The value, must not be <code>null</code>
- * @deprecated use {@link #putAll(Map)} instead which allows the configuration to be updated without partial
- * visibility issues.
- */
- @Deprecated
- void put(String key, String value);
-
- /**
* Store a configuration value.
*
* @param props
@@ -75,17 +62,6 @@ public interface ConfigurationHandler {
void putAll(Map<String, String> props);
/**
- * Remove a configuration value.
- *
- * @param key
- * The key, must not be <code>null</code>
- * @deprecated use {@link #putAll(Map)} instead which allows the configuration to be updated without partial
- * visibility issues.
- */
- @Deprecated
- void remove(String key);
-
- /**
* Retrieve the configuration value associated with the key, or the specified default.
*
* @param key
@@ -97,19 +73,6 @@ public interface ConfigurationHandler {
long getLong(String key, long defaultValue);
/**
- * Store a configuration value.
- *
- * @param key
- * The key, must not be <code>null</code>
- * @param value
- * The value
- * @deprecated use {@link #putAll(Map)} instead which allows the configuration to be updated without partial
- * visibility issues.
- */
- @Deprecated
- void putLong(String key, long value);
-
- /**
* Retrieve the configuration value associated with the key, or the specified default.
*
* @param key
@@ -119,17 +82,4 @@ public interface ConfigurationHandler {
* @return The associated value if it exists, otherwise the default value
*/
boolean getBoolean(String key, boolean defaultValue);
-
- /**
- * Store a configuration value.
- *
- * @param key
- * The key, must not be <code>null</code>
- * @param value
- * The value
- * @deprecated use {@link #putAll(Map)} instead which allows the configuration to be updated without partial
- * visibility issues.
- */
- @Deprecated
- void putBoolean(String key, boolean Value);
}
Modified: ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/ConfigurationHandlerImpl.java
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/ConfigurationHandlerImpl.java?rev=1546569&r1=1546568&r2=1546569&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/ConfigurationHandlerImpl.java (original)
+++ ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/ConfigurationHandlerImpl.java Fri Nov 29 14:24:49 2013
@@ -18,9 +18,9 @@
*/
package org.apache.ace.agent.impl;
-import static org.apache.ace.agent.AgentConstants.EVENT_AGENT_CONFIG_CHANGED;
import static org.apache.ace.agent.AgentConstants.CONFIG_KEY_NAMESPACE;
import static org.apache.ace.agent.AgentConstants.CONFIG_KEY_RETAIN;
+import static org.apache.ace.agent.AgentConstants.EVENT_AGENT_CONFIG_CHANGED;
import java.io.File;
import java.io.FileInputStream;
@@ -95,16 +95,6 @@ public class ConfigurationHandlerImpl ex
}
@Override
- public void put(String key, String value) {
- String previous = (String) m_configProps.put(key, value);
- if (previous == null || !previous.equals(value)) {
- fireConfigChangeEventAsynchronously();
- // causes the config to be written eventually...
- scheduleStore();
- }
- }
-
- @Override
public void putAll(Map<String, String> props) {
m_configProps.putAll(props);
fireConfigChangeEventAsynchronously();
@@ -112,26 +102,6 @@ public class ConfigurationHandlerImpl ex
scheduleStore();
}
- @Override
- public void putBoolean(String key, boolean value) {
- put(key, String.valueOf(value));
- }
-
- @Override
- public void putLong(String key, long value) {
- put(key, String.valueOf(value));
- }
-
- @Override
- public void remove(String key) {
- Object value = m_configProps.remove(key);
- if (value != null) {
- fireConfigChangeEventAsynchronously();
- // causes the config to be written eventually...
- scheduleStore();
- }
- }
-
/**
* Called by {@link ResettableTimer} when a certain timeout has exceeded.
*/
Modified: ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/DefaultController.java
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/DefaultController.java?rev=1546569&r1=1546568&r2=1546569&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/DefaultController.java (original)
+++ ace/trunk/org.apache.ace.agent/src/org/apache/ace/agent/impl/DefaultController.java Fri Nov 29 14:24:49 2013
@@ -40,6 +40,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
+import org.apache.ace.agent.ConfigurationHandler;
import org.apache.ace.agent.DownloadHandle;
import org.apache.ace.agent.DownloadHandle.DownloadProgressListener;
import org.apache.ace.agent.DownloadResult;
@@ -69,7 +70,7 @@ public class DefaultController extends C
@Override
public void doInstallUpdate(UpdateHandler delegate, UpdateInfo updateInfo) throws RetryAfterException {
m_type = updateInfo.m_type;
-
+
DefaultController controller = getController();
controller.logInfo("Starting download of %s update, %s => %s...", m_type, updateInfo.m_from, updateInfo.m_to);
@@ -474,6 +475,17 @@ public class DefaultController extends C
@Override
protected void onInit() throws Exception {
getEventsHandler().addListener(this);
+
+ // The controller is started *after* all other components, causing it to miss the initial configuration-update
+ // event, hence we need to get the configuration ourselves for the first time...
+ ConfigurationHandler config = getConfigurationHandler();
+ m_updateStreaming.set(config.getBoolean(CONFIG_CONTROLLER_STREAMING, m_updateStreaming.get()));
+ m_fixPackage.set(config.getBoolean(CONFIG_CONTROLLER_FIXPACKAGES, m_fixPackage.get()));
+ m_interval.set(config.getLong(CONFIG_CONTROLLER_SYNCINTERVAL, m_interval.get()));
+ m_syncDelay.set(config.getLong(CONFIG_CONTROLLER_SYNCDELAY, m_syncDelay.get()));
+ m_maxRetries.set(config.getLong(CONFIG_CONTROLLER_RETRIES, m_maxRetries.get()));
+
+ logDebug("Config initialized: update: %s, fixPkg: %s, syncDelay: %d, syncInterval: %d, maxRetries: %d", m_updateStreaming.get(), m_fixPackage.get(), m_syncDelay.get(), m_interval.get(), m_maxRetries.get());
}
@Override
Modified: ace/trunk/org.apache.ace.agent/test/org/apache/ace/agent/impl/EventLoggerImplTest.java
URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.agent/test/org/apache/ace/agent/impl/EventLoggerImplTest.java?rev=1546569&r1=1546568&r2=1546569&view=diff
==============================================================================
--- ace/trunk/org.apache.ace.agent/test/org/apache/ace/agent/impl/EventLoggerImplTest.java (original)
+++ ace/trunk/org.apache.ace.agent/test/org/apache/ace/agent/impl/EventLoggerImplTest.java Fri Nov 29 14:24:49 2013
@@ -137,7 +137,7 @@ public class EventLoggerImplTest extends
@Test
public void testExcludeEvent() throws Exception {
ConfigurationHandler configurationHandler = m_agentContext.getHandler(ConfigurationHandler.class);
- configurationHandler.put(AgentConstants.CONFIG_LOGGING_EXCLUDE_EVENTS, "1001,1002");
+ configureAgent(configurationHandler, AgentConstants.CONFIG_LOGGING_EXCLUDE_EVENTS, "1001,1002");
FrameworkEvent event = new FrameworkEvent(32, new Object());