From ca57b71266ad2b56d8a5a5359cb449ee2d24a18b Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Thu, 22 Mar 2012 19:40:17 +0000 Subject: [PATCH] * Router: When removing a config setting, remove from context also --- router/java/src/net/i2p/router/Router.java | 6 ++++-- router/java/src/net/i2p/router/RouterContext.java | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index b568046f6d..24560b3af9 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -345,6 +345,8 @@ public class Router implements RouterClock.ClockShiftListener { */ public void removeConfigSetting(String name) { _config.remove(name); + // remove the backing default also + _context.removeProperty(name); } /** @@ -1279,7 +1281,7 @@ public class Router implements RouterClock.ClockShiftListener { if (value != null) _config.put(name, value); else - _config.remove(name); + removeConfigSetting(name); return saveConfig(); } @@ -1298,7 +1300,7 @@ public class Router implements RouterClock.ClockShiftListener { _config.putAll(toAdd); if (toRemove != null) { for (String s : toRemove) { - _config.remove(s); + removeConfigSetting(s); } } return saveConfig(); diff --git a/router/java/src/net/i2p/router/RouterContext.java b/router/java/src/net/i2p/router/RouterContext.java index 5c5b4a2cab..0debc4ff11 100644 --- a/router/java/src/net/i2p/router/RouterContext.java +++ b/router/java/src/net/i2p/router/RouterContext.java @@ -113,12 +113,26 @@ public class RouterContext extends I2PAppContext { /** * Modify the configuration attributes of this context, changing * one of the properties provided during the context construction. + * * @param propName The name of the property. * @param value The new value for the property. + * @since 0.8.4 + * @deprecated Use Router.saveConfig() */ public void setProperty(String propName, String value) { _overrideProps.setProperty(propName, value); } + + /** + * Remove a property provided during the context construction. + * Only for use by the router. Others use Router.saveConfig() + * + * @param propName The name of the property. + * @since 0.9 + */ + void removeProperty(String propName) { + _overrideProps.remove(propName); + } public void addPropertyCallback(I2PPropertyCallback callback) { -- GitLab