Package freenet.support.api

Examples of freenet.support.api.StringCallback


  public int registerConfigs(SubConfig nodeConfig, int sortOrder) {
    // IP address override
    nodeConfig.register("ipAddressOverride", "", sortOrder++, true, false, "NodeIPDectector.ipOverride",
        "NodeIPDectector.ipOverrideLong",
        new StringCallback() {

      @Override
      public String get() {
        if(overrideIPAddressString == null) return "";
        else return overrideIPAddressString;
      }
     
      @Override
      public void set(String val) throws InvalidConfigValueException {
        boolean hadValidAddressOverride = hasValidAddressOverride();
        // FIXME do we need to tell anyone?
        if(val.length() == 0) {
          // Set to null
          overrideIPAddressString = val;
          overrideIPAddress = null;
          lastIPAddress = null;
          redetectAddress();
          return;
        }
        FreenetInetAddress addr;
        try {
          addr = new FreenetInetAddress(val, false, true);
        } catch (HostnameSyntaxException e) {
          throw new InvalidConfigValueException(l10n("unknownHostErrorInIPOverride", "error", "hostname or IP address syntax error"));
        } catch (UnknownHostException e) {
          throw new InvalidConfigValueException(l10n("unknownHostErrorInIPOverride", "error", e.getMessage()));
        }
        // Compare as IPs.
        if(addr.equals(overrideIPAddress)) return;
        overrideIPAddressString = val;
        overrideIPAddress = addr;
        lastIPAddress = null;
        synchronized(this) {
          hasValidAddressOverride = true;
        }
        if(!hadValidAddressOverride) {
          onGetValidAddressOverride();
        }
        redetectAddress();
      }
    });
   
    hasValidAddressOverride = true;
    overrideIPAddressString = nodeConfig.getString("ipAddressOverride");
    if(overrideIPAddressString.length() == 0)
      overrideIPAddress = null;
    else {
      try {
        overrideIPAddress = new FreenetInetAddress(overrideIPAddressString, false, true);
      } catch (HostnameSyntaxException e) {
        synchronized(this) {
          hasValidAddressOverride = false;
        }
        String msg = "Invalid IP override syntax: "+overrideIPAddressString+" in config: "+e.getMessage();
        Logger.error(this, msg);
        System.err.println(msg+" but starting up anyway, ignoring the configured IP override");
        overrideIPAddress = null;
      } catch (UnknownHostException e) {
        // **FIXME** This never happens for this reason with current FreenetInetAddress(String, boolean, boolean) code; perhaps it needs review?
        String msg = "Unknown host: "+overrideIPAddressString+" in config: "+e.getMessage();
        Logger.error(this, msg);
        System.err.println(msg+" but starting up anyway with no IP override");
        overrideIPAddress = null;
      }
    }
   
    // Temporary IP address hint
   
    nodeConfig.register("tempIPAddressHint", "", sortOrder++, true, false, "NodeIPDectector.tempAddressHint", "NodeIPDectector.tempAddressHintLong", new StringCallback() {

      @Override
      public String get() {
        return "";
      }
View Full Code Here


     
    boolean loggingEnabled = loggingConfig.getBoolean("enabled");
     
    loggingConfig.register("dirname", "logs", 2, true, false, "LogConfigHandler.dirName",
        "LogConfigHandler.dirNameLong",
        new StringCallback() {
          @Override
          public String get() {
            return logDir.getPath();
          }

          @Override
          public void set(String val) throws InvalidConfigValueException {
            File f = new File(val);
            if (f.equals(logDir)) return;
            preSetLogDir(f);
            // Still here
            if(fileLoggerHook == null) {
              logDir = f;
            } else {
              // Discard old data
              fileLoggerHook.switchBaseFilename(f.getPath()+File.separator+LOG_PREFIX);
              logDir = f;
              new Deleter(logDir).start();
            }
          }
        });
     
    logDir = new File(config.getString("dirname"));
    if (loggingEnabled) {
      preSetLogDir(logDir);
    }
    // => enableLogger must run preSetLogDir
   
    // max space used by zipped logs
     
    config.register("maxZippedLogsSize", "10M", 3, true, true, "LogConfigHandler.maxZippedLogsSize",
        "LogConfigHandler.maxZippedLogsSizeLong",
        new LongCallback() {
          @Override
          public Long get() {
            return maxZippedLogsSize;
          }
          @Override
          public void set(Long val) throws InvalidConfigValueException {
            if (val < 0)
                  val = 0L;
            maxZippedLogsSize = val;
            if (fileLoggerHook != null) {
              fileLoggerHook.setMaxOldLogsSize(val);
            }
          }
        }, true);
     
    maxZippedLogsSize = config.getLong("maxZippedLogsSize");
     
    // These two are forced below so we don't need to check them now
     
    // priority
     
    // Node must override this to minor on testnet.
    config.register("priority", "warning", 4, false, false, "LogConfigHandler.minLoggingPriority",
        "LogConfigHandler.minLoggingPriorityLong",
        new PriorityCallback());
     
    // detailed priority
     
    config.register("priorityDetail", "", 5, true, false, "LogConfigHandler.detaildPriorityThreshold",
        "LogConfigHandler.detaildPriorityThresholdLong",
        new StringCallback() {
          @Override
          public String get() {
            LoggerHookChain chain = Logger.getChain();
            return chain.getDetailedThresholds();
          }

          @Override
          public void set(String val) throws InvalidConfigValueException {
            LoggerHookChain chain = Logger.getChain();
            try {
              chain.setDetailedThresholds(val);
            } catch (InvalidThresholdException e) {
              throw new InvalidConfigValueException(e.getMessage());
            }
          }
        });
     
    // interval
     
    config.register("interval", "1HOUR", 5, true, false, "LogConfigHandler.rotationInterval",
        "LogConfigHandler.rotationIntervalLong",
        new StringCallback() {
          @Override
          public String get() {
            return logRotateInterval;
          }
View Full Code Here

   
    fproxyConfig.register("allowedHosts", "127.0.0.1,0:0:0:0:0:0:0:1", configItemOrder++, true, true, "SimpleToadletServer.allowedHosts", "SimpleToadletServer.allowedHostsLong",
        new FProxyAllowedHostsCallback());
    fproxyConfig.register("allowedHostsFullAccess", "127.0.0.1,0:0:0:0:0:0:0:1", configItemOrder++, true, true, "SimpleToadletServer.allowedFullAccess",
        "SimpleToadletServer.allowedFullAccessLong",
        new StringCallback() {

          @Override
          public String get() {
            return allowedFullAccess.getAllowedHosts();
          }
View Full Code Here

          }
        }
      });

    sslConfig.register("sslKeyStore", "datastore/certs", configItemOrder++, true, true, "SSL.keyStore", "SSL.keyStoreLong",
      new StringCallback() {

        @Override
        public String get() {
          return keyStore;
        }

        @Override
        public void set(String newKeyStore) throws InvalidConfigValueException {
          if(!newKeyStore.equals(get())) {
            String oldKeyStore = keyStore;
            keyStore = newKeyStore;
            try {
              loadKeyStore();
            } catch(Exception e) {
              keyStore = oldKeyStore;
              e.printStackTrace(System.out);
              throw new InvalidConfigValueException("Cannot change keystore file");
            }
          }
        }
      });

    sslConfig.register("sslKeyStorePass", "freenet", configItemOrder++, true, true, "SSL.keyStorePass", "SSL.keyStorePassLong",
      new StringCallback() {

        @Override
        public String get() {
          return keyStorePass;
        }

        @Override
        public void set(String newKeyStorePass) throws InvalidConfigValueException {
          if(!newKeyStorePass.equals(get())) {
            String oldKeyStorePass = keyStorePass;
            keyStorePass = newKeyStorePass;
            try {
              storeKeyStore();
            } catch(Exception e) {
              keyStorePass = oldKeyStorePass;
              e.printStackTrace(System.out);
              throw new InvalidConfigValueException("Cannot change keystore password");
            }
          }
        }
      });

    sslConfig.register("sslKeyPass", "freenet", configItemOrder++, true, true, "SSL.keyPass", "SSL.keyPassLong",
      new StringCallback() {

        @Override
        public String get() {
          return keyPass;
        }
View Full Code Here

public class ConfigurablePersister extends Persister {

  public ConfigurablePersister(Persistable t, SubConfig nodeConfig, String optionName,
      String defaultFilename, int sortOrder, boolean expert, boolean forceWrite, String shortDesc, String longDesc, Ticker ps, File baseDir) throws NodeInitException {
    super(t, ps);
    nodeConfig.register(optionName, new File(baseDir, defaultFilename).toString(), sortOrder, expert, forceWrite, shortDesc, longDesc, new StringCallback() {

      @Override
      public String get() {
        return persistTarget.toString();
      }
View Full Code Here

    this.securityLevels = new SecurityLevels(this, config);

    // Location of master key
    nodeConfig.register("masterKeyFile", "master.keys", sortOrder++, true, true, "Node.masterKeyFile", "Node.masterKeyFileLong",
      new StringCallback() {

        @Override
        public String get() {
          if(masterKeysFile == null) return "none";
          else return masterKeysFile.getPath();
View Full Code Here

TOP

Related Classes of freenet.support.api.StringCallback

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.