Author: zothar
Date: 2007-03-19 03:26:41 +0000 (Mon, 19 Mar 2007)
New Revision: 12214
Modified:
trunk/freenet/src/freenet/config/Config.java
trunk/freenet/src/freenet/config/Option.java
trunk/freenet/src/freenet/config/SubConfig.java
trunk/freenet/src/freenet/node/Node.java
Log:
One step closer to full config data via FCP. The next step will probably be a
structure change on the ConfigData node to client message, after which we'll
probably document the config via FCP API.
Modified: trunk/freenet/src/freenet/config/Config.java
===================================================================
--- trunk/freenet/src/freenet/config/Config.java 2007-03-18 21:59:05 UTC
(rev 12213)
+++ trunk/freenet/src/freenet/config/Config.java 2007-03-19 03:26:41 UTC
(rev 12214)
@@ -10,6 +10,14 @@
*/
public class Config {
+ public static final int CONFIG_REQUEST_TYPE_CURRENT_SETTINGS = 1;
+ public static final int CONFIG_REQUEST_TYPE_DEFAULT_SETTINGS = 2;
+ public static final int CONFIG_REQUEST_TYPE_SORT_ORDER = 3;
+ public static final int CONFIG_REQUEST_TYPE_EXPERT_FLAG = 4;
+ public static final int CONFIG_REQUEST_TYPE_FORCE_WRITE_FLAG = 5;
+ public static final int CONFIG_REQUEST_TYPE_SHORT_DESCRIPTION = 6;
+ public static final int CONFIG_REQUEST_TYPE_LONG_DESCRIPTION = 7;
+
protected final LinkedHashMap configsByPrefix;
public Config() {
Modified: trunk/freenet/src/freenet/config/Option.java
===================================================================
--- trunk/freenet/src/freenet/config/Option.java 2007-03-18 21:59:05 UTC
(rev 12213)
+++ trunk/freenet/src/freenet/config/Option.java 2007-03-19 03:26:41 UTC
(rev 12214)
@@ -73,6 +73,14 @@
public boolean isExpert(){
return expert;
}
+
+ public boolean isForcedWrite(){
+ return forceWrite;
+ }
+
+ public int getSortOrder(){
+ return sortOrder;
+ }
/**
* Is this option set to the default?
Modified: trunk/freenet/src/freenet/config/SubConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/SubConfig.java 2007-03-18 21:59:05 UTC
(rev 12213)
+++ trunk/freenet/src/freenet/config/SubConfig.java 2007-03-19 03:26:41 UTC
(rev 12214)
@@ -193,24 +193,54 @@
}
public SimpleFieldSet exportFieldSet(boolean withDefaults) {
+ return
exportFieldSet(Config.CONFIG_REQUEST_TYPE_CURRENT_SETTINGS, withDefaults);
+ }
+
+ public SimpleFieldSet exportFieldSet(int configRequestType, boolean
withDefaults) {
SimpleFieldSet fs = new SimpleFieldSet(true);
Set entrySet = map.entrySet();
Iterator i = entrySet.iterator();
boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
if(logMINOR)
Logger.minor(this, "Prefix="+prefix);
+ String valueString;
while(i.hasNext()) {
Map.Entry entry = (Map.Entry) i.next();
String key = (String) entry.getKey();
Option o = (Option) entry.getValue();
// if(logMINOR)
// Logger.minor(this, "Key="+key+"
value="+o.getValueString()+" default="+o.isDefault());
- if((!withDefaults) && o.isDefault() && (!o.forceWrite))
{
+ if(configRequestType ==
Config.CONFIG_REQUEST_TYPE_CURRENT_SETTINGS && (!withDefaults) && o.isDefault()
&& (!o.forceWrite)) {
if(logMINOR)
Logger.minor(this, "Skipping "+key+" -
"+o.isDefault());
continue;
}
- fs.putSingle(key, o.getValueString());
+ switch (configRequestType) {
+ case
Config.CONFIG_REQUEST_TYPE_CURRENT_SETTINGS:
+ fs.putSingle(key, o.getValueString());
+ break;
+ case
Config.CONFIG_REQUEST_TYPE_DEFAULT_SETTINGS:
+ fs.putSingle(key, o.getDefault());
+ break;
+ case Config.CONFIG_REQUEST_TYPE_SORT_ORDER:
+ fs.put(key, o.getSortOrder());
+ break;
+ case Config.CONFIG_REQUEST_TYPE_EXPERT_FLAG:
+ fs.put(key, o.isExpert());
+ break;
+ case
Config.CONFIG_REQUEST_TYPE_FORCE_WRITE_FLAG:
+ fs.put(key, o.isForcedWrite());
+ break;
+ case
Config.CONFIG_REQUEST_TYPE_SHORT_DESCRIPTION:
+ fs.putSingle(key, o.getShortDesc());
+ break;
+ case
Config.CONFIG_REQUEST_TYPE_LONG_DESCRIPTION:
+ fs.putSingle(key, o.getLongDesc());
+ break;
+ default:
+ Logger.error(this, "Unknown config
request type value: "+configRequestType);
+ break;
+ }
if(logMINOR)
Logger.minor(this, "Key="+prefix+'.'+key+"
value="+o.getValueString());
}
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2007-03-18 21:59:05 UTC (rev
12213)
+++ trunk/freenet/src/freenet/node/Node.java 2007-03-19 03:26:41 UTC (rev
12214)
@@ -3129,7 +3129,7 @@
numberOfBursting++;
break;
default:
- Logger.error(this, "Unkown peer status value :
"+pns[i].getStatusValue());
+ Logger.error(this, "Unknown peer status value :
"+pns[i].getStatusValue());
break;
}
}