[freenet-cvs] r11286 - trunk/freenet/src/freenet/config

toad at freenetproject.org toad at freenetproject.org
Thu Dec 7 19:27:54 UTC 2006


Author: toad
Date: 2006-12-07 19:27:53 +0000 (Thu, 07 Dec 2006)
New Revision: 11286

Modified:
   trunk/freenet/src/freenet/config/StringArrOption.java
   trunk/freenet/src/freenet/config/SubConfig.java
Log:
Fix isDefault() - fixes "plugins lost on restart" bug.
Don't try to load a plugin named "" if none are specified.
Logging.

Modified: trunk/freenet/src/freenet/config/StringArrOption.java
===================================================================
--- trunk/freenet/src/freenet/config/StringArrOption.java	2006-12-07 19:26:14 UTC (rev 11285)
+++ trunk/freenet/src/freenet/config/StringArrOption.java	2006-12-07 19:27:53 UTC (rev 11286)
@@ -28,7 +28,9 @@
 	/** Get the current value. This is the value in use if we have finished
 	 * initialization, otherwise it is the value set at startup (possibly the default). */
 	public String[] getValue() {
-		return getValueString().split(delimiter);
+		String[] values = getValueString().split(delimiter);
+		if(values.length == 1 && values[0].length() == 0) return new String[0]; 
+		return values;
 	}
 
 	public void setValue(String val) throws InvalidConfigValueException {
@@ -73,6 +75,7 @@
 	}
 
 	public boolean isDefault() {
+		getValueString();
 		return currentValue == null ? false : currentValue.equals(defaultValue);
 	}
 	

Modified: trunk/freenet/src/freenet/config/SubConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/SubConfig.java	2006-12-07 19:26:14 UTC (rev 11285)
+++ trunk/freenet/src/freenet/config/SubConfig.java	2006-12-07 19:27:53 UTC (rev 11286)
@@ -155,6 +155,8 @@
 	 */
 	public void finishedInitialization() {
 		hasInitialized = true;
+		if(Logger.shouldLog(Logger.MINOR, this))
+			Logger.minor(this, "Finished initialization on "+this+" ("+prefix+')');
 	}
 
 	/**
@@ -188,12 +190,23 @@
 		SimpleFieldSet fs = new SimpleFieldSet();
 		Set entrySet = map.entrySet();
 		Iterator i = entrySet.iterator();
+		boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
+		if(logMINOR)
+			Logger.minor(this, "Prefix="+prefix);
 		while(i.hasNext()) {
 			Map.Entry entry = (Map.Entry) i.next();
 			String key = (String) entry.getKey();
 			Option o = (Option) entry.getValue();
-			if(!withDefaults && o.isDefault() && !o.forceWrite) continue;
+//			if(logMINOR)
+//				Logger.minor(this, "Key="+key+" value="+o.getValueString()+" default="+o.isDefault());
+			if((!withDefaults) && o.isDefault() && (!o.forceWrite)) {
+				if(logMINOR)
+					Logger.minor(this, "Skipping "+key+" - "+o.isDefault());
+				continue;
+			}
 			fs.put(key, o.getValueString());
+			if(logMINOR)
+				Logger.minor(this, "Key="+prefix+'.'+key+" value="+o.getValueString());
 		}
 		return fs;
 	}




More information about the cvs mailing list