コード例 #1
0
  /** Returns <SCHEME-#Key> server ID */
  protected String createUniqueID(ServerInfo info) {
    String scheme = info.getScheme();

    synchronized (this.serverInfos) {
      for (int i = 0; i < 1000; i++) {
        String key = scheme.toUpperCase() + "-" + i;
        if (this.serverInfos.get(key) == null) {
          // debug(">>> New Server ID="+key);
          return key;
        }
      }
    }

    throw new Error("To much server configurations.");
  }
コード例 #2
0
  /** Update Actual ServerInfo ID */
  protected void updateServerInfoID(ServerInfo info) {
    synchronized (this.serverInfos) {
      // Check whether muliple user IDs are allowed!
      String userInf = "";

      if (info.getNeedUserinfo() || (StringUtil.isWhiteSpace(info.getUserinfo()) == false)) {
        // use explicit userinfo
        userInf = info.getUserinfo() + "@";
      }

      // Normalize capitals.

      String fixedID =
          userInf
              + info.getScheme().toUpperCase()
              + "-"
              + StringUtil.noNull(info.getHostname()).toUpperCase()
              + ":"
              + info.getPort();
      info.setID(fixedID);
    }
  }