@Override
 public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
   _executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("Upload-Monitor"));
   _monitoringInterval = UploadMonitoringInterval.value();
   _uploadOperationTimeout = UploadOperationTimeout.value() * 60 * 1000;
   _nodeId = ManagementServerNode.getManagementServerId();
   return true;
 }
  private void validateRemoteAccessVpnConfiguration() throws ConfigurationException {
    String ipRange = RemoteAccessVpnClientIpRange.value();
    if (ipRange == null) {
      s_logger.warn("Remote Access VPN global configuration missing client ip range -- ignoring");
      return;
    }
    Integer pskLength = _pskLength;
    if (pskLength != null && (pskLength < 8 || pskLength > 256)) {
      throw new ConfigurationException(
          "Remote Access VPN: IPSec preshared key length should be between 8 and 256");
    }

    String[] range = ipRange.split("-");
    if (range.length != 2) {
      throw new ConfigurationException("Remote Access VPN: Invalid ip range " + ipRange);
    }
    if (!NetUtils.isValidIp(range[0]) || !NetUtils.isValidIp(range[1])) {
      throw new ConfigurationException(
          "Remote Access VPN: Invalid ip in range specification " + ipRange);
    }
    if (!NetUtils.validIpRange(range[0], range[1])) {
      throw new ConfigurationException("Remote Access VPN: Invalid ip range " + ipRange);
    }
  }
 public static int getUploadOperationTimeout() {
   return UploadOperationTimeout.value();
 }
 public Long getReadTimeout() {
   return ldapReadTimeout.value();
 }