Пример #1
0
  /**
   * Insert a sample into the Samples database.
   *
   * @param conn
   * @param fingerprint
   * @return The sample ID of the inserted sample.
   * @throws SQLException
   */
  private static Integer insertSample(Connection conn, Fingerprint fingerprint)
      throws SQLException {
    PreparedStatement insertSample =
        conn.prepareStatement(insertSampleStr, Statement.RETURN_GENERATED_KEYS);
    int index = 1;
    insertSample.setString(index, fingerprint.getIpAddress());
    ++index;
    insertSample.setString(index, fingerprint.getUser_agent());
    ++index;
    insertSample.setString(index, fingerprint.getAccept_headers());
    ++index;
    insertSample.setString(index, fingerprint.getPlatform());
    ++index;
    insertSample.setString(index, fingerprint.getPlatformFlash());
    ++index;
    insertSample.setString(index, fingerprint.getPluginDetails());
    ++index;
    if (fingerprint.getTimeZone() != null) {
      insertSample.setInt(index, fingerprint.getTimeZone());
    } else {
      insertSample.setNull(index, java.sql.Types.INTEGER);
    }
    ++index;
    insertSample.setString(index, fingerprint.getScreenDetails());
    ++index;
    insertSample.setString(index, fingerprint.getScreenDetailsFlash());
    ++index;
    insertSample.setString(index, fingerprint.getLanguageFlash());
    ++index;
    insertSample.setString(index, fingerprint.getFonts());
    ++index;
    insertSample.setBoolean(index, fingerprint.isCookiesEnabled());
    ++index;
    insertSample.setString(index, fingerprint.getSuperCookie());
    ++index;
    insertSample.setString(index, fingerprint.getDoNotTrack());
    ++index;
    if (fingerprint.getClockDifference() != null) {
      insertSample.setLong(index, fingerprint.getClockDifference());
    } else {
      insertSample.setNull(index, java.sql.Types.BIGINT);
    }
    ++index;
    insertSample.setString(index, fingerprint.getDateTime());
    ++index;
    insertSample.setString(index, fingerprint.getMathTan());
    ++index;
    insertSample.setBoolean(index, fingerprint.isUsingTor());
    ++index;
    if (fingerprint.getAdsBlocked() != null) {
      insertSample.setBoolean(index, fingerprint.getAdsBlocked());
    } else {
      insertSample.setNull(index, java.sql.Types.BOOLEAN);
    }
    ++index;
    insertSample.setString(index, fingerprint.getCanvas());
    ++index;
    insertSample.setString(index, fingerprint.getWebGLVendor());
    ++index;
    insertSample.setString(index, fingerprint.getWebGLRenderer());

    insertSample.execute();

    ResultSet rs = insertSample.getGeneratedKeys();
    Integer sampleID = null;
    if (rs.next()) {
      sampleID = rs.getInt(1);
    }
    rs.close();
    insertSample.close();
    return sampleID;
  }