Author: toad
Date: 2008-02-05 01:17:50 +0000 (Tue, 05 Feb 2008)
New Revision: 17545

Modified:
   trunk/freenet/src/freenet/node/ConfigurablePersister.java
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeClientCore.java
   trunk/freenet/src/freenet/node/NodeStats.java
Log:
configurablepersister: filenames are relative to nodeDir - if they are relative 
to anything

Modified: trunk/freenet/src/freenet/node/ConfigurablePersister.java
===================================================================
--- trunk/freenet/src/freenet/node/ConfigurablePersister.java   2008-02-05 
00:57:46 UTC (rev 17544)
+++ trunk/freenet/src/freenet/node/ConfigurablePersister.java   2008-02-05 
01:17:50 UTC (rev 17545)
@@ -10,9 +10,12 @@

 public class ConfigurablePersister extends Persister {

+       private final File baseDir;
+       
        public ConfigurablePersister(Persistable t, SubConfig nodeConfig, 
String optionName, 
-                       String defaultFilename, int sortOrder, boolean expert, 
boolean forceWrite, String shortDesc, String longDesc, PacketSender ps) throws 
NodeInitException {
+                       String defaultFilename, int sortOrder, boolean expert, 
boolean forceWrite, String shortDesc, String longDesc, PacketSender ps, File 
baseDir) throws NodeInitException {
                super(t, ps);
+               this.baseDir = baseDir;
                nodeConfig.register(optionName, defaultFilename, sortOrder, 
expert, forceWrite, shortDesc, longDesc, new StringCallback() {

                        public String get() {
@@ -35,7 +38,10 @@

        private void setThrottles(String val) throws 
InvalidConfigValueException {
                File f = new File(val);
-               File tmp = new File(val+".tmp");
+               if(!f.isAbsolute()) {
+                       f = new File(baseDir, val);
+               }
+               File tmp = new File(f.toString()+".tmp");
                while(true) {
                        if(f.exists()) {
                                if(!(f.canRead() && f.canWrite()))

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2008-02-05 00:57:46 UTC (rev 
17544)
+++ trunk/freenet/src/freenet/node/Node.java    2008-02-05 01:17:50 UTC (rev 
17545)
@@ -1441,7 +1441,7 @@
                        oldThrottle.delete();
                }

-               nodeStats = new NodeStats(this, sortOrder, new 
SubConfig("node.load", config), oldThrottleFS, obwLimit, ibwLimit);
+               nodeStats = new NodeStats(this, sortOrder, new 
SubConfig("node.load", config), oldThrottleFS, obwLimit, ibwLimit, nodeDir);

                clientCore = new NodeClientCore(this, config, nodeConfig, 
nodeDir, getDarknetPortNumber(), sortOrder, oldThrottleFS == null ? null : 
oldThrottleFS.subset("RequestStarters"), oldConfig, fproxyConfig, toadlets);


Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java  2008-02-05 00:57:46 UTC 
(rev 17544)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java  2008-02-05 01:17:50 UTC 
(rev 17545)
@@ -134,7 +134,7 @@
                logMINOR = Logger.shouldLog(Logger.MINOR, this);

                persister = new ConfigurablePersister(this, nodeConfig, 
"clientThrottleFile", "client-throttle.dat", sortOrder++, true, false, 
-                               "NodeClientCore.fileForClientStats", 
"NodeClientCore.fileForClientStatsLong", node.ps);
+                               "NodeClientCore.fileForClientStats", 
"NodeClientCore.fileForClientStatsLong", node.ps, nodeDir);

                SimpleFieldSet throttleFS = persister.read();


Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java       2008-02-05 00:57:46 UTC 
(rev 17544)
+++ trunk/freenet/src/freenet/node/NodeStats.java       2008-02-05 01:17:50 UTC 
(rev 17545)
@@ -184,7 +184,7 @@
        /** PeerManagerUserAlert stats update interval (milliseconds) */
        private static final long peerManagerUserAlertStatsUpdateInterval = 
1000;  // 1 second

-       NodeStats(Node node, int sortOrder, SubConfig statsConfig, 
SimpleFieldSet oldThrottleFS, int obwLimit, int ibwLimit) throws 
NodeInitException {
+       NodeStats(Node node, int sortOrder, SubConfig statsConfig, 
SimpleFieldSet oldThrottleFS, int obwLimit, int ibwLimit, File nodeDir) throws 
NodeInitException {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.node = node;
                this.peers = node.peers;
@@ -284,7 +284,7 @@
                freeHeapPercentThreshold = 
statsConfig.getInt("freeHeapPercentThreshold");

                persister = new ConfigurablePersister(this, statsConfig, 
"nodeThrottleFile", "node-throttle.dat", sortOrder++, true, false, 
-                               "NodeStat.statsPersister", 
"NodeStat.statsPersisterLong", node.ps);
+                               "NodeStat.statsPersister", 
"NodeStat.statsPersisterLong", node.ps, nodeDir);

                SimpleFieldSet throttleFS = persister.read();



Reply via email to