Author: nextgens
Date: 2006-05-06 11:40:33 +0000 (Sat, 06 May 2006)
New Revision: 8620
Added:
trunk/freenet/src/freenet/node/MeaningfulNodeNameUserAlert.java
Removed:
trunk/freenet/src/freenet/node/MeaningFulNodeNameUserAlert.java
Modified:
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/TextModeClientInterface.java
Log:
Better handling of the MeaningfulNameUserAlert user alert.
Deleted: trunk/freenet/src/freenet/node/MeaningFulNodeNameUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/MeaningFulNodeNameUserAlert.java
2006-05-06 10:54:28 UTC (rev 8619)
+++ trunk/freenet/src/freenet/node/MeaningFulNodeNameUserAlert.java
2006-05-06 11:40:33 UTC (rev 8620)
@@ -1,27 +0,0 @@
-package freenet.node;
-
-public class MeaningFulNodeNameUserAlert implements UserAlert {
-
- public boolean userCanDismiss() {
- return true;
- }
-
- public String getTitle() {
- return "Your node name isn't defined";
- }
-
- public String getText() {
- return "It seems that your node's name isn't defined. Setting "+
- "up a node name doesn't affect your anonymity in any way but "+
- "is usefull for your peers to know who you are in case they
have "+
- "to reach you.";
- }
-
- public short getPriorityClass() {
- return UserAlert.WARNING;
- }
-
- public boolean isValid() {
- return true;
- }
-}
Copied: trunk/freenet/src/freenet/node/MeaningfulNodeNameUserAlert.java (from
rev 8619, trunk/freenet/src/freenet/node/MeaningFulNodeNameUserAlert.java)
===================================================================
--- trunk/freenet/src/freenet/node/MeaningFulNodeNameUserAlert.java
2006-05-06 10:54:28 UTC (rev 8619)
+++ trunk/freenet/src/freenet/node/MeaningfulNodeNameUserAlert.java
2006-05-06 11:40:33 UTC (rev 8620)
@@ -0,0 +1,27 @@
+package freenet.node;
+
+public class MeaningfulNodeNameUserAlert implements UserAlert {
+
+ public boolean userCanDismiss() {
+ return true;
+ }
+
+ public String getTitle() {
+ return "Your node name isn't defined";
+ }
+
+ public String getText() {
+ return "It seems that your node's name isn't defined. Setting "+
+ "up a node name doesn't affect your anonymity in any way but "+
+ "is usefull for your peers to know who you are in case they
have "+
+ "to reach you.";
+ }
+
+ public short getPriorityClass() {
+ return UserAlert.WARNING;
+ }
+
+ public boolean isValid() {
+ return true;
+ }
+}
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2006-05-06 10:54:28 UTC (rev
8619)
+++ trunk/freenet/src/freenet/node/Node.java 2006-05-06 11:40:33 UTC (rev
8620)
@@ -104,8 +104,33 @@
public class Node {
private static IPUndetectedUserAlert primaryIPUndetectedAlert;
- private static MeaningFulNodeNameUserAlert nodeNameUserAlert;
+ private static MeaningfulNodeNameUserAlert nodeNameUserAlert;
+ public class NodeNameCallback implements StringCallback{
+ Node node;
+
+ NodeNameCallback(Node n) {
+ node=n;
+ }
+ public String get() {
+ if(myName.startsWith("Node created around")||
myName.startsWith("MyFirstFreenetNode")){
+ node.alerts.register(nodeNameUserAlert);
+ }else{
+ node.alerts.unregister(nodeNameUserAlert);
+ }
+ return myName;
+ }
+
+ public void set(String val) throws
InvalidConfigValueException {
+ myName = val;
+ if(myName.startsWith("Node created around")||
myName.startsWith("MyFirstFreenetNode")){
+ node.alerts.register(nodeNameUserAlert);
+ }else{
+ node.alerts.unregister(nodeNameUserAlert);
+ }
+ }
+ }
+
public class MyRequestThrottle implements BaseRequestThrottle {
private final BootstrappingDecayingRunningAverage
roundTripTime;
@@ -134,7 +159,7 @@
roundTripTime.report(Math.max(rtt, 10));
}
}
-
+
/** Config object for the whole node. */
public final Config config;
@@ -950,24 +975,11 @@
}
// Name
-
nodeConfig.register("name", myName, 11, false, "Node name for
darknet", "Node name; you may want to set this to something descriptive if
running on darknet e.g. Fred Blogg's Node; it is visible to any connecting
node",
- new StringCallback() {
- public String get() {
- return myName;
- }
-
- public void set(String val) throws
InvalidConfigValueException {
- myName = val;
- }
- });
+ new NodeNameCallback(this));
+ nodeNameUserAlert = new MeaningfulNodeNameUserAlert();
myName = nodeConfig.getString("name");
- nodeNameUserAlert = new MeaningFulNodeNameUserAlert();
- if(myName.startsWith("Node created around")||
myName.startsWith("MyFirstFreenetNode")){
- this.alerts.register(nodeNameUserAlert);
- }else{
- this.alerts.unregister(nodeNameUserAlert);
- }
+
nodeConfig.finishedInitialization();
writeNodeFile();
@@ -2066,17 +2078,6 @@
recentlyCompletedIDs.pop();
}
- public synchronized void setName(String key) {
- myName = key;
- writeNodeFile();
- if(key.startsWith("Node created around")||
key.startsWith("MyFirstFreenetNode")){
- this.alerts.register(nodeNameUserAlert);
- }else{
- this.alerts.unregister(nodeNameUserAlert);
- }
-
- }
-
public HighLevelSimpleClient makeClient(short prioClass) {
return new HighLevelSimpleClientImpl(this, archiveManager,
tempBucketFactory, random, !DONT_CACHE_LOCAL_REQUESTS, prioClass);
}
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-05-06
10:54:28 UTC (rev 8619)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-05-06
11:40:33 UTC (rev 8620)
@@ -27,6 +27,8 @@
import freenet.client.InsertBlock;
import freenet.client.InserterException;
import freenet.client.events.EventDumper;
+import freenet.config.Option;
+import freenet.config.SubConfig;
import freenet.crypt.RandomSource;
import freenet.io.comm.Peer;
import freenet.io.comm.PeerParseException;
@@ -564,7 +566,27 @@
while(key.length() > 0 && key.charAt(key.length()-1) == ' ')
key = key.substring(0, key.length()-2);
outsb.append("New name: "+key);
- n.setName(key);
+ SubConfig[] sc=n.config.getConfigs();
+
+ for(int i=0; i<sc.length ; i++){
+ Option[] o = sc[i].getOptions();
+ String prefix = new String(sc[i].getPrefix());
+ String configName;
+
+ for(int j=0; j<o.length; j++){
+ configName=o[j].getName();
+ // we look for node.name
+ if(prefix.equals("node") &&
configName.equals("name")){
+ Logger.minor(this, "Setting
"+prefix+"."+configName+" to "+key);
+ try{
+ o[j].setValue(key);
+ }catch(Exception e){
+ Logger.error(this,
"Error setting node's name");
+ }
+ }
+ }
+ }
+ n.config.store();
} else if(uline.startsWith("DISCONNECT:")) {
String ipAndPort = line.substring("DISCONNECT:".length());
disconnect(ipAndPort.trim());